Compare commits

..

7485 Commits
n1.2 ... n2.1.8

Author SHA1 Message Date
Michael Niedermayer
68f89b8264 Update for 2.1.8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-30 02:04:38 +02:00
Andreas Cadhalpun
e7cb5d41d1 nutdec: fix illegal count check in decode_main_header
The existing check has two problems:
 1) i + count can overflow, so that the check '< 256' returns true.
 2) In the (i == 'N') case occurs a j-- so that the loop runs once more.

This can trigger the assertion 'nut->header_len[0] == 0' or cause
segmentation faults or infinite hangs.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7c24ca1bda)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 23:22:47 +02:00
Andreas Cadhalpun
84981c8a87 nutdec: check chapter creation in decode_info_header
This fixes a segmentation fault when accessing the metadata.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 22:34:31 +02:00
Andreas Cadhalpun
ac323fa463 nutdec: check for negative frame rate in decode_info_header
A negative frame rate triggers an av_assert2 in av_rescale_rnd.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6621105877)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 20:55:23 +02:00
Michael Niedermayer
0397e998b3 ffmpeg: remove incorrect network deinit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e2877bdf38)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 16:11:00 +02:00
Andreas Cadhalpun
60201e27ef apedec: prevent out of array writes in decode_array_0000
s->decoded_buffer is allocated with a min_size of:
    2 * FFALIGN(blockstodecode, 8) * sizeof(*s->decoded_buffer)

Then it is assigned to s->decoded[0] (and s->decoded_buffer + FFALIGN(blockstodecode, 8)
to s->decoded[1]) and passed as out buffer to decode_array_0000.

In this function 64 elements of the out buffer are written
unconditionally and outside the array if blockstodecode is too small.

This causes memory corruption, leading to segmentation faults or other
crashes.

Thus change decode_array_0000 to write at most blockstodecode elements
of the out buffer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 699341d647)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 12:52:02 +02:00
Andreas Cadhalpun
be7dc34bcf apedec: set s->samples only when init_frame_decoder succeeded
Otherwise range_start_decoding is not necessarily run and thus
ctx->rc.range still 0 in range_dec_normalize leading to an infinite
loop.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 464c49155c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-28 03:32:29 +02:00
Michael Niedermayer
fb5f3241e4 tests/fate-run: do not attempt to parse tiny_psnrs output if it failed
This avoids confusing syntax errors with awk later

Likely fixes awk errors at:
http://buildd.debian-ports.org/status/fetch.php?pkg=ffmpeg&arch=sparc64&ver=7%3A2.6.2-1&stamp=1428928967

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Thanks-to: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> for the link
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c0d847e457)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 01:56:29 +02:00
Andreas Cadhalpun
3144044e01 alac: reject rice_limit 0 if compression is used
If rice_limit is 0, k can be 0 in decode_scalar, which calls show_bits(gb, k).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4b657a1b1e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-24 01:25:11 +02:00
Andreas Cadhalpun
89b83042a9 alsdec: only adapt order for positive max_order
For max_order = 0 the clipping range is invalid. (amin = 2, amax = 1)

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 58d605ee9b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 17:00:21 +02:00
Vittorio Giovara
bb95df33a0 lavf: Reset global flag on deinit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 32da94fa7f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 14:31:00 +02:00
Andreas Cadhalpun
3339bae219 mpeg4videodec: only allow a positive length
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b3408ae4c6)

Conflicts:

	libavcodec/mpeg4videodec.c
2015-04-22 17:40:55 +02:00
Andreas Cadhalpun
0b5405c443 alsdec: check sample pointer range in revert_channel_correlation
Also change the type of begin, end and smp to ptrdiff_t to make the
comparison well-defined.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit afc7748d1f)

Conflicts:

	libavcodec/alsdec.c
2015-04-22 12:27:25 +02:00
Michael Niedermayer
74e714f815 avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ba631b7914)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:25 +02:00
Andreas Cadhalpun
d18f8959b3 alsdec: validate time diff index
If begin is smaller than t, the subtraction 'begin -= t' wraps around,
because begin is unsigned. The same applies for end < t.

This causes segmentation faults.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit faf9fe2c22)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:25 +02:00
Michael Niedermayer
455bc87c8f avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7e104647a3)

Conflicts:

	libavcodec/alsdec.c
2015-04-22 12:27:25 +02:00
Andreas Cadhalpun
bfd65092a2 alsdec: ensure channel reordering is reversible
If the same idx is used for more than one i, at least one entry in
sconf->chan_pos remains uninitialized.

This can cause segmentation faults.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ef16501aeb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:25 +02:00
Andreas Cadhalpun
307c5cb9d4 ac3: validate end in ff_ac3_bit_alloc_calc_mask
This fixes an invalid read if end is 0:
     band_end   = ff_ac3_bin_to_band_tab[end-1] + 1;

Depending on what is before the array, this can cause stack smashing,
when band_end becomes too large.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bc4fee7f2a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:25 +02:00
Andreas Cadhalpun
49ff079f0c aacpsy: avoid psy_band->threshold becoming NaN
If band->thr is 0.0f, the division is undefined, making norm_fac not a
number or infinity, which causes psy_band->threshold to become NaN.

This is passed on to other variables until it finally reaches
sce->sf_idx and is converted to an integer (-2147483648).

This causes a segmentation fault when it is used as array index.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e224aa4191)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Andreas Cadhalpun
1317854136 aasc: return correct buffer size from aasc_decode_frame
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0be54ad280)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Andreas Cadhalpun
11752d17b8 aacdec: consistently use avctx for logging in decode_eld_specific_config
ac may be NULL and then accessing ac->avctx results in a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5b75689b98)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Andreas Cadhalpun
12e005f7e7 msrledec: use signed pixel_ptr in msrle_decode_pal4
This fixes segmentation faults, when pic->linesize[0] is negative.
In that case 'line * pic->linesize[0] + pixel_ptr' is treated as
unsigned and wraps around.

This reverts commit 7d78a964.
The problem was introduced in commit f7e1367f, which should obsolete
that commit.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ae6fd7300b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
38c8264d19 avcodec/aacdec: Fix storing state before PCE decode
Fixes Ticket4460

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Timothy Gu
a43f9e6895 tests: Fix test name for pixfmts tests(cherry picked from commit e1ee0521a6)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Timothy Gu
ba7ccddb82 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>
(cherry picked from commit cc0057a31c)
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
dcf23f1297 avcodec/h264_refs: Do not set reference to things which dont exist
Fixes deadlock
Fixes Ticket4428
Fixes Ticket4429

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
44d447f31c avutil/pca: Check for av_malloc* failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dadc43eee4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
99a6924983 avcodec/msrledec: restructure msrle_decode_pal4() based on the line number instead of the pixel pointer
Fixes out of array access
Fixes: da14e86d8462be6493eab16bc2d40f88/asan_heap-oob_204cfd2_528_cov_340150052_COMPRESS.BMP

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
09a5a754fe avcodec/hevc_ps: Check cropping parameters more correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 06c70d4537)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
5628a54062 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>
(cherry picked from commit 57e5812198)

Conflicts:

	libavcodec/hevc_ps.c
2015-04-22 12:27:24 +02:00
Anton Khirnov
e4f32ef806 hevc: make the crop sizes unsigned
(cherry picked from commit c929659bdd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
5da5e47a17 avcodec/dnxhddec: Check that the frame is interlaced before using cur_field
Fixes Ticket4227

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
5922e5a84e avformat/mov: Disallow ".." in dref unless use_absolute_path is set
as this kind of allows to circumvent it to some extend.
We also could add a separate parameter or value to choose this

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
f000df4ce2 avformat/mov: Check for string truncation in mov_open_dref()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8003816e16)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
88f2d31d4e avformat/mov: Use sizeof(filename) instead of a literal number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 21a53dd08d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Rainer Hochecker
eface550b9 hevc: delay ff_thread_finish_setup for hwaccel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 31816eae32)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Andreas Cadhalpun
2aa21e8d95 ffmdec: make sure the time base is valid
A negative time base can trigger assertions.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4c91d81be2)

Conflicts:

	libavformat/ffmdec.c
(cherry picked from commit 9678ceb6976ca8194848b24535785a298521211f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
95d9260177 avcodec/012v: redesign main loop
Fixes out of array accesses
Fixes: ffmpeg_012v_crash.ts

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Reviewed-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 48df30d36c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:24 +02:00
Michael Niedermayer
560b389538 avcodec/012v: Check dimensions more completely
Fixes division by 0

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d3b25383da)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Martin Storsjö
436f530a51 arm: Suppress tags about used cpu arch and extensions
When all the codepaths using manually set .arch/.fpu code is
behind runtime detection, the elf attributes should be suppressed.

This allows tools to know that the final built binary doesn't
strictly require these extensions.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit dcae2e32f7
and b77e335e44)
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 9841654c15)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Xiaohan Wang
0b25a4d253 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>
(cherry picked from commit 33301f0017)

Conflicts:

	libavformat/matroskadec.c
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
41dffa883a roqvideoenc: set enc->avctx in roq_encode_init
So far it is only set in roq_encode_frame, but it is used in
roq_encode_end to free the coded_frame. This currently segfaults if
roq_encode_frame is not called between roq_encode_init and
roq_encode_end.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cf82c426fa)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Michael Niedermayer
fa5ec2c354 avcodec/options_table: remove extradata_size from the AVOptions table
allowing access to the size but not the extradata itself is not useful
and could lead to potential problems if writing happens through this field

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1f4088b285)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
907d7d972a ffmdec: limit the backward seek to the last resync position
If resyncing leads to the same position as previously, it will again
lead to a resync attempt, resulting in an infinite loop.

Thus don't seek back beyond the last syncpoint.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6b8263b03a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
9a52cbdb00 ffmdec: fix infinite loop at EOF
If EOF is reached, while skipping bytes, avio_tell(pb) won't change
anymore, resulting in an infinite loop.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6fa98822eb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
61d5ec7c32 avformat/rm: limit packet size
The chunk size is limited to 0xFFFF (written by avio_wb16), so make
sure that the packet size is not too large.

Such large frames need to be split into slices smaller than 64 kB, but
that is currently supported neither by the rv10/rv20 encoders nor the rm
muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>

See Ticket244

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
3f5a283174 avcodec/webp: validate the distance prefix code
According to the WebP Lossless Bitstream Specification the highest
allowed value for a prefix code is 39.

If prefix_code is too large, the calculated extra_bits has an invalid
value and triggers an assertion in get_bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5de2dab12b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
66a1ed96bf avcodec/rv10: check size of s->mb_width * s->mb_height
If it doesn't fit into 12 bits it triggers an assertion.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2578a54618)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Federico Tomassetti
0b84dbeca9 mdec: check for out of bounds read
Bug-Id: CID 1257501
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 2c63081b48)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Vittorio Giovara
803db3b6fe aic: Fix decoding files with odd dimensions
Normally the aic decoder finds the proper slice combination (multiple of
some number less than 32) but in case of odd width, it resorts to the
default values, which were actually swapped.
The number of slices is modified to account for such odd width cases.

CC: libav-stable@libav.org
(cherry picked from commit e878ec0d47)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Michael Niedermayer
6e43bb2dc2 avcodec/tiff: move bpp check to after "end:"
This ensures that all current and future code-pathes get bpp checked

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Michael Niedermayer
3f30c49f7e avcodec/utils: Align YUV411 by as much as the other YUV variants
Fixes out of array accesses
Fixes: ffmpeg_mjpeg_crash2.avi

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Tested-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e3201c38d5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
dc2d15360c webp: ensure that each transform is only used once
According to the WebP Lossless Bitstream Specification
"each transform is allowed to be used only once".

If a transform is more than once this can lead to memory
corruption.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 12:27:23 +02:00
Andreas Cadhalpun
86c024ea9e avformat/flvenc: check that the codec_tag fits in the available bits
flags is later written with avio_w8 and if it doesn't fit in one byte it
triggers an av_assert2.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:00:55 +01:00
Michael Niedermayer
0b0a8cd133 swscale/utils: clear formatConvBuffer on allocation
Fixes use of uninitialized memory
Fixes: asan_heap-oob_35ca682_1474_cov_3230122439_aletrek_tga_16bit.mov

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 03:34:27 +01:00
Michael Niedermayer
dfc3cd73ff avcodec/mjpegdec: Skip blocks which are outside the visible area
Fixes out of array accesses
Fixes: ffmpeg_mjpeg_crash.avi

Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 08509c8f86)

Conflicts:

	libavcodec/mjpegdec.c
(cherry picked from commit 0861bb66d7c281c92a0746167bb141735a660856)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 23:35:26 +01:00
Andreas Cadhalpun
8a9d5a8140 avformat/bit: only accept the g729 codec and 1 channel
Other codecs/channel numbers are not supported by this muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d0b8640f75)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 23:28:01 +01:00
Andreas Cadhalpun
81196b6d60 avformat/bit: check that pkt->size is 10 in write_packet
Ohter packet sizes are not supported by this muxer.

This avoids a null pointer dereference of pkt->data.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit eeda2c3de8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 23:27:12 +01:00
Andreas Cadhalpun
cd74b344c2 avformat/adxdec: check avctx->channels for invalid values
This avoids a null pointer dereference of pkt->data.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7faa40af98)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 21:02:13 +01:00
Dyami Caliri
b49f8de4ec Fix buffer_size argument to init_put_bits() in multiple encoders.
Several encoders were multiplying the buffer size by 8, in order to get
a bit size. However, the buffer_size argument is for the byte size of
the buffer. We had experienced crashes encoding prores (Anatoliy) at
size 4096x4096.
(cherry picked from commit 50833c9f7b)

Conflicts:

	libavcodec/proresenc_kostya.c
2015-02-26 20:49:50 +01:00
James Cowgill
11141fb9ff mips/acelp_filters: fix incorrect register constraint
Change register constraint on the v variable from = to +. This was causing GCC
to think that the v variable was never read and therefore not initialize it.

This fixes about 20 fate failures on mips64el.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b9de1303a6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 19:48:30 +01:00
Michael Niedermayer
c417b7b566 avcodec/hevc_ps: Sanity checks for some log2_* values
log2 values which imply numeric overflow are not supported

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 17:47:22 +01:00
Michael Niedermayer
41ca0489ba avcodec/zmbv: Check len before reading in decode_frame()
Fixes out of array read
Fixes: asan_heap-oob_4d4eb0_3994_cov_3169972261_zmbv_15bit.avi

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 12:42:50 +01:00
Michael Niedermayer
232b1f83de avcodec/h264: Only reinit quant tables if a new PPS is allowed
Fixes null pointer dereference
Fixes: signal_sigsegv_3042097_3007_cov_1741463594_non_monotone_timestamps1.mkv

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

Conflicts:

	libavcodec/h264_slice.c
2015-02-25 03:42:31 +01:00
Michael Niedermayer
7afb16c9a1 avcodec/snowdec: Fix ref value check
Fixes integer overflow and out of array read.
Fixes: signal_sigsegv_24169e6_3445_cov_3778346427_snow_chroma_bug.avi

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 03:37:42 +01:00
Michael Niedermayer
a79e5c994c swscale/utils: More carefully merge and clear coefficients outside the input
Fixes out of array read
Fixes: asan_heap-oob_35ca682_1474_cov_3230122439_aletrek_tga_16bit.mov

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 03:35:20 +01:00
Andreas Cadhalpun
1a8f9f0e58 avcodec/a64multienc: fix use of uninitialized values in to_meta_with_crop
Averaging over 2 pixels doesn't work correctly for the last pixel, because the
rest of the buffer is not initialized.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 13:47:55 +01:00
Michael Niedermayer
91ced1608c avcodec/a64multienc: don't set incorrect packet size
This fixes invalid reads of the packet buffer in av_dup_packet

Based on patch by Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>

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

Conflicts:

	libavcodec/a64multienc.c
2015-02-23 13:46:51 +01:00
Andreas Cadhalpun
d0da72ebb0 avcodec/a64multienc: use av_frame_ref instead of copying the frame
This fixes freeing the frame buffer twice on cleanup leading to a crash.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 13:35:08 +01:00
Michael Niedermayer
b62a3478e9 avcodec/x86/mlpdsp_init: Simplify mlp_filter_channel_x86()
Based on patch by Francisco Blas Izquierdo Riera
Commit message partly taken from carl

fixes a compilation
error in mlpdsp_init.c with -fstack-check and some gcc compilers (I
reproduced the issue with gcc 4.7.3) by simplifying the code.

See also https://bugs.gentoo.org/show_bug.cgi?id=471756

$ make libavcodec/x86/mlpdsp_init.o
libavcodec/x86/mlpdsp_init.c: In function ‘mlp_filter_channel_x86’:
libavcodec/x86/mlpdsp_init.c:142:5: error: can’t find a register in
class ‘GENERAL_REGS’ while reloading ‘asm’
libavcodec/x86/mlpdsp_init.c:142:5: error: ‘asm’ operand has impossible
constraints

4551 -> 4509 dezicycles

Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 03f39fbb2a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 16:13:43 +01:00
Anton Khirnov
d005972995 h264: initialize H264Context.avctx in init_thread_copy
This prevents using a wrong (first thread's) AVCodecContext if decoding
a frame in the first pass over all threads fails.
(cherry picked from commit a06b0b1295)

Conflicts:

	libavcodec/h264.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:01:01 +01:00
Michael Niedermayer
94ebfef2fb avformat/omadec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0f55bc29d4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:14:32 +01:00
Michael Niedermayer
f8b6ba5574 avformat/vqf: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cb08687180)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:14:15 +01:00
Michael Niedermayer
3b17f32ec3 avformat/mvdec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 26c0cc154e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:49:51 +01:00
Michael Niedermayer
1480d9b3d3 avformat/gxf: Use 64bit for res to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 12987f8900)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:30:26 +01:00
Michael Niedermayer
1aea2213a6 avformat/idcin: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d1923d15a3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:30:11 +01:00
Michael Niedermayer
6ab48096f5 avcodec/h264_slice: ignore SAR changes in slices after the first
Fixes race condition and null pointer dereference
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	libavcodec/h264_slice.c
2015-02-07 14:17:54 +01:00
Michael Niedermayer
6c67cc2ad1 avcodec/h264_slice: Check picture structure before setting the related fields
This might fix a hypothetical race condition

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	libavcodec/h264_slice.c
2015-02-07 14:17:53 +01:00
Michael Niedermayer
cab9306040 avcodec/h264_slice: Do not change frame_num after the first slice
Fixes potential race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	libavcodec/h264_slice.c
2015-02-07 14:17:52 +01:00
Michael Niedermayer
01e2e746ba avcodec/h264: Be more strict on rejecting pps/sps changes
Fixes race condition
Fixes: signal_sigsegv_1472ac3_468_cov_2915641226_CABACI3_Sony_B.jsv

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

Conflicts:

	libavcodec/h264.c
2015-02-06 15:50:12 +01:00
Michael Niedermayer
17ecc8a771 avcodec/h264_ps: More completely check the bit depths
Fixes out of array read
Fixes: asan_static-oob_30328b6_719_cov_3325483287_H264_artifacts_motion.h264

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

Conflicts:

	libavcodec/h264_ps.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 04:41:12 +01:00
Michael Niedermayer
07a55344e6 avformat/thp: Check av_get_packet() for failure not only for partial output
Fixes null pointer dereference
Fixes: signal_sigsegv_db2c1f_3108_cov_163322880_pikmin2_opening1_partial.thp

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 04:30:36 +01:00
Michael Niedermayer
813054c4bd swscale/utils: Limit filter shifting so as not to read from prior the array
Fixes out of array read
Fixes: asan_heap-oob_1fb2f9b_3780_cov_3984375136_usf.mkv

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 00:42:45 +01:00
Michael Niedermayer
b844584c10 avcodec/mjpegdec: Check escape sequence validity
Fixes assertion failure
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 21:27:28 +01:00
Michael Niedermayer
a6ba4c1116 avcodec/mjpegdec: Check number of components for JPEG-LS
Fixes out of array accesses
Fixes: asan_heap-oob_1c1a4ea_1242_cov_2274415971_TESTcmyk.jpg

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

Conflicts:

	libavcodec/mjpegdec.c
2015-02-04 21:27:25 +01:00
Michael Niedermayer
af0544ca3d avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 05e1619529)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 15:08:32 +01:00
wm4
55b75ece70 avformat/mpc8: fix broken pointer math
This could overflow and crash at least on 32 bit systems.

Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b737a2c528)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:05:26 +01:00
wm4
28f303542e avformat/mpc8: fix hang with fuzzed file
This can lead to an endless loop by seeking back a few bytes after each
attempted chunk read. Assuming negative sizes are always invalid, this
is easy to fix. Other code in this demuxer treats negative sizes as
invalid as well.

Fixes ticket #4262.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:48:43 +01:00
wm4
6e7f183ae6 avformat/tta: fix crash with corrupted files
av_add_index_entry() can fail, for example because the parameters are
invalid, or because memory allocation fails. Check this; it can actually
happen with corrupted files.

The second hunk is just for robustness. Just in case functions like
ff_reduce_index() remove entries. (Not sure if this can actually
happen.)

Fixes ticket #4294.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6a0cd529a3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 16:18:19 +01:00
Michael Niedermayer
37723e0d0c avcodec/mpegvideo_enc: Fix number suffixes in rc_buffer_size calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4531e2c489)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:33:38 +01:00
Michael Niedermayer
5feffd6268 avcodec/h264_cabac: use int instead of long for mbb_xy
The mb address fits in int

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:32:55 +01:00
Michael Niedermayer
6862970dbf avformat/omadec: fix number suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f1f7f5903a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:32:13 +01:00
Michael Niedermayer
633ce6baaa avformat/smacker: Fix number suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 465f3705b1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:23:30 +01:00
Michael Niedermayer
201d626bb9 avformat/matroskadec: Fix number suffixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fc3cdb00d0)

Conflicts:

	libavformat/matroskadec.c
2015-02-01 20:22:17 +01:00
Michael Niedermayer
364bdddaad swresample/dither: Cleanup number suffixes
The <<31 case needs LL

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:17:26 +01:00
Michael Niedermayer
e651a2f88c avformat/utils: Fix number suffixes in tb_unreliable()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4b15bba2ae)

Conflicts:

	libavformat/utils.c
2015-02-01 20:15:22 +01:00
Michael Niedermayer
7c54f14168 avformat/rmdec: Check for overflow in ff_rm_read_mdpr_codecdata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 03abf55f25)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 00:27:57 +01:00
Vittorio Giovara
d00e2fa284 swscale: check memory allocations
Bug-Id: CID 1257779
(cherry picked from commit 1dd797e3c9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 22:49:55 +01:00
Michael Niedermayer
9d156e24d7 avcodec/flac_parser: fix handling EOF if no headers are found
Fixes assertion failure
Fixes Ticket4269

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 02:13:04 +01:00
Michael Niedermayer
ccca7ae8c6 ffmpeg: Clear error message array at init.
This avoids printing uninitialized bytes if no error message is set

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 23:10:54 +01:00
wm4
5a98a00001 avcodec/dvdsubdec: fix accessing dangling pointers
dvdsub_decode() can call append_to_cached_buf() 2 times, the second time
with ctx->buf as argument. If the second append_to_cached_buf() reallocs
ctx->buf, the argument will be a pointer to the previous, freed block.
This can cause invalid reads at least with some fuzzed files - and
possibly with valid files.

Since packets can apparently not be larger than 64K (even if packets are
combined), just use a fixed size buffer. It will be allocated as part of
the DVDSubContext, and although some memory is "wasted", it's relatively
minimal by modern standards and should be acceptable.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 18:04:36 +01:00
wm4
f04b323a46 avcodec/dvdsubdec: error on bitmaps with size 0
Attemtping to decode them could lead to invalid writes with some fuzzed
samples.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 02:11:24 +01:00
Johan Andersson
e4fddd18e7 cmdutils: update copyright year to 2015.
(cherry picked from commit 3e16065221)

Conflicts:

	cmdutils.c
2015-01-06 20:42:05 +01:00
Michael Niedermayer
36ac584548 avformat/mov: Fix mixed declaration and statement warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit db27f50e06)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 20:37:57 +01:00
Michael Niedermayer
fa0194e9ca avformat/utils: Clear pointer in ff_alloc_extradata() to avoid leaving a stale pointer in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bbfca8e84b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 16:10:46 +01:00
Michael Niedermayer
83700aced1 avformat/matroskadec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6e70e4aca5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 16:09:32 +01:00
Paul B Mahol
ac1905cd5b lavfi: check av_strdup() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit 145a84717b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 16:08:29 +01:00
Dale Curtis
13d4d8a9c6 mov: Fix negative size calculation in mov_read_default().
The previous code assumed if an atom was marked with a 64-bit
size extension, it actually had that data available. The new
code verfies there's enough data in the atom for this to be
done.

Failure to verify causes total_size > atom.size which will
result in negative size calculations later on.

Found-by: Paul Mehta <paul@paulmehta.com>
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3ebd76a9c5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 05:49:08 +01:00
Michael Niedermayer
71d0cfff15 avformat/mov: fix integer overflow in mov_read_udta_string()
Found-by: Paul Mehta <paul@paulmehta.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3859868c75)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 05:49:07 +01:00
Dale Curtis
6832b1fde7 mov: Avoid overflow with mov_metadata_raw()
The code previously added 1 to len without checking its size,
resulting in an overflow which can corrupt value[-1] -- which
may be used to store unaligned ptr information for certain
allocators.

Found-by: Paul Mehta <paul@paulmehta.com>
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 04:21:06 +01:00
wm4
0bdbf1aba3 avcodec/dvdsubdec: fix out of bounds accesses
The code blindly trusted buffer offsets read from the file in the RLE
decoder. Explicitly check the offset. Also error out on other RLE
decoding errors.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 05:13:20 +01:00
Michael Niedermayer
19475c0d74 avfilter/vf_sab: fix filtering tiny images
Fixes out of array reads

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 05:12:34 +01:00
Michael Niedermayer
bfdf15943d avformat/flvdec: Increase string array size
Fixes parsing httphostheader of Scarlatti\,\ Pieter-Jan\ Belder\ -\ Sonata\ K113\ in\ A\ major\ -\ Alle.flv

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 18:37:57 +01:00
Michael Niedermayer
fbc998ce3f avformat/flvdec: do not inject dts=0 metadata packets which failed to be parsed into a new data stream
Such data streams (which then contain no other packets except the faulty one)
confuse some user applications, like VLC
Works around vlcticket 12389

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

Conflicts:

	libavformat/flvdec.c
2015-01-01 18:37:56 +01:00
Michael Niedermayer
41802887eb avformat/cdxl: Fix integer overflow of image_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3eb5cbe0c5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 22:39:31 +01:00
Michael Niedermayer
c27539cd1e Update for 2.1.7 2014-12-30 16:16:23 +01:00
Stefano Sabatini
67e2394cc6 lavf/segment: remove duplicated and inconsistent cleanup code in seg_write_packet()
In particular, avoid to leave around the seg->avf pointer to freed
structure, and fix crash with:
ffmpeg -f lavfi -i testsrc -c:v h264 -map 0 -f segment foo-%d.ts
(cherry picked from commit 169065fbfb)

Found-by: Qinghao Tang
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:21 +01:00
Michael Niedermayer
a736171b69 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>
(cherry picked from commit 1b5d112406)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:21 +01:00
Anton Khirnov
823a9177a3 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
(cherry picked from commit b0273232d8fffdc8a977ccdad460b8071a0e353c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:21 +01:00
Anton Khirnov
01c83f4cb1 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
(cherry picked from commit e012cb8dea7969c7b3927dbf846ef2742cd4a7ab)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:21 +01:00
Michael Niedermayer
d3853ad11f 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-30 15:38:21 +01:00
Michael Niedermayer
b188ff5e18 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-30 15:38:21 +01:00
Michael Niedermayer
7bd8ea83a0 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-30 15:38:21 +01:00
Michael Niedermayer
84bc2cea23 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)

Conflicts:

	libavcodec/h264.c
2014-12-30 15:38:20 +01:00
Michael Niedermayer
9dc6a7f13a 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-30 15:38:20 +01:00
Michael Niedermayer
35819400e7 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-30 15:38:20 +01:00
Michael Niedermayer
ac499d8142 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-30 15:38:20 +01:00
Michael Niedermayer
9354c47d2e 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>
2014-12-30 15:38:20 +01:00
Michael Niedermayer
07a37001a3 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)

Conflicts:

	libavformat/isom.h

Conflicts:

	libavformat/isom.h
2014-12-30 15:38:20 +01:00
Michael Niedermayer
ba99e90357 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-30 15:38:20 +01:00
Michael Niedermayer
96981b092c 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-30 15:38:20 +01:00
Michael Niedermayer
b4c4f9dba6 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-30 15:38:20 +01:00
wm4
df1ea139b4 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-30 15:38:20 +01:00
Michael Niedermayer
844f7f78aa 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-30 15:38:20 +01:00
Rob Sykes
059762d9da 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-30 15:38:20 +01:00
wm4
68b6a5efbf 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-30 15:38:20 +01:00
Michael Niedermayer
56c5e009a1 swscale/x86/rgb2rgb_template: fix crash with tiny size and nv12 output
Fixes Ticket4151

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:20 +01:00
Michael Niedermayer
80ba4b5d45 avformat/rmdec: Check codec_data_size
Fixes infinite loop
Fixes Ticket4154

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:20 +01:00
Michael Niedermayer
8240fa5701 avcodec/motion_est: use 2x8x8 for interlaced qpel
Fixes out of array read
Fixes Ticket4121

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:20 +01:00
Michael Stypa
bf5df31b4f fix Makefile objects for pulseaudio support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cb58c771ad)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:38:20 +01:00
Clément Bœsch
ea1d0bc029 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:03:05 -03:00
Michael Niedermayer
27172a5ca3 Update for 2.1.6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 20:04:28 +01:00
Michael Niedermayer
e4f0f854c4 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>
(cherry picked from commit 075a165d27)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:19 +01:00
Michael Niedermayer
35cfb99c15 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>
(cherry picked from commit ea38e5a6b7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:12 +01:00
Michael Niedermayer
6212758c07 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>
(cherry picked from commit 1d3a3b9f89)

Conflicts:

	libavcodec/rawdec.c
2014-11-28 18:53:12 +01:00
Michael Niedermayer
ef8fbb4878 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>
(cherry picked from commit 79ceaf827b)

Conflicts:

	libavcodec/pngdec.c
2014-11-28 18:53:11 +01:00
Michael Niedermayer
431d66b1d5 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>
(cherry picked from commit e5c01ccdf5)

Conflicts:

	libavcodec/flacdec.c
2014-11-28 18:53:11 +01:00
Michael Niedermayer
126ee72e47 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>
(cherry picked from commit 3d5d95db3f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
b4ce4f94e7 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>
(cherry picked from commit 0eecf40935)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
51c32a535b 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>
(cherry picked from commit 4388e78a0f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
c4034e4e19 avformat/hlsenc: Free context after hls_append_segment
Fixes reading uninitialized memory

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

Conflicts:

	libavformat/hlsenc.c
(cherry picked from commit 0ac22f043bee2f1c4daf5e1044b014326325d929)

Conflicts:

	libavformat/hlsenc.c
(cherry picked from commit 134d3e1c0331462ea94c78a5e13a63b20d283653)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
d3e19509cf 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>
(cherry picked from commit 5dcb99033d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
58e673b9a3 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>
(cherry picked from commit 7656c4c6e6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
de259f32ac 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>
(cherry picked from commit 206c98f303)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Carl Eugen Hoyos
1987afe5a0 lavc/utils: Make pix_fmt desc pointer const.
Fixes an "initialization discards qualifiers from pointer target type" warning.
(cherry picked from commit f05855414e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
4352a971af avcodec/h264_slice: Clear table pointers to avoid stale pointers
Might fix Ticket3889

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

Conflicts:

	libavcodec/h264_slice.c
2014-11-28 18:53:11 +01:00
Michael Niedermayer
bc0a6add0a 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>
(cherry picked from commit e91ba2efa9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
3467dfed6b 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>
(cherry picked from commit 10e32618ac)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
ffd5ccee5d 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>
(cherry picked from commit 32e666c354)

Conflicts:

	libavcodec/g2meet.c
2014-11-28 18:53:11 +01:00
Michael Niedermayer
a4b6d5574f 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>
(cherry picked from commit df74811cd5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
a2619a0a36 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>
(cherry picked from commit f3c0e0bf6f)

Conflicts:

	libavcodec/dnxhddec.c
2014-11-28 18:53:11 +01:00
Michael Niedermayer
8c5c45b9e1 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>
(cherry picked from commit e70312dfc2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
dc2f4b7267 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>
(cherry picked from commit 39680cacee)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
824f29e4fb 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>
(cherry picked from commit 5145d22b88)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
917946e1c9 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>
(cherry picked from commit 526886e606)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:11 +01:00
Michael Niedermayer
95fa91d975 postproc: fix qp count
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0b7e5d0d75)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:10 +01:00
Michael Niedermayer
a90ed80d05 postproc/postprocess: fix quant store for fq mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 941aaa39e8)

Conflicts:

	tests/ref/fate/filter-pp3
(cherry picked from commit 705748caf3f6a4a3e74ad3d2fc547a5a0213a521)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:10 +01:00
Christophe Gisquet
3fd2ff1b4f 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>
(cherry picked from commit cb530dda7d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:10 +01:00
Michael Niedermayer
11313263ab swresample/swresample: fix sample drop loop end condition
Fixes Ticket3985

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:10 +01:00
Michael Niedermayer
f335275c50 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>
(cherry picked from commit 9734a7a1de)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:10 +01:00
Michael Niedermayer
ea61dfe0ab 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>
(cherry picked from commit c3d7f00ee3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:10 +01:00
Michael Niedermayer
21808e2181 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>
(cherry picked from commit 8c50704ebf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:53:10 +01:00
Michael Niedermayer
bf2605c356 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>
(cherry picked from commit c727401aa9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
c10c71452f 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>
(cherry picked from commit dd3bfe3cc1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
05d7e92e4f 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>
(cherry picked from commit 8f1457864b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
96357894ff 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>
(cherry picked from commit e7e5114c50)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
4841b2759f avcodec/pngdec: Calculate MPNG bytewidth more defensively
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e830902934)

Conflicts:

	libavcodec/pngdec.c
2014-11-28 18:44:38 +01:00
Michael Niedermayer
5d852f338d 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>
(cherry picked from commit 3e2b745020)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
ceb9d67a0a 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>
(cherry picked from commit e1c0cfaa41)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
ce9d497755 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>
(cherry picked from commit 8b0e96e1f2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
b5298c464f 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>
(cherry picked from commit 105654e376)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
9ec550c364 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>
(cherry picked from commit 5c378d6a6d)

Conflicts:

	libavcodec/mjpegdec.c
2014-11-28 18:44:38 +01:00
Michael Niedermayer
23a22b0da9 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>
(cherry picked from commit 06e7d58410)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Reimar Döffinger
d61a325a68 configure: add noexecstack to linker options if supported.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
(cherry picked from commit b7082d953f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Michael Niedermayer
c658f6c34d avcodec/ac3enc_template: fix out of array read
Found-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d85ebea3f3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
lvqcl
8dd6075a7f avutil/x86/cpu: fix cpuid sub-leaf selection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e58fc44649)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:38 +01:00
Philip DeCamp
9c61b44941 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>
(cherry picked from commit 857fc0a71f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Benoit Fouet
dc319a52f9 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>
(cherry picked from commit 6843b9dc78)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Pascal Massimino
77367f2728 avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e5b3112996)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Gianluigi Tiesi
34ef754854 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>
(cherry picked from commit 59af5383c1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
James Almer
84487650e2 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>
(cherry picked from commit 9e0e1f9067)

Conflicts:

	libavcodec/ra144enc.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Pascal Massimino
5ecc4a644a 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
(cherry picked from commit 4fd21d58a7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Katerina Barone-Adesi
36ec1c2c55 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>
(cherry picked from commit c5560e72d0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
5e4a821b8a 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>
(cherry picked from commit 4a99134f1a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
5bd45a1b27 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>
(cherry picked from commit 7c1835c52a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
cd190f0c3f avcodec/mpegvideo: Set err on failure in ff_mpv_common_frame_size_change()
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cfce6f7efd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
31f5d5f690 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>
(cherry picked from commit 0d0f7f0ba4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
7644b29222 avcodec/mpegvideo: Use "goto fail" for all error paths in ff_mpv_common_frame_size_change()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2762323c37)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
f7086be79a avcodec/h264: Allow partial escaping
Fixes Ticket3923

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
72f0d13802 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>
(cherry picked from commit c2430304df)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
255ebf3aff 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>
(cherry picked from commit 1c55d0ff32)

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Mika Raento
cb10e05ff0 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>
(cherry picked from commit 58e0402e02)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
wm4
17f30ab6a1 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>
(cherry picked from commit b173f5c155)

Conflicts:

	libavformat/oggdec.c
(cherry picked from commit a82401b7284e05e2cf6fb89aeed53738af06a7fd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
8c8950f982 avcodec/snow: check coeffs for validity
Fixes deadlock
Fixes integer overflow
Fixes Ticket 3892

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Timothy Gu
0f8863df86 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>
(cherry picked from commit 25cb697d0c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
cb8f645faf avcodec/utils: add GBRP16 to avcodec_align_dimensions2()
Fixes Ticket3869

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
6ab793c2b9 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>
(cherry picked from commit fccd85b9f3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Christophe Gisquet
80b6632b36 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>
(cherry picked from commit 2ba58bec20)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Christophe Gisquet
656bf0ca79 wavpack: report if there is no bits left
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 11a39bdf53)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Christophe Gisquet
407982b8f9 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>
(cherry picked from commit 117bc8e6ff)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Christophe Gisquet
92096acc0a 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>
(cherry picked from commit 52b81ff463)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Christophe Gisquet
e1ed566c1c proresenc_kostya: remove unneeded parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bf10f09bcc)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
c9da441eb4 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>
(cherry picked from commit 9a162146ca)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
f405267493 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>
(cherry picked from commit 3539d6c63a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Anton Khirnov
f7ed48938a 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
(cherry picked from commit c7d9b473e2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
150ae7692e 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>
(cherry picked from commit 1d8d21b90a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:37 +01:00
Michael Niedermayer
7d69132775 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>
(cherry picked from commit e706fe7640)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:36 +01:00
Michael Niedermayer
72149fcb1b avformat/tee: flip assigment direction
Found-by: CSA
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2e6fdcb7f3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:36 +01:00
Michael Niedermayer
ded44bda27 ffmpeg_opt: Use av_guess_codec() instead of AVOutputFormat->*codec
Fixes part of ticket2236

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:36 +01:00
Michael Niedermayer
384be84bbe avcodec/dvdsub_parser: print message if packet is smaller than the packet size field
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bcc898dd26)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:36 +01:00
Michael Niedermayer
f99675627d avcodec/dvdsub_parser: Check buf_size before reading 32bit packet size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 81c1657a59)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:36 +01:00
Michael Niedermayer
d5eca1651f 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>
(cherry picked from commit cfdb30d2f1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:36 +01:00
Anshul Maheswhwari
712b8e7128 v4l2enc: adding AVClass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fcb11ec291)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-28 18:44:36 +01:00
Michael Niedermayer
2d0b2db27e avformat/avidec: fix handling dv in avi
Fixes Ticket4086

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f0ae0354d3)
2014-11-21 10:23:35 +01:00
James Almer
fc82ba06ee avformat/oggparseopus: Check opus_duration() return value
Regression since 39d11d599c

os->pduration would be wrongly assigned a negative value on invalid packets
instead of aborting.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c619e14c31)
2014-09-11 19:37:05 -03:00
Michael Niedermayer
64908f70e4 avformat/oggparseopus: calculate pts/dts for initial packets after seeking
based on code from oggparsevorbis
Fixes Ticket3124
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7f39352a1b)

Fixes ticket #3943.
2014-09-11 23:50:35 +02:00
Michael Niedermayer
6f6b1d0ddb avformat/oggparseopus: factor opus_duration() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 39d11d599c)
2014-09-11 23:50:05 +02:00
Alessandro Ghedini
aa09543659 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>
(cherry picked from commit cdf6eb5a97)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 10:51:53 +02:00
Michael Niedermayer
eb1e5cf818 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>
(cherry picked from commit 88f038ac97)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 16:00:25 +02:00
Michael Niedermayer
b7638af942 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>
(cherry picked from commit 880dbe43ca)

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 22:19:27 +02:00
Michael Niedermayer
0bb71a85c3 avcodec/hevc_ps: prevent stale pointer in malloc failure case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0fc2045d5f)

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 22:19:25 +02:00
Michael Niedermayer
5302fa522b 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>
(cherry picked from commit ccd6911c18)

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

Conflicts:

	libavcodec/hevc.c
2014-07-15 22:16:07 +02:00
Michael Niedermayer
27375c25d9 ffmpeg: Use av_stream_get_parser() to avoid ABI issues
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8bbadc9b6e)

Conflicts:

	ffmpeg.c
(cherry picked from commit 8fae6207e30059611cdc788ad440b6831637f86f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 01:11:02 +02:00
Michael Niedermayer
ab6dd7fea9 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>
(cherry picked from commit 62227a70f0)

Conflicts:

	RELEASE_NOTES
	doc/APIchanges
	libavformat/utils.c
	libavformat/version.h
(cherry picked from commit a78e6363e9a7ef90bd1ff4aeceee8e5501cbc6d4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-14 21:44:13 +02:00
Michael Niedermayer
969d8b9d60 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>
(cherry picked from commit 8202c49b43)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-13 01:15:51 +02:00
Michael Niedermayer
31b1589097 avcodec/hevc: Use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7faa7d3d42)

Conflicts:

	libavcodec/hevc.c
2014-07-01 04:45:10 +02:00
Michael Niedermayer
97ccf31ece 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>
(cherry picked from commit b8255a4c70)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 18:26:28 +02:00
Michael Niedermayer
0f09436a43 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>
(cherry picked from commit 6dffc8f5aa)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-25 18:26:22 +02:00
Michael Niedermayer
e7873dfcca update for FFmpeg 2.1.5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 17:46:48 +02:00
Michael Niedermayer
9790ed63fc avformat/mpc: attempt to allocate a packet that is not smaller than the data inside it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 86a9370e2b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
0e3a1d60d3 cavsdec: fix qp fixed slice handling
Fixes Ticket3400

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
a45a665991 avformat/cavsvideodec: Fix probing when the file extension is avs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 52e563bb2f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
c2c922460a avcodec/alsdec: Clear MPEG4AudioConfig so that no use of uninitialized memory is possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6e6bd5481c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
d192ff0ece 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>
(cherry picked from commit 74760883fc)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
4d1346d46a avcodec/aic: fix quantization table permutation
Fixes Ticket3700

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
66a9c50d42 avcodec/mss4: Fix () in MKVAL() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cf7ff0146c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
3065919b65 avcodec/mss34dsp: fix () in SOP* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6e720c5c81)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
f1feb7e388 avcodec/mlpdec: fix () in MSB_MASK() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fa160af08b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
ccbcb17960 avcodec/ivi_dsp: add some missing () to macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f276bf303c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
a71b4209c2 avcodec/h264: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit af62b42736)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
60ed439334 avcodec/golomb-test: fix () in EXTEND() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 97e6b5ee3a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
76838fb171 avcodec/aac: fix () in IS_CODEBOOK_UNSIGNED macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fa915d4193)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
e3b6e23a0f avcodec/libvorbisenc: dont add the duration to AV_NOPTS_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 19e66c7232)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
6a51bd7360 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>
(cherry picked from commit 6310eb8010)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
2572372f90 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>
(cherry picked from commit 4a30f08505)
(cherry picked from commit 9c9fc79d9237d28e33161cb2e75082d8ad232b2e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
2a543e58ec avfilter/graphdump: Fix pointer to local outside scope
Fixes CID1194435
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 18af0ce62d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
aaf6ddfa4d avcodec/mjpegdec: Fix undefined shift
Fixes CID1194388

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
2b45eab4c9 ffmpeg_filter: fix pointer to local outside scope
Fixes CID1206652
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 09b16619d3)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
d89e5b20f2 avformat/h263dec: Fix h263 probe
The code was missing 1 bit in the src format

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:09 +02:00
Michael Niedermayer
ac182d6d8b avformat/mux: Check for and remove invalid packet durations
Fixes assertion failure
Fixes Ticket3575

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
9cde200ba7 avfilter/filtfmts: Support dynamically allocated in/outputs
Fixes crash
Fixes Ticket3468

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
df208d6ab9 iavcodec/vc1dec: Fix missing {}
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cb53beb81a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
4eb0b6c590 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>
(cherry picked from commit 73734282e0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
90a384cde1 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>
(cherry picked from commit 5a8ef3c66b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
af109ff125 avcodec/g723_1: add assert to help static code analyzers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1457f3fd90)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
ec2ce83913 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>
(cherry picked from commit b8598f6ce6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
1d91251370 avformat/mpegts: Remove redundant check
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ff6fa0b4b9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
861e453996 avcodec/mjpegen: Fix declared argument size
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 256f530603)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
5228655438 swscale/swscale: fix srcStride/srcSlice typo
Fixes part of Ticket3466
Found by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 14fa7fc6a8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
d2e3afbbd1 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>
(cherry picked from commit 46d5625f44)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
c33770e74b 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>
(cherry picked from commit cf2b7c01f8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Michael Niedermayer
9c358c6e3b 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>
(cherry picked from commit d6af26c55c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 16:51:08 +02:00
Anthoine Bourgeois
26d72b3df0 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>
(cherry picked from commit d8ab7f31dd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
6729193886 swscale/x86/swscale_template: loose hardcoded dstw_offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f6759d9ad4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
9d8e231459 swresample/resample: use av_malloc_array() where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5027f39712)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
15871a90aa swresample/dither: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a5290cb1ac)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
37f854f5b9 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>
(cherry picked from commit f9158b01d0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
9c83914a1f 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>
(cherry picked from commit 754f84663e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
861732246f avcodec/wma: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d167faafe9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Lukasz Marek
46b64d9818 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>
(cherry picked from commit 3aac5fcfa9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
c5085a0301 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>
(cherry picked from commit 8710ee11d7)

Conflicts:

	libavcodec/h264_slice.c
(cherry picked from commit cb44d69665596d2f19e032fc852162b0a6de0562)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
4c9c76af85 avfilter/vf_pullup: fix gray8
Fixes segfault
Fixes Ticket3469

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
e4f9a5efa1 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>
(cherry picked from commit 64b79141bd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
61e5001b26 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>
(cherry picked from commit 289b149cec)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
380587cc34 avcodec/x86/mpegvideoenc_template: fix integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
998b5ac3a0 dox/scaler:fix bicubiclin typo
See Ticket3486

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
b8f6069bf3 swscale/swscale: fix integer overflow
Should fix fate failure with clang ftrapv

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:07 +02:00
Michael Niedermayer
2b5b21dbac 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>
(cherry picked from commit fc567ac49e)

Conflicts:

	libavcodec/h264.h
(cherry picked from commit 618d062bd553a7d7fad194d4236913f2b0a0251e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:06 +02:00
Michael Niedermayer
4201c74545 avformat/mp3enc: use av_copy_packet()
Fixes double free
Fixes Ticket3476

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:06 +02:00
Michael Niedermayer
946810d1da 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>
(cherry picked from commit 9dca02ee54)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 15:10:06 +02:00
Carl Eugen Hoyos
f3802aa325 Show duration for large asf files as written in the file header.
Fixes ticket #3428.
(cherry picked from commit e3fd263f0b)
2014-06-21 22:11:00 +02:00
Martin Storsjö
c5606c04cf 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>
(cherry picked from commit fa8f060b75)

Conflicts:
	tests/ref/acodec/adpcm-ima_qt-trellis
2014-06-10 00:13:28 +02:00
Martin Storsjö
39256e54d1 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>
(cherry picked from commit a32765c425)
2014-06-10 00:13:21 +02:00
Michael Niedermayer
992cdbc56a avcodec/mjpegdec: Improve intel jpeg flip heuristic
Fixes Ticket3698

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0545ef7116)
2014-06-10 00:12:37 +02:00
Michael Niedermayer
e8bb67c2a9 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>
(cherry picked from commit 19c9d1e8e7)
2014-06-10 00:10:40 +02:00
Carl Eugen Hoyos
60e2f9bf8b 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>
(cherry picked from commit 673716c54b)
2014-06-10 00:10:02 +02:00
Carl Eugen Hoyos
bdba204bd0 Do not limit blocksize when reading PCM from aiff.
Fixes ticket #3695.
(cherry picked from commit 763e714442)
2014-06-10 00:09:50 +02:00
Michael Niedermayer
be4d4a61b5 avformat/avidec: allow rounding errors between scale/rate and timebase
Fixes Ticket3670

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 571ab8344a)
2014-06-10 00:09:03 +02:00
Anshul
83f58778cb ffprobe: fix crash happening because of new streams occuring
Fix trac ticket #3603.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
(cherry picked from commit 73a6063314)

Conflicts:
	ffprobe.c
2014-05-21 22:58:24 +02:00
Carl Eugen Hoyos
c5a2c26c55 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.
(cherry picked from commit ab21acecc7)
2014-05-12 23:21:06 +02:00
Michael Niedermayer
03c5ccb4ee sws: dont use the optimized 410->420 unscaled conversion when height%4
Fixes Ticket3594
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 421b21ca8a)
2014-05-01 18:28:37 +02:00
Michael Niedermayer
172a5cab87 avcodec/vorbisdec: try to workaround libvorbisenc bug
Fixes Ticket3590

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0a266cb55a)
2014-05-01 18:27:42 +02:00
Michael Niedermayer
8d6de87709 swresample: fix AV_CH_LAYOUT_STEREO_DOWNMIX input
Fixes Ticket 3542

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 291d464161)
2014-04-24 09:02:34 +02:00
Stefano Sabatini
af04f0d1ce ffprobe: fix scaling of vali in value_string() in case -prefix is selected
Fix trac ticket #3523.
(cherry picked from commit 1ba59b1cbe)
2014-04-23 17:17:44 +02:00
Michael Niedermayer
116b959565 avformat/avidec: Speed up keyframe detection code
Fixes Ticket3531

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 57fb570908)
2014-04-23 17:16:36 +02:00
Peter Ross
7269ab10c5 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>
(cherry picked from commit 5331773cc3)

Conflicts:
	libavformat/dsfdec.c
	libavformat/id3v2.c
2014-04-19 13:34:28 +02:00
Peter Ross
caeed48982 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>
(cherry picked from commit c94305ae23)
2014-04-19 13:31:12 +02:00
Michael Niedermayer
353f79defc avformat/matroskadec: support SVQ3 as generated by mkvtoolnix-6.6.0
Fixes part of Ticket3256

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5800b08572)
2014-04-16 19:42:46 +02:00
Michael Niedermayer
92d336670f avformat/matroskaenc: wrap V_QUICKTIME codec private in something that looks like its part of quicktime stsd
This is needed for matroska spec compliance
Fixes playback of SVQ3 in matroska with vlc
Fixes Ticket 3256

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8456bd2c0f)
2014-04-16 19:41:45 +02:00
Michael Niedermayer
3c880d2765 avformat/mov: fix keyframe flags for sample from chromium Issue 340865
Fixes ticket #3362.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a0911b0597)
2014-03-24 23:32:11 +01:00
Hendrik Leppkes
63dcf7c77c avformat/mov: only force parsing for video tracks if stss is empty
Fixes playback of some AAC streams, which are otherwise mangled by the
parser, and stss is typically only valid for video anyway.

Fixes a regression since e41ea866.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 019247bdc3)
2014-03-24 23:32:05 +01:00
Michael Niedermayer
610a064607 avcodec/h263dec: Fix use of uninitialized memory from the bitstream buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f07cebcd91)

Conflicts:

	libavcodec/h263dec.c
2014-03-18 18:26:02 +01:00
Michael Niedermayer
65c915d0c3 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>
(cherry picked from commit 8ab8070784)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 18:26:01 +01:00
Michael Niedermayer
8c8db86c0d swscale/x86/swscale: fix missing xmm clobbers in yuv2yuvX_sse3()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6c47a4e972)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 18:26:01 +01:00
Michael Niedermayer
44799d269f avutil/timestamp: Warn about missing __STDC_FORMAT_MACROS for C++ use
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8b02dfd37c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 18:26:01 +01:00
Michael Niedermayer
3c8a12be2f 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>
(cherry picked from commit 6b53c1aa82)

Conflicts:

	libavcodec/g2meet.c
2014-03-18 18:26:01 +01:00
Michael Niedermayer
0c5f166e6f avcodec/utvideoenc: fix slice_bits size
Fixes assertion failure

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

Conflicts:

	libavcodec/utvideoenc.c
2014-03-18 18:26:01 +01:00
Timothy Gu
5a45c644e8 configure: use pkg-config to detect libbluray
The current configure fails when static libbluray is compiled with libxml2
support.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit baa650cc79)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 18:26:01 +01:00
Peter Ross
02d46127f5 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>
(cherry picked from commit 7380201451)
2014-03-17 15:53:46 +01:00
Peter Ross
2e99fab15c 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>
(cherry picked from commit d1bb17940d)
2014-03-17 15:53:37 +01:00
Michael Niedermayer
9098da0329 avcodec/h264: be more tolerant on what pixel format changes trigger reinits
Fixes Ticket3260

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8e92ff2546)
2014-03-17 15:53:21 +01:00
Michael Niedermayer
db53b2b2c0 ffmpeg_opt: check that a subtitle encoder is available before auto mapping streams
Fixes Ticket3470

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 25bcf24d4d)
2014-03-17 15:52:48 +01:00
Michael Niedermayer
c7a854af19 mvformat/movenc: fix IMX
fixes Ticket3351

Tested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 72d44f1583)
2014-03-13 07:41:32 +01:00
Michael Niedermayer
3e73bea05f avformat/avidec: Check required demuxing buffer sizes in guess_ni_flag()
Fixes Ticket3421

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5d75730c58)
2014-03-13 07:31:59 +01:00
Michael Niedermayer
3712b398e9 avidec: calculate missing bitrates from index
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 01000064c9)
2014-03-13 07:31:56 +01:00
Michael Niedermayer
4362a222e2 avformat/flvdec: discard inconsistent timestamps
Fixes Ticket3425

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dbc3e1109c)
2014-03-12 23:54:56 +01:00
Michael Niedermayer
a9753049b5 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>
(cherry picked from commit 5171ae781a)
2014-03-12 23:53:51 +01:00
Nicolas George
910fd77967 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.
(cherry picked from commit bc6901c949)
2014-03-08 15:19:11 +01:00
Michael Niedermayer
d87ac93bca avformat/oggparsevorbis: dont use invalid granules
Fixes Ticket3437

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 12b97dd375)
2014-03-06 09:34:09 +01:00
Anton Khirnov
96603d5753 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.

Bug-Id: vlc/9665
(cherry picked from commit d1f9563d50)

Conflicts:
	libavcodec/pthread_frame.c
2014-03-04 01:28:29 +01:00
Michael Niedermayer
c7c724056e avcodec/h264: clear chroma planes when flags gray is used
Fixes Ticket3397
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 72e6913140)
2014-02-24 09:45:48 +01:00
Michael Niedermayer
d3139c9733 update for 2.1.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 17:48:16 +01:00
Michael Niedermayer
0909b8acf8 avcodec/hevc: Simplify get_qPy_pred()
Fixes use of uninitialized memory
Fixes: 93728afd9aa074ba14a09bfd93a632fd-asan_static-oob_124a17d_1445_cov_1021181966_DBLK_D_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 64278039e5)

Conflicts:

	libavcodec/hevc_filter.c
2014-02-23 16:44:37 +01:00
Michael Niedermayer
2368d08e70 Merge commit 'e22ebd04bcab7f86548794556c28ecca46d9c2ac'
* commit 'e22ebd04bcab7f86548794556c28ecca46d9c2ac':
  hevc: Bound check cu_qp_delta

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a69dd1163b)

Conflicts:

	libavcodec/hevc.c
2014-02-23 16:42:21 +01:00
Michael Niedermayer
ea7ccf3748 avcodec/mpeg4videodec: Check for bitstream overread in decode_vol_header()
Fixes out of array read
Fixes: 08e48e9daae7d8f8ab6dbe3919e797e5-asan_heap-oob_157461c_5295_cov_1266798650_firefing.mpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3edc3b1595)

Conflicts:

	libavcodec/mpeg4videodec.c
2014-02-23 16:36:01 +01:00
Michael Niedermayer
846a9c67ff avcodec/h264: use subsample factors of the used pixel format
Fixes out of array read
Fixes: 1cb91c36c4e55463f14aacb9bdf55b38-asan_heap-oob_106cbce_5617_cov_11212800_h264_mmx_chroma_intra_lf.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8c55ff3933)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 15:04:07 +01:00
Michael Niedermayer
c8d363a359 avformat/bink: Check return value of av_add_index_entry()
Fixes null pointer dereference
Fixes: cdbf15cbd0a27cee958dd0b8800e452e-signal_sigsegv_737991_2083_cov_317652874_LBSTART.BIK
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c57fc97e95)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 15:03:03 +01:00
Michael Niedermayer
d0d441b350 avcodec/h264: more completely check the loop filter parameters
Fixes out of array read
Fixes: caa65cc01655505705129b677189f036-signal_sigsegv_fdcc43_2681_cov_3043376737_PPH422I5_Panasonic_A.264
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 91253839e1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 15:02:14 +01:00
Michael Niedermayer
6341a7006d avcodec/alsdec: check predictor order against block length
Fixes out of array access
Fixes: abd3c041acbcb816be113455d138166b-asan_heap-oob_b11634_3707_cov_1707137151_als_05_2ch48k16b.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 18f94df8af)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 15:00:02 +01:00
Michael Niedermayer
7034e808f6 avcodec/hevc_ps: Use get_bits_long() in decode_vui()
Fix assertion failure
Fixes: a225222ef88a0f5b1e93e1d0432debc3-asan_static-oob_124a17d_1448_cov_77608227_DBLK_E_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b818637b84)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:58:13 +01:00
Michael Niedermayer
ce5d9a2b4b avcodec/hevc: make check for previous slice segment tighter
This ensures the previous one is matching the curent and not just any

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:53:59 +01:00
Michael Niedermayer
aa672f5e6a avcodec/hevc: clear tab_slice_address of ctb on error.
This allows us to detect which areas have failed to decode

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:53:23 +01:00
Michael Niedermayer
b959e6393e avcodec/hevc: hls_decode_entry: check that the previous slice segment is available before decoding the next
Fixes use of uninitialized memory
Fixes out of array read
Fixes assertion failure
Fixes part of cb307d24befbd109c6f054008d6777b5/asan_static-oob_124a175_1445_cov_2355279992_DBLK_D_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6ef57f4d9a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:51:46 +01:00
Michael Niedermayer
69f99f80d1 avcodec/hevc: clear tab_slice_address in hevc_frame_start()
Fixes inconsistencies
Fixes use of uninitilaized memory
Fixes part of  cb307d24befbd109c6f054008d6777b5/asan_static-oob_124a175_1445_cov_2355279992_DBLK_D_VIXS_1.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 56985d26d7)

Conflicts:

	libavcodec/hevc.c
2014-02-23 14:51:22 +01:00
Michael Niedermayer
e7b7e69416 avcodec/h264: update current_sps & sps->new only after the whole slice header decoder and init code finished
This avoids them being cleared before the full initialization finished

Fixes out of array read
Fixes: asan_heap-oob_f0c5e6_7071_cov_1605985132_mov_h264_aac__Demo_FlagOfOurFathers.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8a3b85f3a7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:49:47 +01:00
Michael Niedermayer
9330bcff9b avcodec/h264: Disallow pps_id changing between slices
Such changes are forbidden in H.264 and lead to race conditions

Fixes out of array read
Fixes: signal_sigsegv_f9796a_1613_cov_3114610371_FM1_BT_B.h264
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e708424b70)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:49:37 +01:00
Michael Niedermayer
9fb364babd avcodec/aacdec: Fix pulse position checks in decode_pulses()
Fixes out of array read
Fixes: asan_static-oob_1efed25_1887_cov_2013541199_HeyYa_RA10_AAC_192K_30s.rm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6e42ccb9db)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:49:29 +01:00
Michael Niedermayer
d79419d0f9 avcodec/hevc: propagate error code from hls_coding_quadtree()
Fixes use of uninitialized memory
Fixes out of array read
Fixes: asan_static-oob_123cee5_2630_cov_1869071233_PICSIZE_A_Bossen_1.bin
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 96c4ba2392)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:48:30 +01:00
Michael Niedermayer
ebc490e744 avcodec/tiff: reset geotag_count in free_geotags()
Fixes null pointer dereference
Fixes: signal_sigsegv_19d922e_3688_cov_1577641655_aletrek_tiff.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a744064c41)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:48:07 +01:00
Michael Niedermayer
ab1c7113f9 avcodec/vc1: Check bfraction_lut_index
Fixes: out of array read
Fixes: asan_static-oob_1b40507_2849_SA10143.vc1
Fixes: asan_static-oob_1b40a15_2849_cov_1182297305_SA10143.vc1
Fixes: asan_static-oob_1b40f15_2849_cov_2159513432_SA10143.vc1
Fixes: asan_static-oob_1b40f15_2849_cov_3230311510_SA10143.vc1
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dcf5bfbdb6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:47:46 +01:00
Michael Niedermayer
10a30e4de5 avcodec/vc1: factor read_bfraction() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 388b4cf86e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:47:41 +01:00
Michael Niedermayer
9368b91834 avcodec/vc1dec: field pictures with direct mode MBs, followed by frame pictures are not supported
This case could occur when cuting and concatenating bitstreams

Fixes out of array read
Fixes: asan_heap-oob_1b33fdd_2849_cov_478905890_SA10143.vc1
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 85d51d8e32)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:43:52 +01:00
Michael Niedermayer
f22e88c177 avcodec/mjpegdec: pass into ff_mjpeg_decode_sos() and check bitmask size
Fixes: heap array overread
Fixes: asan_heap-oob_149b2bc_6577_m1.mxg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2884688bd5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:43:28 +01:00
Michael Niedermayer
e266fcf083 avformat/flac_picture: clear padding area
aviod use of uninitialized memory

Fixes: asan_heap-oob_1487fa4_4706_cov_364534849_cover_art.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 13aa82bbbb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:43:18 +01:00
Michael Niedermayer
c9b961748f avformat/flac_picture: allocate buffer padding for picture
Fixes: heap array overread
Fixes: asan_heap-oob_14876d9_4706_cov_815472558_cover_art.flac
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fff2953163)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:43:07 +01:00
Michael Niedermayer
a94f367424 avcodec/snow: split block clipping checks
Fixes out of array read
Fixes: d4476f68ca1c1c57afbc45806f581963-asan_heap-oob_2266b27_8607_cov_4044577381_snow_chroma_bug.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 61d59703c9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Michael Niedermayer
18eac12c6d avcodec/ansi: fix integer overflow
Fixes out of array read
Fixes: 5f9698e86d92f19bb08d54ff0d57027f-signal_sigsegv_b30756_3795_cov_2693691257_ansi256.ans
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d42ec8433c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Michael Niedermayer
4cc18ee5da avcodec/msrle: use av_image_get_linesize() to calculate the linesize
Fixes out of array access
Fixes: 14a74a0a2dc67ede543f0e35d834fbbe-asan_heap-oob_49572c_556_cov_215466444_44_001_engine_room.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c919e1ca2e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Michael Niedermayer
f8985cb9d9 avcodec/utils: set AVFrame format unconditional
Fixes inconsistency and out of array accesses
Fixes: 10cdd7e63e7f66e3e66273939e0863dd-asan_heap-oob_1a4ff32_7078_cov_4056274555_mov_h264_aac__mp4box_frag.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e5c7229999)

Conflicts:

	libavcodec/utils.c
2014-02-23 14:28:10 +01:00
Michael Niedermayer
656770e2aa avcodec/hevc: make *ps_id unsigned
Fixes integer overflow
Fixes out of array accesses
Fixes 2f65e7dbd02a12f426a423bd7bf880b4-signal_sigsegv_127c952_2793_cov_2517424539_RPLM_A_qualcomm_4.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d1e6602665)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Michael Niedermayer
4a28a3ddc4 avformat/mpegtsenc: Check data array size in mpegts_write_pmt()
Prevents out of array writes

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

Conflicts:

	libavformat/mpegtsenc.c
2014-02-23 14:28:10 +01:00
Michael Niedermayer
f91ef98c9d avcodec/wmalosslessdec: fix mclms_coeffs* array size
Fixes corruption of context
Fixes: 8835659dde6a4f7dcdf341de6a45c6c8-signal_sigsegv_1dce67b_4564_cov_2504444599_classical_22_16_1_14000_v3c_0_extend_0_29.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ec9578d54d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Justin Ruggles
a644272a4a samplefmt: avoid integer overflow in av_samples_get_buffer_size()
CC:libav-stable@libav.org
(cherry picked from commit 0e830094ad)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Michael Niedermayer
325feb8e0d avcodec/vc1: reset fcm/field_mode in non advanced header parsing
Fixes NULL pointer dereference
Fixes: signal_sigsegv_1ab8bf4_2847_cov_4254117347_SA10091.vc1
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b51e935477)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Michael Niedermayer
8c6a976fee avcodec/takdec: always check bits_per_raw_sample
Fixes out of array access
Fixes: asan_heap-oob_19c7a94_6470_cov_1453611734_luckynight-partial.tak
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f58eab1512)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-23 14:28:10 +01:00
Carl Eugen Hoyos
ac38860ec9 Add decoder dependency to the HEVC parser.
Fixes compilation with --disable-everything --enable-parser=hevc
(cherry picked from commit d4a6133ab8)
2014-02-19 16:59:21 +01:00
Martin Storsjö
d0e0329e9d rtpdec_asf: Copy the need_parsing field from the chained demuxer
This fixes playback of mp3 streams in rtp/asf. This used to work
until 950482bf, but mostly by coincidence.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 2aec9e228c)

Fixes ticket #3223
2014-01-27 15:45:10 +01:00
Alex Sukhanov
9ca79d2849 avformat/matroskadec: Fix start_time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 251c96a70b)

Fixes ticket #3337.
2014-01-26 16:22:47 +01:00
Lukasz Marek
c5a2a65e1e lavf/libssh: fix seek with whence==SEEK_CUR
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
(cherry picked from commit e0d124a920)

Conflicts:

	libavformat/libssh.c
2014-01-22 01:36:31 +01:00
Michael Niedermayer
a8ed3685e1 avcodec/jpeg2000dec: fix error detection in pix_fmt_match()
Fixes out of array accesses with CODEC_FLAG_EMU_EDGE

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:59:12 +01:00
Michael Niedermayer
32262ca7d7 avcodec/vmnc: Check that rectangles are within the picture
Prevents out of array accesses with CODEC_FLAG_EMU_EDGE

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:59:06 +01:00
Michael Niedermayer
5f56e495ae avcodec/apedec: more checks for k
Fixes assertion failure
Fixes part of msan_uninit-mem_7fa0d8c8bd58_8417_sh3.ape
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d5128fce38)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Michael Niedermayer
fedbba5ea0 avformat/rmdec: move packet allocation down
Fixes memleak
Fixes: msan_uninit-mem_7fc5d73327d4_6192_kuerti.ra
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 165f96cd2d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Michael Niedermayer
d35916f6ea avformat/mpegts: check sl.timestamp_len
Fixes: msan_uninit-mem_7ff4404547ba_4883_dmbts.ts
Fixes assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e630ca5111)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Michael Niedermayer
94e2673f4e avformat/ape: free packet on avio_read() failure
Fixes memleak
Fixes: msan_uninit-mem_7fcc198b365b_8417_sh3.ape
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 459db51271)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Michael Niedermayer
23ae7bfb4e dnxhdenc: fix mb_rc size
Fixes out of array access with RC_VARIANCE set to 0

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Michael Niedermayer
9e8464e81b Merge commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf'
* commit '9eef9eb3014b2ed9c3ff4aac510a9f04edb555cf':
  h264: check that execute_decode_slices() is not called too many times

Conflicts:
	libavcodec/h264.c

The check is replaced by an assert() as the mb index should not ever go out
of bounds.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 64591f8f86)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Michael Niedermayer
c9a8dfa5ae Merge commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd'
* commit '6892d145a0c80249bd61ee7dd31ec851c5076bcd':
  segafilm: fix leaks if reading the header fails

Conflicts:
	libavformat/segafilm.c

See: ca5456db7f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2a58d5fc0e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Michael Niedermayer
e6299a4cf9 cmdutils: update year
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 16:42:32 +01:00
Carl Eugen Hoyos
ee3822af63 Allow decoding of slightly broken Nikon avi files.
Fixes ticket #3330.
(cherry picked from commit f9c2d4d17e)
2014-01-20 22:37:18 +01:00
Nicolas George
fc5261c219 lavfi/dualinput: fix shortest option.
Fix trac ticket #3315.
(cherry picked from commit 2dc5980d61)
2014-01-20 22:28:01 +01:00
Michael Niedermayer
30a94f1159 avcodec/mjpegdec: Dont skip picture allocation if theres no picture allocated
Fixes Ticket 3245
(cherry picked from commit ad8d063f23)
2014-01-20 22:26:00 +01:00
Michael Niedermayer
9d83cff1f1 avcodec/aacdec: Dont fail if channels arent known yet
Fixes Ticket3312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 676a395ab9)
2014-01-19 14:28:18 +01:00
Michael Niedermayer
756cd1a305 avcodec/mjpegdec: Dont treat the lack of a startcode differently from end of the bitstream
Fixes Ticket3303

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 31e703e899)
2014-01-19 14:27:56 +01:00
Michael Niedermayer
83dc8f044d avcodec/mjpegdec: only run EOI emulation code when there was a scan
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 361e27a3d8)
2014-01-19 14:27:48 +01:00
Michael Niedermayer
2c5c6affb1 avcodec/mjpegdec: update cur_scan also for non-LS jpeg
This should make no difference but the variable will be used in a subsequent commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8893f31e20)
2014-01-19 14:27:40 +01:00
Carl Eugen Hoyos
f4e051680e Fix libxvid crash on failing initialisation.
Fixes ticket #3297.
(cherry picked from commit ee3fc8aa86)
2014-01-19 14:26:15 +01:00
Carl Eugen Hoyos
2f4b781e4d Do not read mkv audio bit_depth if bits_per_coded_sample is already set.
This allows decoding broken mkv files containing G.726 audio.
(cherry picked from commit 1132937077)
2014-01-16 00:26:00 +01:00
Carl Eugen Hoyos
0d45e821dc Do not set mkv bit_depth to av_get_bytes_per_sample() for G.726.
The value is wrong and leads to broken files.
(cherry picked from commit 565102dcac)
2014-01-16 00:25:34 +01:00
Michael Niedermayer
eda6effcab Update for 2.1.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-15 18:29:16 +01:00
Michael Niedermayer
45900618ae library.mak: only run asm strip if ASMSTRIP flags are set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e975c147e1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 01:14:43 +01:00
Michael Niedermayer
16e49d85b6 configure: remove code that disables striping in the absence of some flags
This prevents breaking (non asm) striping in that case

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 01:03:48 +01:00
Michael Niedermayer
bfdfeadf11 build sys: rename STRIPFLAGS to ASMSTRIPFLAGS
This more closely matches the actual use, also we use plain
strip without these flags for striping

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 01:03:48 +01:00
Michael Niedermayer
7ae6229b97 Merge commit '0673ede985a6560e7efb86dab1c58fb7f95ce587'
* commit '0673ede985a6560e7efb86dab1c58fb7f95ce587':
  configure: add strip flags checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 71b95f2ab6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 01:02:28 +01:00
Michael Niedermayer
2156d9bd7d avformat/utils/av_probe_input_buffer2: fix buffer passed to ffio_rewind_with_probe_data()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 05886c9d4e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 00:32:02 +01:00
Michael Niedermayer
0a055cc62e avformat/utils/av_probe_input_buffer2: fix offset check
The check could fail if avio_read() read less than requested

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 00:32:01 +01:00
Michael Niedermayer
c8d43c22db avformat/utils/av_probe_input_buffer2: Fix pd.buf_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6a2064820b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 00:32:00 +01:00
Clément Bœsch
d9b7557732 avcodec/libxavs: 2nd attempt to fix compilation after b18c7c8d.
(cherry picked from commit 260fc0d95b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 00:29:13 +01:00
Clément Bœsch
15d7b7d7cc avcodec/libxavs: attempt to fix compilation after b18c7c8d.
(cherry picked from commit 71cd83e34c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-14 00:29:09 +01:00
Michael Niedermayer
29353dd3f8 Update for 2.1.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 17:21:42 +01:00
Carl Eugen Hoyos
b336daa952 Fix a crash on oom when decoding hevc.
(cherry picked from commit 5ab1efb9d0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 17:20:19 +01:00
Michael Niedermayer
a0aa5c34a9 avcodec/hevc: Check entry point arrays for malloc failure
Fixes null pointer dereference
Fixes: signal_sigsegv_e1d3b6_2192_DBLK_F_VIXS_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 22bfb4be28)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:17:08 +01:00
Luca Barbato
d63476347a hevc: Bound check slice_qp
The T-REC-H.265-2013044 page 79 states they have to be into the range
[-s->sps->qp_bd_offset, 51].

Fixes: asan_stack-oob_eae8e3_9522_WP_MAIN10_B_Toshiba_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:17:04 +01:00
Luca Barbato
39545c5482 hevc: Reject impossible dependent tile
The tile 0 cannot depend on a previous one.
Prevent an out of array bound load in ff_hevc_cabac_init().

Fixes: asan_heap-oob_e3a924_1630_DBLK_A_MAIN10_VIXS_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Reviewed-by: Guillaume Martres <smarter@ubuntu.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 48a5b15543)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:16:58 +01:00
Guillaume Martres
e43805d401 hevc: remove useless clip in FUNC(sao_band_filter)()
The src buffer should only contain values in the interval
[0, (1 << BIT_DEPTH) - 1]. Since shift = (BIT_DEPTH - 5), src[x] >> shift
must be in the interval [0, 31], so no clip is needed.

This removes the code that was changed in 5856bca360
as the clip that was repositioned in that commit is removed

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:15:07 +01:00
Guillaume Martres
ea21b7b68c hevc: clip pixels when transquant bypass is used
Fixes: asan_stack-oob_eae8e3_7333_WPP_B_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

This is a more proper fix than 5856bca360

The reconstructed picture should always be clipped (see section 8.6.5),
previously we did not clip coding units where
cu_transquant_bypass_flag == 1

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:12:17 +01:00
Luca Barbato
738a2a04b6 hevc: Clip the pixel before shifting
Prevent an out of array bound read.

Fixes: asan_stack-oob_eae8e3_7333_WPP_B_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5856bca360)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:12:01 +01:00
Michael Niedermayer
706dca18d0 avcodec/hevc: use av_mallocz() for allocating tab_ipm
Fixes use of uninitialized memory and out of stack array read
Fixes: signal_sigsegv_ecc526_7846_WPP_C_ericsson_MAIN_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0999f1613b)

Conflicts:

	libavcodec/hevc.c
2014-01-13 16:11:50 +01:00
Michael Niedermayer
b3c3dc54a5 avcodec/alac: only set *got_frame_ptr when all channels have been decoded
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f8b64436530_7895_quicktime_newcodec_applelosslessaudiocodec.m4a
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e11983bda0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:10:34 +01:00
Clément Bœsch
b6af89be6a avformat/pjsdec: dont increase pointer when its already at the end in read_ts()
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f91f2de7764_2649_PJS_capability_tester.pjs
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b84a7330af)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:10:30 +01:00
Michael Niedermayer
57824d1ba6 avcodec/wmalosslessdec: shrink output on error so no uninitialized data is returned
Fixes use of uninitialized memory
partly fixes: msan_uninit-mem_7f7834b6a530_6473_luckynight-partial.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6b18a6839b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:10:25 +01:00
Michael Niedermayer
cd753ee36b avcodec/wmalosslessdec: deallocate uninitialized frame on decode_tilehdr() failure
Fixes use of uninitialized memory
partly fixes: msan_uninit-mem_7f7834b6a530_6473_luckynight-partial.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ae3856dcaf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:10:12 +01:00
Michael Niedermayer
aaaafc300d avcodec/wmalosslessdec: Pass on error code from decode_tilehdr()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 03fff09b32)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:10:09 +01:00
Michael Niedermayer
6da213ce20 avformat/matroskadec: check generic audio deinterleaver sub_packet_size against frame_size
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f67d052a530_7517_nosound.mkv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a1ed1c2193)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:09:26 +01:00
Michael Niedermayer
763a808c96 avformat/flvdec: initialize context before reading from it
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7f9b8387069e_5377_flv_with_pcm_s16be_audio_track.flv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 396ddcf22d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:09:22 +01:00
Michael Niedermayer
4f3b0afaa2 avformat/mxfdec: check avio_read(UID) result
Fixes use of uninitialized memory
Fixes: msan_uninit-mem_7fc9ba2fd98e_82_02785736.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4162ceea93)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:09:15 +01:00
Michael Niedermayer
050d8d727a avformat/rmdec: when reading audio blocks, dont leave holes when reading fails
The fate test is changed because the reference file depends on the use of
non cleared data at the very
end. Alternatively we could upload a new reference file, though that would
then have to be changed every time the handling of a truncated frame changes
or theres a change to error concealment, each time adding a new file ...

Fixes use of uninitialized memory
Fixed: msan_uninit-mem_7f3c02b81363_2787_RLG2_19.rm
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 77d2a1ca59)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-13 16:08:26 +01:00
Michael Niedermayer
6fb0f37def avcodec/h264: fix code that blindly dereferences NULL DPB
Fixes mixed flushing and decoding NULL packets
Found-by: wm4

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

Conflicts:

	libavcodec/h264.c
2014-01-13 16:06:13 +01:00
Hendrik Leppkes
70028e917c vdpau: restore compatibility with deprecated fields in AVVDPAUContext
Fixes ticket #3133.

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Tested-by: EricV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 23bc1351ad)
2014-01-11 00:21:06 +01:00
Carl Eugen Hoyos
6ce835d77f Fix libopenjpeg colour range adjust for 8<bpp<16.
Fixes ticket #3284.

Reviewed-by: Michael Bradshaw
(cherry picked from commit 8298b54179)
2014-01-10 14:07:36 +01:00
Michael Niedermayer
d45a724192 avcodec/msvideo1enc: fix SKIPS_MAX
Fixes Ticket3270

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fb8f5d0510)
2014-01-09 11:43:21 +01:00
Carl Eugen Hoyos
a48440d857 Use the h264 parser when decoding VSSH in avi.
Fixes ticket #3261 visually.

Analyzed-by: Michael Doilnitsyn
(cherry picked from commit 94cf4f8bac)
2014-01-08 10:19:52 +01:00
Michael Niedermayer
de14fe7e29 avformat/mxfdec: detect loops during header parsing
The header parser uses forward and backward parsing, making the
bulletproof prevention of loops difficult, thus this simple
detection code.
If someone improves the forward/backward parsing so it cannot loop
then this commit should be reverted

Fixes Ticket3278

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1c010fd035)
2014-01-08 10:19:36 +01:00
Michael Niedermayer
580d3ef6fe avformat/mov: Check that we have a stream before accessing it in mov_read_ares()
Fixes out of array read
Fixes: signal_sigsegv_6f1855_3910_avid_test_alpha.mov

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:25:25 +01:00
Michael Niedermayer
2864c987d8 avformat/ipmovie: check OPCODE_INIT_VIDEO_BUFFERS size more completely
Fixes use of uninitialized data

Fixes: signal_sigsegv_1571228_5930_ipmovie_interplayvideo_interplay_dpcm__bislogo.mve

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:25:20 +01:00
Michael Niedermayer
d1a9195863 avcodec/mjpegdec: check len in mjpeg_decode_app() more completely
Avoids len from becoming negative and causing assertion failure

Fixes: signal_sigabrt_7ffff7126425_5140_fd44dc63fa7bdd12ee34fc602231ef02.jpg

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:25:07 +01:00
Michael Niedermayer
898ab02557 avformat/avidec: Dont assert the existence of an index for video streams.
Its possible in various rare cases that an index cannot be created or allocated.
Fixes assertion failure
Fixes: signal_sigabrt_7ffff7126425_7712_pokem.avi

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:25:02 +01:00
Michael Niedermayer
69aa3d5b88 avcodec/hevc: clear HEVClc when its deallocated in hevc_decode_free()
Fixes reading freed memory
Fixes: asan_heap-uaf_1abf8ef_3987_NUT_A_ericsson_4.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 21a2fb7e05)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:23:49 +01:00
Michael Niedermayer
dcecca0758 avutil/log: check that len is within the buffer before reading it
Fixes out of array read
Fixes: asan_heap-oob_19d6979_6857_mmw_deadzy.ogg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 808c10e728)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:23:43 +01:00
Michael Niedermayer
413065aff4 avcodec/g2meet: check available space before copying palette
Fixes out of array read
Fixes: asan_heap-uaf_ae6067_5415_g2m4.wmv

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:23:35 +01:00
Michael Niedermayer
c094aec76e avcodec/ac3dec: check bap before use.
Fixes out of array read
Fixes assertion failure
Fixes asan_static-oob_16431c0_8036_rio_bravo_mono_64_spx.ac3

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:23:23 +01:00
Michael Niedermayer
5e21989de4 Revert "Merge remote-tracking branch 'qatar/master'" (43dec5ef9a)
Fixes out of array accesses
Fixes asan_static-oob_eb9812_5961_iv41.avi
This reverts the merge of c9ef6b0932

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
(cherry picked from commit c3d5cd1ebf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-08 00:23:18 +01:00
Michael Niedermayer
908b951b4e avcodec/hevc: Fix modulo operations
Fixes qp fields becoming out of range
Fixes: asan_static-oob_e393a3_6998_WPP_A_ericsson_MAIN10_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4ced5d7780)

Conflicts:

	libavcodec/hevc_filter.c
2014-01-07 23:48:10 +01:00
Michael Niedermayer
4b0cecb457 avcodec/hevc_ps: check that VPS referenced from SPS exists
This matches how its done for SPS/PPS.
An alternative to this is to check it when its used.

Fixes null pointer dereference
Fixes: signal_sigsegv_e30a43_1437_CIP_A_Panasonic_3.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d66bab0a69)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 23:47:39 +01:00
Nicolas George
3dae9d13e5 lavc/mjpegenc: use proper error codes.
(cherry picked from commit 2ebaadf35c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Nicolas George
9189a0a71b lavc/mjpegenc: check av_frame_alloc() failure.
(cherry picked from commit 19a2d101ac)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Nicolas George
4b25b5a8a3 lavc/libopenjpegenc: check av_frame_alloc() failure.
(cherry picked from commit 97af2faaba)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Nicolas George
4c3cd88144 lavc/diracdec: check av_frame_alloc() failure.
(cherry picked from commit a91394f4de)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Nicolas George
4d70639d53 lavc/utils: check av_frame_alloc() failure.
(cherry picked from commit 38004051b5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Nicolas George
a6ba0f7be9 ffprobe: check av_frame_alloc() failure.
(cherry picked from commit a55692a960)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Nicolas George
89205b637e lavc/ffwavesynth: fix dependency sizeof(AVFrame).
(cherry picked from commit bcfcb8b852)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
88058b4650 ffprobe: Dont clear AVFrame between uses.
The old API required this clearing in the past, the new API does not
require it.

Fixes memleak
Regression introduced by 37a749012a

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
ca22a2dec5 avcodec/utils: drop 2 dependancies on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c90f31146e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
d058583510 avcodec/libvorbisenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3c8b085764)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
e0c3c612eb ffprobe: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bf1c87ee7a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
4d4a10cfa1 avcodec/flashsv2enc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b8f4410ff6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
ce675bd54a avcodec/j2kenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8443b27072)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
965eb42be0 avcodec/libopenjpegenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 1458f0647c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
d2578f8152 avcodec/mjpegenc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5b3f4b3ef5)

Conflicts:

	libavcodec/mjpegenc.c
2014-01-07 21:28:41 +01:00
Michael Niedermayer
31c52cd442 avcodec/msvideo1enc: drop dependancy on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c81234651f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
fa220e7307 avcodec/diracdec: avoid depending on sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fca7943850)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
304260a572 avcodec/utils: implement avcodec_alloc_frame() through av_alloc_frame()
This ensures that theres just one AVFrame allocation function and libs dont
produce multiple AVFrame variants after a minor lib update

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
ed621efb36 avcodec/libutvideodec: use av_frame_move_ref()
AVFrames cannot be copied literally, their definition is in
avutil and their extended_data can point to their data[]

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
9f864bd324 Merge commit 'd4f1188d1a662fed5347e70016da49e01563e8a8'
* commit 'd4f1188d1a662fed5347e70016da49e01563e8a8':
  dv: use AVFrame API properly

Conflicts:
	libavcodec/dvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 94a849b8b6)

Conflicts:

	libavcodec/dv.h
	libavcodec/dvdec.c
	libavcodec/dvenc.c

Author of the merged code: Anton Khirnov
2014-01-07 21:28:41 +01:00
Michael Niedermayer
117728cf8f Merge commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac'
* commit 'd351ef47d0e0ccb7de96b37f137c16b2885580ac':
  pthread_frame: use the AVFrame API properly.

Conflicts:
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 45fd4ec9ef)

Conflicts:

	libavcodec/pthread_frame.c
Author of the merged code: Anton Khirnov
2014-01-07 21:28:41 +01:00
Michael Niedermayer
caf7db0c35 Merge commit 'b605b123ef1d3bac0e7c221d8d7fa74cd8c7253c'
* commit 'b605b123ef1d3bac0e7c221d8d7fa74cd8c7253c':
  mxpegdec: use the AVFrame API properly.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8947f47fdf)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:41 +01:00
Michael Niedermayer
09965ae7d8 Merge commit 'afa21a12bf084f905187615706b0a8d92bc98661'
* commit 'afa21a12bf084f905187615706b0a8d92bc98661':
  p*menc: use the AVFrame API properly.

Conflicts:
	libavcodec/Makefile
	libavcodec/pamenc.c
	libavcodec/pnmenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 37945584bf)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:40 +01:00
anatoly
f448478a31 Add support for picture_ptr field in MJpegDecodeContext
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit e0e3b8b297)

Conflicts:

	libavcodec/jpeglsdec.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:28:40 +01:00
Michael Niedermayer
82ec6183bc Merge commit 'e2274aa555f023e4f4e4819bf29b2d7e0adec7d5'
* commit 'e2274aa555f023e4f4e4819bf29b2d7e0adec7d5':
  mjpegdec: use the AVFrame API properly.

Conflicts:
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6393038676)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 21:23:32 +01:00
Michael Niedermayer
345e2a2b43 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo_enc: use the AVFrame API properly.
  ffv1: use the AVFrame API properly.
  jpegls: use the AVFrame API properly.
  huffyuv: use the AVFrame API properly.

Conflicts:
	libavcodec/ffv1.c
	libavcodec/ffv1.h
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c

Changes to ffv1 are more redone than merged due to them being based on
an ancient codebase and a good part of that having being done already
as well.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit be1e6e7503)

Conflicts:

	libavcodec/ffv1enc.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
Author of the merged code: Anton Khirnov
2014-01-07 21:23:25 +01:00
Michael Niedermayer
7442aa20fa Merge commit 'd48c20630214a4effcc920e93a5044bee4e2002e'
* commit 'd48c20630214a4effcc920e93a5044bee4e2002e':
  qtrleenc: use the AVFrame API properly.
  ulti: use the AVFrame API properly.
  vc1: use the AVFrame API properly.
  flashsv: use the AVFrame API properly.

Conflicts:
	libavcodec/flashsv.c
	libavcodec/qtrleenc.c
	libavcodec/ulti.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 92cbd77568)

Conflicts:

	libavcodec/flashsv.c
Author of the merged code: Anton Khirnov
2014-01-07 21:23:19 +01:00
Michael Niedermayer
9918296a2d Merge commit 'ffe04c330335add4c6d70ab0bb98e6b3f4f7abfa'
* commit 'ffe04c330335add4c6d70ab0bb98e6b3f4f7abfa':
  libxvid: use the AVFrame API properly.
  pcxenc: use the AVFrame API properly.
  roqvideo: remove unused variables
  libschroedingerenc: use the AVFrame API properly.

Conflicts:
	libavcodec/pcxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f4f7888bab)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:32:48 +01:00
Michael Niedermayer
4d373ee8e4 Merge commit '97168b204a0b6b79bb6c5f0d40efdf7fc2262476'
* commit '97168b204a0b6b79bb6c5f0d40efdf7fc2262476':
  eatgv: use the AVFrame API properly.
  libxavs: use the AVFrame API properly.
  nuv: use the AVFrame API properly.
  flashsvenc: use the AVFrame API properly.

Conflicts:
	libavcodec/eatgv.c
	libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a0c0629dd9)

Conflicts:

	libavcodec/eatgv.c
Author of the merged code: Anton Khirnov
2014-01-07 03:32:43 +01:00
Michael Niedermayer
6133f450bb Merge commit '57e7b3a89f5a0879ad039e8f04273b48649799a8'
* commit '57e7b3a89f5a0879ad039e8f04273b48649799a8':
  dnxhdenc: use the AVFrame API properly.
  libx264: use the AVFrame API properly.
  svq1enc: use the AVFrame API properly.
  gif: use the AVFrame API properly.

Conflicts:
	libavcodec/gif.c
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5b0c70c249)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:32:38 +01:00
Michael Niedermayer
8a9f4f8800 Merge commit '45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7'
* commit '45bde93eefa78c1bdb0936109fbd2e2fb27fbfe7':
  sunrastenc: use the AVFrame API properly.
  targaenc: use the AVFrame API properly.
  tiffenc: use the AVFrame API properly.
  pngenc: use the AVFrame API properly.

Conflicts:
	libavcodec/pngenc.c
	libavcodec/sunrastenc.c
	libavcodec/targaenc.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3ea168edeb)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:32:32 +01:00
Michael Niedermayer
9ebe344166 Merge commit '0ea430c75b8d90449d2878ad84669a2da2ad3cbc'
* commit '0ea430c75b8d90449d2878ad84669a2da2ad3cbc':
  lclenc: use the AVFrame API properly.

Conflicts:
	libavcodec/lclenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 85b7b0c519)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:32:26 +01:00
Michael Niedermayer
badb8e15ac Merge commit 'e4155f15b35c4272a235f5521d2dc6c2aabdd462'
* commit 'e4155f15b35c4272a235f5521d2dc6c2aabdd462':
  eamad: use the AVFrame API properly.
  dpxenc: use the AVFrame API properly.
  bmpenc: use the AVFrame API properly.
  sgienc: use the AVFrame API properly.

Conflicts:
	libavcodec/bmpenc.c
	libavcodec/dpxenc.c
	libavcodec/eamad.c
	libavcodec/sgienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9ad477d909)

Conflicts:

	libavcodec/eamad.c

Author of the merged code: Anton Khirnov
2014-01-07 03:32:19 +01:00
Michael Niedermayer
48c192c48c Merge commit '730bac7bab3c7dcd9fcb7c70f154e5f4cfaef9a7'
* commit '730bac7bab3c7dcd9fcb7c70f154e5f4cfaef9a7':
  mss4: use the AVFrame API properly.
  mss3: use the AVFrame API properly.
  mss2: use the AVFrame API properly.
  mss1: use the AVFrame API properly.

Conflicts:
	libavcodec/mss1.c
	libavcodec/mss2.c
	libavcodec/mss3.c
	libavcodec/mss4.c

See: 02fe531afe
See: ff1c13b133
See: 310bf28354
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8d193a24f2)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:32:13 +01:00
Michael Niedermayer
dbb4ff6851 Merge commit '508b37557bf36eae83c18e64d42f27b44a321d81'
* commit '508b37557bf36eae83c18e64d42f27b44a321d81':
  tiertexseqv: use the AVFrame API properly.
  smc: use the AVFrame API properly.
  truemotion2: use the AVFrame API properly.
  truemotion1: use the AVFrame API properly.

Conflicts:
	libavcodec/smc.c
	libavcodec/tiertexseqv.c
	libavcodec/truemotion1.c
	libavcodec/truemotion2.c

See: e999f2339a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 72df87088c)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:32:08 +01:00
Michael Niedermayer
8c53cacbfd Merge commit '4a4841d4e0f0dc50998511bf6c48b518012024db'
* commit '4a4841d4e0f0dc50998511bf6c48b518012024db':
  fraps: use the AVFrame API properly.
  rpza: use the AVFrame API properly.
  motionpixels: use the AVFrame API properly.
  vmdvideo: use the AVFrame API properly.

Conflicts:
	libavcodec/fraps.c
	libavcodec/motionpixels.c
	libavcodec/rpza.c
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4362f272c0)

Conflicts:

	libavcodec/vmdav.c

Author of the merged code: Anton Khirnov
2014-01-07 03:32:03 +01:00
Michael Niedermayer
dcb91e3dfe Merge commit '3c8ea9d4a74fd4d7493d40c818ca64ee492709f3'
* commit '3c8ea9d4a74fd4d7493d40c818ca64ee492709f3':
  vmnc: use the AVFrame API properly.
  xan: use the AVFrame API properly.
  xxan: use the AVFrame API properly.
  zerocodec: use the AVFrame API properly.

Conflicts:
	libavcodec/vmnc.c
	libavcodec/xan.c
	libavcodec/xxan.c

See: cf5ab8b6f7
See: ad438f450b
See: 67607e20e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8af7774c7a)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:31:57 +01:00
Michael Niedermayer
bfe4aa892a Merge commit 'a837c4f2df96a30bf9aa4115b426d608487c7101'
* commit 'a837c4f2df96a30bf9aa4115b426d608487c7101':
  zmbvenc: use the AVFrame API properly.
  flicvideo: use the AVFrame API properly.
  smacker: use the AVFrame API properly.
  mmvideo: use the AVFrame API properly.

Conflicts:
	libavcodec/flicvideo.c
	libavcodec/mmvideo.c
	libavcodec/smacker.c
	libavcodec/zmbvenc.c

See: 76e27b1d05
See: 099e57bc38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fe3808edde)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:31:47 +01:00
Michael Niedermayer
1dcf9de6e9 Merge commit '2e09096da912f563c4dd889a8f25c314529bbaa6'
* commit '2e09096da912f563c4dd889a8f25c314529bbaa6':
  kgv1: use the AVFrame API properly.
  indeo2: use the AVFrame API properly.
  iff: use the AVFrame API properly.
  msrle: use the AVFrame API properly.

Conflicts:
	libavcodec/iff.c
	libavcodec/indeo2.c
	libavcodec/kgv1dec.c
	libavcodec/msrle.c

See: 451b2ca1b4
See: 80e9e63c94
See: 057dce5f21
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9f890a1656)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:31:34 +01:00
Michael Niedermayer
2fe67ddb24 Merge commit 'b7462a3904d71ff799584faf5b875cad59ca2f31'
* commit 'b7462a3904d71ff799584faf5b875cad59ca2f31':
  jvdec: use the AVFrame API properly.

Conflicts:
	libavcodec/jvdec.c

See: 678431d3f2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ddfdcd2b5e)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:31:29 +01:00
Michael Niedermayer
b7cb77a322 Merge commit '2d2a92f72199823a92e4e226c32e42a27ec801c0'
* commit '2d2a92f72199823a92e4e226c32e42a27ec801c0':
  dxa: use the AVFrame API properly.
  qpeg: use the AVFrame API properly.
  cin video: use the AVFrame API properly.
  msvideo1: use the AVFrame API properly.

Conflicts:
	libavcodec/dsicinav.c
	libavcodec/dxa.c
	libavcodec/msvideo1.c
	libavcodec/qpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5219afc09d)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:31:20 +01:00
Michael Niedermayer
2d7f20d2bb Merge commit 'a639ea7f4bc44bf6bfa452675558a342924a66a9'
* commit 'a639ea7f4bc44bf6bfa452675558a342924a66a9':
  escape124: use the AVFrame API properly.
  qtrle: use the AVFrame API properly.
  cljr: use the AVFrame API properly.
  cinepak: use the AVFrame API properly.

Conflicts:
	libavcodec/cinepak.c
	libavcodec/cljr.c
	libavcodec/qtrle.c

See: 80e9e63c libavcodec/cinepak.c
See: 71c378984b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bfb1f44d24)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:31:14 +01:00
Michael Niedermayer
3976c50fc1 Merge commit 'cec5ce49229d61e4eb1f331a6d0dff3aa24f6655'
* commit 'cec5ce49229d61e4eb1f331a6d0dff3aa24f6655':
  cdxl: remove an unused variable
  c93: use the AVFrame API properly.
  bethsoftvid: use the AVFrame API properly.
  avs: use the AVFrame API properly.

Conflicts:
	libavcodec/bethsoftvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 21c41e76d7)

Conflicts:

	libavcodec/avs.c
Author of the merged code: Anton Khirnov
2014-01-07 03:31:02 +01:00
Michael Niedermayer
572ccbd299 Merge commit '6139f481ac9feb1bee4e7d04789fb15d7f24ebbf'
* commit '6139f481ac9feb1bee4e7d04789fb15d7f24ebbf':
  asvenc: use the AVFrame API properly.
  a64multienc: use the AVFrame API properly.

Conflicts:
	libavcodec/vaapi_mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cc4a643563)

Author of the merged code: Anton Khirnov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:30:57 +01:00
Dale Curtis
dcf0f82d08 h264: Clear ERContext.cur_pic when unref'ing current picture.
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
(cherry picked from commit 4feca2214a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Michael Niedermayer
061e948153 configure: support raising major version in soname
this allows seperate installation of shared libs that should not conflict with
whatever is already installed.

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

Conflicts:

	libavcodec/utils.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Michael Niedermayer
08808084f6 swscale/utils: fill xyz tables only when they will be used
makes the first call to sws_getContext() 1ms faster

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Michael Niedermayer
e779595dca avutil/log: skip IO calls on empty strings
These occur when no context is set for example, thus they are common

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Michael Niedermayer
cf6cf50ac6 do O(1) instead of O(n) atomic operations in register functions
about 1ms faster startup time

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Michael Niedermayer
1ecd1b4aee avcodec/g2meet: fix stride calculation, use correct format field
Fixes out of array accesses
Fixes: asan_heap-oob_ae5f63_5415_g2m4.wmv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 83f7bd6dcf)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Paul B Mahol
04a4c4144a avcodec/libopusenc: change default frame duration to 20 ms
20 ms is used by libopus encoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit 74906d3727)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Jan Gerber
73aa4518ee lavf/matroskadec ReferenceBlock is a signed integer
according to the Matroska Specification
ReferenceBlock is a signed integer too.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Jan Gerber
aee36a7d16 lavf/matroska*: DiscardPadding is a signed integer
according to the Matriska Specification
 http://matroska.org/technical/specs/index.html
DiscardPadding is a signed integer.

Tested-by: Jan Gerber <j@v2v.cc>
Tested-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f4b1ca99ff)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Michael Niedermayer
d86930b8ff avformat/matroska: simplify signed int access code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cddd15ba5c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:30 +01:00
Jan Gerber
95b5496dce lavf/matroska*: add support for signed integers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d03eea36b2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:29 +01:00
Michael Niedermayer
3ffd1c2e40 avcodec/jpeg2000dec: Check precno before using it in JPEG2000_PGOD_CPRL
Fixes out of array reads
Fixes: asan_heap-oob_f0de57_6823_mjp2.mov

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:29 +01:00
Michael Niedermayer
2d16a88a9c avcodec: move end zeroing code from av_packet_split_side_data() to avcodec_decode_subtitle2()
This code changes the input packet, which is read only and can in
rare circumstances lead to decoder errors. (i run into one of these in
the audio decoder, which corrupted the packet during av_find_stream_info()
so that actual decoding that single packet failed later)
Until a better fix is implemented, this commit limits the problem.
A better fix might be to make the subtitle decoders not depend on
data[size] = 0 or to copy their input when this is not the case.
(cherry picked from commit 01923bab98)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-07 03:05:29 +01:00
Michael Niedermayer
edc6f3da0e avfilter/vf_format: check that the format list is not empty
Fixes Ticket3210

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ee16e0cacc)
2014-01-07 02:02:52 +01:00
Michael Niedermayer
8763aca389 avformat/oggdec: dont read timestamps from EOS pages of ogm videos
Some muxers store invalid timestamps there, which breaks seeking
Fixes Ticket2739

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5e0c7eab2a)
2014-01-05 17:25:29 +01:00
James Almer
b962157ce3 matroskadec: Fix bug when parsing realaudio codec parameters
flavor can be 0.

This fixes tract ticket #3214

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0d944ee343)
2013-12-30 00:49:35 +01:00
Alexander Strasser
8c79730a8e configure: Special case libfreetype test
Include the freetype header, in-directly through a macro, like it
is done in the drawtext filter. Do not break if the header is moved.

Unfortunately the drawtext filter included the file where the include
macros are defined in a wrong way. This is not needed and breaks the
build. Remove that #include line too.

(cherry picked from commit cea5812fa7)

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-12-29 11:36:01 +01:00
Michael Niedermayer
b432043d55 nutenc/write_index: warn if 2 consecutive keyframes have the same PTS and discard the 2nd
This fixes an assertion failure and regression and restores previous behaviour
Fixes Ticket3197

An alternative would be to fail hard in this case and refuse to mux such data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit de2a2caf4d)
2013-12-24 07:45:32 +01:00
Peter Ross
94c3f8165c wtvenc: populate VIDEOINFOHEADER2
Fixes ticket #2835.

Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6da21c1f81)
2013-12-24 07:39:31 +01:00
Peter Ross
f27895db0f avformat/riffenc: indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f93b0abe40)
2013-12-24 07:39:23 +01:00
Peter Ross
c3f9628407 riffenc: add option to ff_put_bmp_header to ignore extradata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fcbb94712d)
2013-12-24 07:39:15 +01:00
Mason Carter
7eec11463f VC1: Fix intensity compensation performance regression
Fix https://trac.ffmpeg.org/ticket/3204

The problem was that intensity compensation was always used once it was
encountered. This is because v->next_use_ic was never set back to zero.
To fix this, when resetting v->next_luty/uv, also reset v->next_use_ic.

This improved (restored) performance by 85% when decoding
http://bit.ly/bbbwmv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ed5bed4152)
2013-12-22 16:07:03 +01:00
Martin Storsjö
0d32483a11 arm: Don't clobber callee saved registers in scalarproduct
q4-q7/d8-d15 are supposed to not be clobbered by the callee.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit d307e408d4)
2013-12-21 09:58:08 +01:00
Michael Niedermayer
85ea846580 swscale/utils: check chroma width for fast bilinear scaler
Fixes artifacts where fast bilinear was used for downscaling chroma

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 037fc3b054)
2013-12-16 02:21:37 +01:00
Michael Niedermayer
5b52b4962e swscale/utils: remove useless ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 554e913fd7)
2013-12-16 02:21:35 +01:00
Michael Niedermayer
69a283e0d2 avcodec/cabac: force get_cabac to be not inlined
works around bug in gccs inline asm register assignment
Fixes Ticket3177

gcc from 4.4 to 4.6 is affected at least, no non affected gccs known
clang seems not affected

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0538b29ae8)
2013-12-09 10:34:52 +01:00
Michael Niedermayer
624b83b3ef avcodec/error_resilience: check that er is supported before attempting to read the status of the previous slice
Fixes incorrectly set error_occured and improves speed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 90539cea33)
2013-12-07 11:44:18 +01:00
Michael Niedermayer
e8304f4ee0 avcodec/error_resilience: factor er_supported() check out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit afb18c5578)
2013-12-07 11:44:15 +01:00
Michael Niedermayer
cbcc18bd9f avfilter/vf_pad: fix req_end
Fixes out of array accesses
Fixes Ticket3190

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0cc5011f9a)
2013-12-03 09:52:23 +01:00
Michael Niedermayer
c765b64641 avcodec/h264_refs: improve key frame detection heuristic
Fixes Ticket3186

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e3d7a3978b)
2013-12-02 03:04:04 +01:00
Michael Niedermayer
1141a18e89 avcodec/h264_refs: split conditions of if() up for better readability
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ab6ea7a819)

Conflicts:
	libavcodec/h264_refs.c
2013-12-02 03:03:41 +01:00
Nicolas George
12c2d2ed46 lavc/srtenc: use bprint for text buffers.
Fix trac ticket #3120.
(cherry picked from commit 4b1c9b720e)
2013-11-30 19:22:07 +01:00
Michael Niedermayer
88e368d5a7 ffmpeg: set VCFR when copying timestamps
This fixes unreasonable initial frame repeats
Fixes Ticket3176

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 738ebb4a0e)
2013-11-29 11:31:05 +01:00
Nicolas George
ad19cb3ca7 lavfi/af_pan: support unknown layouts on input.
Fix trac ticket #2899.
(cherry picked from commit 7b0a587393)
2013-11-28 01:05:33 +01:00
Nicolas George
bc04a3a489 lavfi/af_pan: support unknown layouts on output.
(cherry picked from commit 4e9adc9b73)
2013-11-28 01:05:26 +01:00
Nicolas George
cfcb22a77b lswr: fix assert failure on unknown layouts.
(cherry picked from commit 4a640a6ac8)
2013-11-28 01:05:20 +01:00
Nicolas George
838a453e39 lavfi: parsing helper for unknown channel layouts.
Make ff_parse_channel_layout() accept unknown layouts too.
(cherry picked from commit 6e2473edfd)
2013-11-28 01:05:14 +01:00
Nicolas George
1a676881ca lavfi/avfiltergraph: do not reduce incompatible lists.
A list of "all channel layouts" but not "all channel counts"
can not be reduced to a single unknown channel count.
(cherry picked from commit d300f5f6f5)
2013-11-28 01:05:07 +01:00
Nicolas George
c2ae9f75d7 lavfi/avfiltergraph: suggest a solution when format selection fails.
Format selection can fail if unknown channel layouts are used
with filters that do not support it.
(cherry picked from commit f775eb3fb4)
2013-11-28 01:05:01 +01:00
Nicolas George
31647c5a46 lavd/lavfi: support unknown channel layouts.
(cherry picked from commit 863fb11f63)
2013-11-28 01:04:54 +01:00
Michael Niedermayer
9422cd85a0 update for 2.1.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-20 03:12:11 +01:00
Michael Niedermayer
87c416d93a avcodec/pcm-dvd: fix 20/24bit 1 channel
Fixes part of ticket3122

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:

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

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

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

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

Conflicts:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

See: 435a730e21
See: 72cf47b241

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

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

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

Fixes Ticket2836

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

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

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

Fixes Ticket2811

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

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

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

Fixes Ticket2363

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

Conflicts:
	libavutil/base64.c

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

Fixes Ticket2849

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavcodec/golomb.h

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

Conflicts:
	libavfilter/x86/vf_gradfun_init.c

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

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

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

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

as well as other samples

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

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

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

Conflicts:
	libavcodec/golomb.h

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

Conflicts:
	libavcodec/h263dec.c

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

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

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

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

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

Conflicts:
	libavcodec/mpegvideo.c

Merge for metadata only, the change looks wrong.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:

	libavcodec/utils.c

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

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

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

Conflicts:
	libavcodec/h264_parser.c

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/avio.c

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

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

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

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

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

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

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

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

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

Test both cases to ensure the wakeup is real.

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

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

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

These tests do not depend on external samples

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

Regression since dbfe6110.

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

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

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

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

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

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

Fixes CID1108608

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/wtvdec.c

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

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

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

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

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

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

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

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

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

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

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

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

With the new parser the string:
1234

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

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

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

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

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

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

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

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

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

Nothing should rely on pointers from av_strdup being aligned.

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

Conflicts:
	libavcodec/mpegvideo_motion.c

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

Conflicts:
	libavcodec/mpegvideo_motion.c

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

Conflicts:
	libavcodec/ffv1dec.c

Note, FFmpeg is not affected by this bug

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

Conflicts:
	libavcodec/mpegvideo_motion.c

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

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

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

Conflicts:
	libavcodec/h264.c

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

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

Conflicts:
	tests/fate/cover-art.mak

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

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

Conflicts:
	tests/tiny_psnr.c

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

Conflicts:
	libavcodec/bitstream.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/http.c

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

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

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

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

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

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

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

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

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

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

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

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

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

This partialy reverts commit 79687079a9.

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

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

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

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

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

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

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

Conflicts:
	libavcodec/cavsdec.c

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

Conflicts:
	libavcodec/cavsdec.c

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

Conflicts:
	libavcodec/cavs.c

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

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

This fixes a deadlock with ffserver

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

Conflicts:
	libavformat/version.h

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

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

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

Conflicts:
	libavcodec/pthread.c

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

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

Fixes part of Ticket2921

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavcodec/indeo4.c

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

Conflicts:
	libavcodec/indeo4.c

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

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

Conflicts:
	libavformat/oggparsevorbis.c

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

Conflicts:
	libavformat/Makefile
	libavformat/flacdec.c

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

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

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

Conflicts:
	libavformat/oggparsevorbis.c

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

Conflicts:
	libavformat/oggparsevorbis.c

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

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

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

The tests do not pass, and thus where disabled

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

The tests do not pass, and thus where disabled

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

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

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

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

wm4, j-b and smarter prefer hevc.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Trick obsoleted since 72dabdfc58.

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

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

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

Conflicts:
	libavformat/flvenc.c

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

Conflicts:
	libavformat/flvenc.c

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

Conflicts:
	libavformat/flvenc.c

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

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

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

Conflicts:
	libavformat/avidec.c

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

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

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

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

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

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

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

This makes sure VP6 in F4V files is cropped properly.

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

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

Conflicts:
	libavcodec/vmnc.c

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

Conflicts:
	libavcodec/vmnc.c

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

Conflicts:
	libavcodec/vmnc.c

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

Fixes Ticket2738

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

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

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

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

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

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

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

Conflicts:
	libavutil/x86/x86inc.asm

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

Conflicts:
	configure

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

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

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

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

Also, make the failure message more accurate.

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

Conflicts:
	libavcodec/shorten.c

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

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

Move website and mailinglists from Miscellaneous Areas to
Communication.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	configure

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/oggparsevorbis.c

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

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

Conflicts:
	libswscale/utils.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/oggparsevorbis.c

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

Conflicts:
	libavformat/Makefile

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavcodec/atrac3.c

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

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

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

Conflicts:
	libavcodec/atrac3.c

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

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

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

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

Conflicts:
	libavcodec/avcodec.h

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

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

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

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

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

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

Fate changes as PAL8 gets used instead of BGR8

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

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

Conflicts:
	libavformat/mxfdec.c

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

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

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

Fixes null pointer dereference
Fixes Ticket3002

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

Fixes Ticket2920

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

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

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

Defaulting to something reasonable is better behavior.

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

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

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

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

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

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

Conflicts:
	libavformat/oma.c

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

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

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

Conflicts:
	libavcodec/pcx.c

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

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

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

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

Conflicts:
	libavcodec/xan.c

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

Conflicts:
	libavcodec/xan.c

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

Conflicts:
	libavcodec/pcx.c

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

Conflicts:
	libavcodec/pngdec.c

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

Conflicts:
	libavformat/mov.c

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

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

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

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

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

Conflicts:
	libavformat/mvi.c

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

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

Conflicts:
	libavformat/xwma.c

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

Conflicts:
	libavformat/avidec.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavutil/frame.h

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

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

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

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

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

Conflicts:
	libavformat/lxfdec.c

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

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

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

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

Conflicts:
	libavformat/lxfdec.c

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

Conflicts:
	libavformat/avienc.c

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

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

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

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

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

Conflicts:
	libavformat/http.c

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

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

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

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

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

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

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

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

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

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

Partially based on a patch by Peter Ross.

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

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

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

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

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

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

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

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

Fixes very long running loop
Fixes Ticket2977

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

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

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

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

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

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

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

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

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

Conflicts:
	doc/filters.texi

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

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

Conflicts:
	libavcodec/cabac.c

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

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

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

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

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

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

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

Conflicts:
	libavcodec/libx264.c

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

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

Conflicts:
	libavcodec/h264.c

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

Conflicts:
	libavcodec/h264.c

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

Conflicts:
	libavcodec/h264_sei.c

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

Conflicts:
	libavcodec/mpegvideo.c

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

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

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

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

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

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

The breakage was diagnosed by Anton Khirnov.

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

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

Conflicts:
	libavcodec/h263dec.c

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

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

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

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

Conflicts:
	libavformat/movenchint.c

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

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

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

Conflicts:
	libavformat/electronicarts.c

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

Conflicts:
	libavformat/utils.c

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

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

Conflicts:
	libavcodec/vc1dec.c

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

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

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

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

Conflicts:
	libavcodec/wnv1.c

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

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

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

Conflicts:
	libavformat/movenc.c

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

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

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

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

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

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

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

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

Pointed out by Michael Niedermayer.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	configure

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

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

Conflicts:
	libavcodec/dcadec.c

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

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

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

Conflicts:
	libavformat/r3d.c

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

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

Conflicts:
	libavformat/wtv.c

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

Conflicts:
	libavformat/yop.c

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

Conflicts:
	libavcodec/fraps.c

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

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

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

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

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

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

Conflicts:
	libavcodec/svq3.c

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

Conflicts:
	libavcodec/qpeg.c

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

Conflicts:
	libavcodec/mpegaudiodec.c

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

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

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

Conflicts:
	libavformat/movenc.c

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

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

Conflicts:
	Changelog
	libavformat/version.h

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

Conflicts:
	libavformat/asfenc.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	Changelog
	libavcodec/aacdec.c

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

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

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

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

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

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

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

Conflicts:
	libavformat/rmdec.c

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

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

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

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

Conflicts:
	libavformat/version.h

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

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

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

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

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

Conflicts:
	libavformat/xmv.c

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

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

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

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

Conflicts:
	libavcodec/dca_parser.c

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

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

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

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

Fixes ticket #2370

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

"Fixed regression for mandatory VIDIOC_ENUMSTD support by v4l2"

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

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

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

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

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

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

This support primarily involves tracking information about the
data that's been read, so the reader can pick up where it left
off for a given channel.

As a side effect, we no longer over-report the bytes read if
(toread = MIN(size, chunk_size)) == size

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 23:19:11 +03:00
Michael Niedermayer
2d28950da9 swscale/utils: remove redundant NULL checks before sws_freeVec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:48:54 +02:00
Michael Niedermayer
a446657d8c swscale/utils: simplify cpu caps printing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:31:58 +02:00
Michael Niedermayer
9d052adbeb swscale/utils: Simplify scaler name printing code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:29:42 +02:00
Lenny Wang
29664fab0c OpenCL: convert meaningless "device id" output to "device name"
Approved-by: Wei Gao <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 21:21:11 +02:00
Paul B Mahol
78f680cb36 avformat/smacker: use av_malloc_array() and check for allocation error
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-17 18:29:48 +00:00
Michael Niedermayer
7703d19c40 lavf/options_table: improve option help text
Contains text suggested by carl

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 19:47:58 +02:00
Chih-Wei Huang
985920433c avformat/asfenc: fix a build error
It's introduced by the erroneous merging commit cbe47b1e.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 19:34:53 +02:00
Paul B Mahol
112017e990 avfilter/x86/vf_pullup: try to fix build on x64
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-17 17:20:58 +00:00
Martin Storsjö
d4c2a3740f xmv: Add more sanity checks for parameters read from the bitstream
Since the number of channels is multiplied by 36 and assigned to
to a uint16_t, make sure this calculation didn't overflow. (In
certain cases the calculation could overflow leaving the
truncated block_align at 0, leading to divisions by zero later.)

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:25 +03:00
Martin Storsjö
dc4acc8200 rtmpproto: Extend a comment to explain the prev_pkt arrays roles
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:25 +03:00
Martin Storsjö
647d655d19 rtmpproto: Consistently use the right prev_pkt array
prev_pkt[0] is used for input packets, while prev_pkt[1] is
used for output.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:24 +03:00
Martin Storsjö
0d3784396b rtmpproto: Check for the right return code
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 20:09:22 +03:00
Paul B Mahol
9c774459a9 avfilter: port pullup filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-17 17:03:36 +00:00
John Stebbins
8411baf6f0 dca_parser: Handle changes in DCA frame size
A change in framesize caused a perpetual loss of synchronization.
So read (and use) the frame size from the frame header instead of
setting it only once.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-17 18:16:47 +02:00
Derek Buitenhuis
fcb069af8f lavc: Don't export ff_vdpau_vc1_decode_picture
It's not our responsibility to account for other projects'
terrible hacky usage.

Also, it is no longer needed by XMBC, since 78b71d4.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-09-17 12:12:21 -04:00
Michael Niedermayer
aec91de549 swscale/utils: Allow sws_setColorspaceDetails() to use the tables from sws_getColorspaceDetails()
Previously this would have lead to a memcpy(a,a) which violates the
requirement of non overlapping src and dst.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 17:21:13 +02:00
Michael Niedermayer
0988709673 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Add missing hashes and dates to APIChanges

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 17:09:58 +02:00
Michael Niedermayer
102a1d9239 Merge commit 'b1db33159fdc2da4bdd8c75e4ff9a7dd0ef2f0c2'
* commit 'b1db33159fdc2da4bdd8c75e4ff9a7dd0ef2f0c2':
  ffv1: Make sure at least one slice context is initialized

Conflicts:
	libavcodec/ffv1.c

This condition is not possible in ffmpegs ffv1 code and already
checked for by assert() for the case that some future changes make it possible.
Thus merge just for meta-data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 17:03:22 +02:00
Michael Niedermayer
1976976674 Merge commit 'ea78a348d86a3a733f6c1e0a65cfdd8283d924b9'
* commit 'ea78a348d86a3a733f6c1e0a65cfdd8283d924b9':
  eacmv: Make sure a reference frame exists before referencing it

Conflicts:
	libavcodec/eacmv.c

See: 113d7be624
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:47:18 +02:00
Michael Niedermayer
8fc441cee8 Merge commit 'c39f7eba01cd656e8f0eed592f93d11814736650'
* commit 'c39f7eba01cd656e8f0eed592f93d11814736650':
  truemotion2: Use av_freep properly in an error path

Conflicts:
	libavcodec/truemotion2.c

See: c54aa2fb0f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:39:16 +02:00
Michael Niedermayer
028f8c3ecb Merge commit 'f875a732e36786d49f3650e3235272891a820600'
* commit 'f875a732e36786d49f3650e3235272891a820600':
  mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory

Conflicts:
	libavcodec/mpeg4videodec.c

See: fc5c49ab32
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:26:59 +02:00
Michael Niedermayer
8d0b899e38 Merge commit 'a92538b7c0defc86c55fb91f55dfa36aad192673'
* commit 'a92538b7c0defc86c55fb91f55dfa36aad192673':
  ivi_common: Make sure color planes have been initialized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:22:47 +02:00
Michael Niedermayer
7f20440b4c Merge commit '7f8d41eb097e8d4223c9caf97dd332a2fdb29d52'
* commit '7f8d41eb097e8d4223c9caf97dd332a2fdb29d52':
  mov: Don't use a negative duration for setting other fields

Conflicts:
	libavformat/mov.c

See: 87d073eacc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 16:04:41 +02:00
Stefano Sabatini
5d12ec8fb7 ffprobe: downgrade log level for non fatal errors in open_input_file()
Since the errors are not fatal, it is less confusing not to show them as
errors but as warnings.

Arbitrarily fixes trac ticket #2419.
2013-09-17 15:59:48 +02:00
Michael Niedermayer
a1fb3e5127 Merge commit '19b9659f3174599e8685d329c4330b1ea8c4c6db'
* commit '19b9659f3174599e8685d329c4330b1ea8c4c6db':
  oggparseogm: Convert to use bytestream2

Conflicts:
	libavformat/oggparseogm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:50:21 +02:00
Michael Niedermayer
b3dfda8a41 Merge commit '711c970168297683860422e95d6b7e37ee3c8367'
* commit '711c970168297683860422e95d6b7e37ee3c8367':
  rv34: Check the return value from ff_rv34_decode_init

Conflicts:
	libavcodec/rv30.c
	libavcodec/rv40.c

See: b86651a208
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:38:09 +02:00
Michael Niedermayer
2c8d876dea Merge commit '569d18aa9dc989c37bb4d4b968026fe5afa6fff9'
* commit '569d18aa9dc989c37bb4d4b968026fe5afa6fff9':
  matroskadec: Verify realaudio codec parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:25:45 +02:00
Michael Niedermayer
7163bbefa2 Merge commit 'e1f3847f860a1094a46be4c5f10db8df616c3135'
* commit 'e1f3847f860a1094a46be4c5f10db8df616c3135':
  mace: Make sure that the channel count is set to a valid value

Conflicts:
	libavcodec/mace.c

See: 6df1cfa7e4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:16:01 +02:00
Michael Niedermayer
a64b99503b Merge commit '1115689d54ea95a084421f5a182b8dc56cbff978'
* commit '1115689d54ea95a084421f5a182b8dc56cbff978':
  svq3: Check for any negative return value from ff_h264_check_intra_pred_mode

Conflicts:
	libavcodec/svq3.c

See: 019eb2c77b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 15:07:09 +02:00
Martin Storsjö
18a245a2ae jpeg2000dec: Add more checks when parsing headers
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 15:57:27 +03:00
Luca Barbato
c38854c399 doc: Add missing hashes and dates to APIChanges
Also fix the typo in the last entry version.
2013-09-17 13:31:54 +02:00
Michael Niedermayer
e960b3e27e avformat/utils: Print warning if reallocating probe buffer failed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 13:09:24 +02:00
Michael Niedermayer
01b4689d20 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: rename main_channel_id to stream_id.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 13:03:50 +02:00
Michael Niedermayer
208f9dd2ef Merge commit 'd4aef997809167832ecc64e89dda8cb445e5fe10'
* commit 'd4aef997809167832ecc64e89dda8cb445e5fe10':
  rtmp: Follow Flash player numbering for channels.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:57:19 +02:00
Michael Niedermayer
c71541d42a Merge commit '120af23cd5fcfc539d9575d17d403247ab17109b'
* commit '120af23cd5fcfc539d9575d17d403247ab17109b':
  rtmp: Send video on a separate channel.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:52:25 +02:00
Michael Niedermayer
3f760214b4 Merge commit '68b467742092364f9306283f40effde2c12efe08'
* commit '68b467742092364f9306283f40effde2c12efe08':
  lavf: Make probe_codec return an error code

Conflicts:
	libavformat/utils.c

A failure to reallocate should not free the array as it is used
to probe the codec. And failure to reallocate if the following
probe succeeds isnt a fatal error for probe_codec(). Thus this
is only partially merged to ensure probing still is attempted
with the data available.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:44:31 +02:00
Stefano Sabatini
4149981b37 doc/fftools-common-opts: document -help long and full output 2013-09-17 12:30:40 +02:00
Michael Niedermayer
8947de17f9 Merge commit '1daea5232fc9963ba93b1b6d07a2373f87c9b392'
* commit '1daea5232fc9963ba93b1b6d07a2373f87c9b392':
  x86: Add an xmm clobbering wrapper for avcodec_encode_video2

See: ede42109e7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:22:18 +02:00
Michael Niedermayer
7b836487a9 Merge commit '73084391588b0f150737990038829cac5013dd68'
* commit '73084391588b0f150737990038829cac5013dd68':
  lavf: Don't explicitly flush after each written packet in muxers

Conflicts:
	libavformat/assenc.c
	libavformat/yuv4mpeg.c

See: 8de9bb6e5e

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:16:55 +02:00
Michael Niedermayer
96e6447d62 Merge commit '596e5d4783ca951258a7c580951fd161f1785ec1'
* commit '596e5d4783ca951258a7c580951fd161f1785ec1':
  lavf: Add a flag to enable/disable per-packet flushing

Conflicts:
	libavformat/avformat.h
	libavformat/mux.c
	libavformat/version.h

This adds a 2nd API to set per packet flushing
If the user application indicates through either a non default then this non default takes
precedence over the other still default value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 12:01:35 +02:00
Michael Niedermayer
22f79a2d60 Merge commit '0a9425d7cfdf0113c3d32096c9406823efe0cd0a'
* commit '0a9425d7cfdf0113c3d32096c9406823efe0cd0a':
  flv: Do not export datastream as metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:44:02 +02:00
Michael Niedermayer
a275ff7e01 Merge commit '92ed83e393d25b6d15920e90d56ee77de54a9728'
* commit '92ed83e393d25b6d15920e90d56ee77de54a9728':
  rtmp: Store all the notify messages

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:39:45 +02:00
Michael Niedermayer
9589b61904 Merge commit 'fe0337e89bbbe84b7274fbb0d9d56ed992937931'
* commit 'fe0337e89bbbe84b7274fbb0d9d56ed992937931':
  rtmp: Do not send the first field twice within the handshake

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:34:30 +02:00
Michael Niedermayer
c9eb2ce085 Merge commit '666ed7eda1d568638689ac7b0cef0a9e564ffbdf'
* commit '666ed7eda1d568638689ac7b0cef0a9e564ffbdf':
  rtmp: Drop an unneeded warning

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:28:16 +02:00
Michael Niedermayer
953a4191b8 Merge commit 'ffb7669e47343ac0caa866361965fdb2bf6ed825'
* commit 'ffb7669e47343ac0caa866361965fdb2bf6ed825':
  rtmp: Support play method in listen mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:22:54 +02:00
Michael Niedermayer
0483cfe8ca Merge commit '97d35fa89f73468d64f663bfc0686aa6cddd8b6a'
* commit '97d35fa89f73468d64f663bfc0686aa6cddd8b6a':
  rtmp: Factor out publish specific code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:17:11 +02:00
Michael Niedermayer
c74c3fb142 Merge commit '3feb3d6ce4be0a09a9f8f13d613bed25b523b6e7'
* commit '3feb3d6ce4be0a09a9f8f13d613bed25b523b6e7':
  mem: Introduce av_reallocp

Conflicts:
	doc/APIchanges
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 11:06:26 +02:00
Martin Storsjö
ede42109e7 x86: Add an xmm clobbering wrapper for avcodec_encode_video2
This is required since 187105ff8 when we started trying to
wrap this function as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 10:53:23 +02:00
Michael Niedermayer
ff4548f223 Merge commit '187105ff8a02bafc9c58d9d8363bb3f55a415635'
* commit '187105ff8a02bafc9c58d9d8363bb3f55a415635':
  Fix references to deleted avcodec_encode_video() function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 10:53:14 +02:00
Martin Storsjö
b1db33159f ffv1: Make sure at least one slice context is initialized
This avoids crashes when initializing the range coder for
the first slice context.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
ea78a348d8 eacmv: Make sure a reference frame exists before referencing it
This is similar to an existing check for the second-last frame
from 062421e3.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
c39f7eba01 truemotion2: Use av_freep properly in an error path
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
f875a732e3 mpeg4videodec: Check the width/height in mpeg4_decode_sprite_trajectory
This avoids a potential division by zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
a92538b7c0 ivi_common: Make sure color planes have been initialized
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:38 +03:00
Martin Storsjö
7f8d41eb09 mov: Don't use a negative duration for setting other fields
Some files have the duration set to -1 in the mdhd atom, more
or less legitimately. (We produce such files ourselves, for the
initial duration in fragmented mp4 files.)

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:37 +03:00
Martin Storsjö
19b9659f31 oggparseogm: Convert to use bytestream2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:37 +03:00
Martin Storsjö
711c970168 rv34: Check the return value from ff_rv34_decode_init
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:33:37 +03:00
Martin Storsjö
569d18aa9d matroskadec: Verify realaudio codec parameters
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:22:30 +03:00
Martin Storsjö
e1f3847f86 mace: Make sure that the channel count is set to a valid value
Also return a proper error code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:21:46 +03:00
Martin Storsjö
1115689d54 svq3: Check for any negative return value from ff_h264_check_intra_pred_mode
Also pass on any returned error code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:21:16 +03:00
Josh Allmann
f8d1bb6723 rtmp: rename main_channel_id to stream_id.
This more closely corresponds to the usage of the field.
Its usage here is unrelated to the channel ID.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:03:36 +03:00
Josh Allmann
d4aef99780 rtmp: Follow Flash player numbering for channels.
Channel 4 is typically used by the Flash player to transmit
audio, channel 6 for video, and various stream-specific invokes
get sent over channel 8, which is designated the source channel.

This more closely matches the behavior of the Flash player,
including the transmission of play requests over channel 8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:03:36 +03:00
Josh Allmann
120af23cd5 rtmp: Send video on a separate channel.
Sending non-monotonic packets (e.g. when the audio and video
streams are monotonic within themselves but not muxed
monotonically) will lead to negative values the RTMP timestamp
field (where timestamps are transmitted only as deltas for each
channel), and this delta can end up being incorrectly written as
a large unsigned number.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 11:03:36 +03:00
Michael Niedermayer
7129935ed2 avcodec/mjpegdec: Fix ljpeg RCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 02:00:15 +02:00
Michael Niedermayer
7dea2eab7e Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not suggest to increase probesize for image2 files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-17 00:27:40 +02:00
Carl Eugen Hoyos
5c2be81b39 Do not suggest to increase probesize for image2 files. 2013-09-17 00:08:12 +02:00
Vignesh Venkatasubramanian
bcac6b438e lavf/oggopus: Fixing a log message
Re-wording a log message that's no longer true and changing its
severity level to debug.

Signed-off by: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 23:46:39 +02:00
Michael Niedermayer
b9e7bde6bd lavf/avienc: use av_freep() avoid stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 22:49:17 +02:00
Michael Niedermayer
46a723ec72 swscale/yuv2rgb: make sure yuvTable is set to NULL after deallocation
ensures no stale pointers remain

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 22:47:21 +02:00
Michael Niedermayer
9078b40d35 swresample: replace 2 av_free() by av_freep()
avoids leaving stale pointers in memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 22:44:15 +02:00
Alexandra Khirnova
68b4677420 lavf: Make probe_codec return an error code
This allows handling errors from av_realloc properly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:28:23 +03:00
Martin Storsjö
1daea5232f x86: Add an xmm clobbering wrapper for avcodec_encode_video2
This is required since 187105ff8 when we started trying to
wrap this function as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:22:41 +03:00
Clément Bœsch
7308439158 lavf: Don't explicitly flush after each written packet in muxers
Since 596e5d4783, this is not necessary anymore. It also allows to
actually disable the flushing, improving write performance (but
possibly giving worse latency in real-time streaming).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:17:33 +03:00
Luca Barbato
596e5d4783 lavf: Add a flag to enable/disable per-packet flushing
This is enabled by default and can be disabled with
"-fflags -flush_packets".

Inspired by a patch from Nicolas George <nicolas.george@normalesup.org>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 22:11:08 +03:00
Paul B Mahol
c051d668b5 avformat/avidec: use av_calloc() and check for allocation error
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 18:53:28 +00:00
Vignesh Venkatasubramanian
23637f98f4 lavf/ogg: Support for end trimming Opus
Adding support for end trimming Opus embedded in Ogg container.

Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 21:42:41 +02:00
Luca Barbato
0a9425d7cf flv: Do not export datastream as metadata
It is used internally.
2013-09-16 19:36:37 +02:00
Luca Barbato
92ed83e393 rtmp: Store all the notify messages
The onTextData is used to implement text data streams in flv.
2013-09-16 19:36:37 +02:00
Luca Barbato
fe0337e89b rtmp: Do not send the first field twice within the handshake 2013-09-16 19:36:37 +02:00
Luca Barbato
666ed7eda1 rtmp: Drop an unneeded warning
Apparently a widely used streaming server requires that the second
field always presents a version during C1 phase.
2013-09-16 19:36:37 +02:00
Luca Barbato
ffb7669e47 rtmp: Support play method in listen mode 2013-09-16 19:36:37 +02:00
Luca Barbato
97d35fa89f rtmp: Factor out publish specific code
Will be reused for supporting play.
2013-09-16 19:36:37 +02:00
Luca Barbato
3feb3d6ce4 mem: Introduce av_reallocp 2013-09-16 19:36:37 +02:00
Timothy Gu
b7dd459863 doc/formats: Add documentation for 3 parameters that have been missing
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 17:49:10 +02:00
Paul B Mahol
9d05de2258 avfilter: add adelay filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 14:33:07 +00:00
Paul B Mahol
42b8f5fba1 avformat/segafilm: remove deplanarization hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 13:30:20 +00:00
Paul B Mahol
ca5456db7f avformat/segafilm: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 13:12:45 +00:00
Michael Niedermayer
02f56bfcc3 avformat/sierravmd: use av_freep() for freeing context fields
This ensures that there are no stale pointers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 14:53:56 +02:00
Paul B Mahol
563057731a avfilter/vf_stereod3d: add const qualifiers to ana_convert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 12:37:29 +00:00
Paul B Mahol
c74d5929df avfilter/vf_stereo3d: BGR24 support for anaglyphs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 12:37:29 +00:00
Paul B Mahol
fcea6f71ad avfilter/vf_stereo3d: avoid pointless copy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-16 12:37:29 +00:00
Michael Niedermayer
7283d2bb90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avpacket: Fix error checking in packet_alloc

Conflicts:
	libavcodec/avpacket.c

See: b905a7137a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 14:22:26 +02:00
Michael Niedermayer
b3970b3949 Merge commit '6fc8226e29055858f28973bb3d27b63b3b65e616'
* commit '6fc8226e29055858f28973bb3d27b63b3b65e616':
  vp3: Check the framerate for validity

Conflicts:
	libavcodec/vp3.c

See: a56d963f11
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 14:10:31 +02:00
Vittorio Giovara
187105ff8a Fix references to deleted avcodec_encode_video() function 2013-09-16 13:59:19 +02:00
Michael Niedermayer
e0fcd0294e Merge commit 'ac9d159015a88aa2721b271875d18482f713f354'
* commit 'ac9d159015a88aa2721b271875d18482f713f354':
  proresdec: Properly make sure an index doesn't run past the limit

Conflicts:
	libavcodec/proresdec_lgpl.c

See: 30df9789a9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 13:42:20 +02:00
Michael Niedermayer
18e0dd05df Merge commit 'e90a6846c2c006fbebd00e1f2789f4a86fafacef'
* commit 'e90a6846c2c006fbebd00e1f2789f4a86fafacef':
  cavsdec: Make sure a sequence header has been decoded before decoding pictures

See: ec0965be36
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 13:04:00 +02:00
Michael Niedermayer
ff0a382758 Merge commit '5bbfe193a0a41bd2adb648c8c3f6901a575734a2'
* commit '5bbfe193a0a41bd2adb648c8c3f6901a575734a2':
  vocdec: Don't update codec parameters mid-stream

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:38:56 +02:00
Michael Niedermayer
cfa909ef5b Merge commit '0ef1660a6365ce60ead8858936b6f3f8ea862826'
* commit '0ef1660a6365ce60ead8858936b6f3f8ea862826':
  sierravmd: Do sanity checking of frame sizes

Conflicts:
	libavformat/sierravmd.c

See: 47c4713a23
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:32:24 +02:00
Michael Niedermayer
a444ddff03 Merge commit '342c43d154e586bc022c86b168fe8d36f69da9d3'
* commit '342c43d154e586bc022c86b168fe8d36f69da9d3':
  omadec: Properly check lengths before incrementing the position

See: f1d6f013b2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:15:42 +02:00
Michael Niedermayer
97f8d9feb7 Merge commit 'a06a5b78e2c3bd2e12aff0627a3b65c6fee555a5'
* commit 'a06a5b78e2c3bd2e12aff0627a3b65c6fee555a5':
  mathops/x86: work around inline asm miscompilation with GCC 4.8.1

See: 659df32a9d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 12:01:12 +02:00
Martin Storsjö
85e8192b85 avpacket: Fix error checking in packet_alloc
Previously the wrong buffer pointer was checked, when buf
instead of *buf was checked. But checking the return value
instead is even better.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:22:42 +03:00
Martin Storsjö
6fc8226e29 vp3: Check the framerate for validity
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
ac9d159015 proresdec: Properly make sure an index doesn't run past the limit
If idx equaled num_coeffs - 1 on entry to the loop, the previous
check failed to break out of the loop.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
e90a6846c2 cavsdec: Make sure a sequence header has been decoded before decoding pictures
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
5bbfe193a0 vocdec: Don't update codec parameters mid-stream
If we really want to support parameter changes, they need to be
signalled along with the AVPackets as parameter change side data,
not just changing the AVCodecContext parameters when a packet
is demuxed (since there may be other earlier packets yet undecoded).

Something similar was already done for the sample rate in 0883109b2,
but some parameters were left changeable.

This avoids having to recheck the channel count for validity for
each decoded frame in (ad)pcm decoders, unless the decoders
explicitly say that they accept parameter changes.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
0ef1660a63 sierravmd: Do sanity checking of frame sizes
Limit the size to INT_MAX/2 (for simplicity) to be sure that
size + BYTES_PER_FRAME_RECORD won't overflow.

Also factorize other existing error return paths.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Martin Storsjö
342c43d154 omadec: Properly check lengths before incrementing the position
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Compn
9ea3598085 riff: g723_1 decodes vivo g723.1 in asf
works on bellair_digital_movie.asf
2013-09-15 22:03:03 -04:00
Michael Niedermayer
7fb2622456 avcodec/mjpegdec: rgba64 ljpeg support
Fixes Ticket2965

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 03:00:54 +02:00
Michael Niedermayer
1e4e0bd907 avcodec/mjpegdec: change error return value to be outside the 16bit range
Fixes part of Ticket2965

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-16 02:59:33 +02:00
Paul B Mahol
7ac6c6325e libavfilter/libmpcodecs: remove unused files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 21:43:04 +00:00
Michael Niedermayer
b4a5fcb998 avcodec/mjpegdec: Fix rgb48 ljpeg
Fixes Ticket894

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 23:36:11 +02:00
Alexander Strasser
069010ffae lavf/subtitles: Make comment less arrogant
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-09-15 22:37:13 +02:00
Clément Bœsch
04427182bc avcodec: typo fix sepera* → separa* 2013-09-15 21:32:42 +02:00
Paul B Mahol
24678a61d9 avfilter/vf_gradfun: use av_calloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 19:07:02 +00:00
Paul B Mahol
693747c3d0 avfilter/vsrc_life: use av_calloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 19:07:01 +00:00
Michael Niedermayer
4f1a17b1a9 avcodec/c93: force dimensions to the correct value instead of depending on the demuxer to do so
Fixes Ticket2934

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 20:32:09 +02:00
Hendrik Leppkes
a06a5b78e2 mathops/x86: work around inline asm miscompilation with GCC 4.8.1
The volatile is not required here, and prevents a miscompilation with GCC
4.8.1 when building on x86 with --cpu=i686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-09-15 11:15:07 -04:00
Michael Niedermayer
821a5938d1 avcodec/g2meet: Fix order of align and pixel size multiplication.
Fixes out of array accesses
Fixes Ticket2922

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 16:33:27 +02:00
Michael Niedermayer
e428632c1a avcodec/jpeg2000dec: print invalid cdx/y values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 15:37:16 +02:00
Michael Niedermayer
3dfc5f551f avfilter: avoid testing float == 0
This fixes the hypothetical case of rounding errors causing
incorrect values to be used.
We do not use *_EPSILON, because non trivial expressions can contain
errors larger than that making a zero equality test with *_EPSILON
unreliable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 15:33:39 +02:00
Paul B Mahol
60abdb6c17 avfilter/af_aecho & af_compand: use extended_data
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 12:10:12 +00:00
Compn
a06e20888d changelog: add ffv1 yuva and dts streamid change 2013-09-15 07:24:16 -04:00
Paul B Mahol
211a185cba avfilter/avfilter: check allocation failure in ff_insert_pad()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-15 11:09:23 +00:00
James Almer
5ab7b3b948 matroskadec: Mute "Unknown entry" log messages for CueRelativePosition entries
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 12:57:19 +02:00
Michael Niedermayer
61b3b58720 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mem: Document the non-compatibility of av_realloc() and av_malloc()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 11:57:02 +02:00
Timothy Gu
81bbe49a0e doc/encoders: improve libvo-aacenc doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-09-15 11:35:32 +02:00
Timothy Gu
0e11790cf7 doc/encoders: add doc for AAC encoder
Thanks-to: Kostya Shishkov <kostya.shishkov@gmail.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-09-15 11:35:17 +02:00
Michael Niedermayer
529540759f avcodec/simple_idct_template: adjust coeffs for 12bit idct
This prevents overflows with 12bit jpegs
Fixes Ticket2952

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 03:21:03 +02:00
James Almer
d59213b5d3 matroskaenc: Bump DocTypeVersion to 4
The muxer has been creating files with v4 elements for some time now,
and especially now that we can mux non-experimental Opus files, reporting
the DocTypeVersion as 2 is not correct.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 02:08:15 +02:00
Dave Rice
2fcef19c38 Adding a line to Changelog about FFV1 version 1.3 now being stable
FFV1 version 1.3 is non-experimental as of Aug 26, 2013. Adding that to the changelog.

Signed-Off By: dericed <dave@dericed.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 23:16:57 +02:00
Paul B Mahol
f2afe96181 avformat/nutenc: use av_reallocp_array()
Fixes memleak on allocation error.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 16:14:43 +00:00
Paul B Mahol
6a70feadb0 avformat/nutenc: use av_calloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 16:14:43 +00:00
Diego Biurrun
9997a812e7 mem: Document the non-compatibility of av_realloc() and av_malloc() 2013-09-14 17:38:01 +02:00
Piotr Bandurski
1a3d142f1f avcodec/bfi: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 17:35:48 +02:00
Piotr Bandurski
bb5e7d3b5a avcodec/mationpixels: free memory after malloc failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 17:35:48 +02:00
Paul B Mahol
7d8939a0ff avfilter/avf_avectorscope: improve description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 12:11:22 +00:00
Paul B Mahol
8134edf3eb avcodec/cdxl: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-14 10:45:14 +00:00
Piotr Bandurski
8728360b56 avcodec/mationpixels: check for malloc failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 04:12:21 +02:00
Alexey Balekhov
90ca814267 ffserver: allow choosing the pixel format
Fixes Ticket2954

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 03:51:45 +02:00
Michael Niedermayer
108b91c3fe avcodec/mpeg12dec: clear mpeg_enc_ctx_allocated when contexts are deallocated
Fixes Ticket2950

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-14 00:31:40 +02:00
Michael Niedermayer
6c07e41f43 avcodec/mjpegdec: check for malloc failure of blocks[] and last_nnz[]
Fixes null pointer dereference
Fixes Ticket2947

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 23:25:16 +02:00
Paul B Mahol
23bd0335af avcodec/g2meet: remove redundant log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-13 20:41:12 +00:00
Paul B Mahol
3dcd3e08f6 avcodec/proresdec2: remove duplicated tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-13 19:28:10 +00:00
Paul B Mahol
b8b398027c avfilter/video: remove commented out cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-13 19:17:56 +00:00
Michael Niedermayer
f3ba91a3f1 avutil/pixdesc: dont try to use av_read_image_line() with bayer formats
It has undefined behavior ATM as its not supported.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 20:51:41 +02:00
Michael Niedermayer
a25585bb50 avutil/pixdesc: Prevent minor array overread in ff_check_pixfmt_descriptors()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 20:51:04 +02:00
Michael Niedermayer
fc477263fa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm-dvd: Minor leftovers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 13:48:43 +02:00
Michael Niedermayer
3c89ec2816 Merge commit 'd9cdb7d8d6d828bb5497ea3f0fd7edd2f3f6cc30'
* commit 'd9cdb7d8d6d828bb5497ea3f0fd7edd2f3f6cc30':
  pcm-dvd: Support channel configuration changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 13:43:13 +02:00
Christian Schmidt
aca25104ea pcm-dvd: Minor leftovers
Drop a pointless branch in uninit and use the compact copyright.
2013-09-13 12:14:05 +02:00
Christian Schmidt
d9cdb7d8d6 pcm-dvd: Support channel configuration changes
The sample buffering logic does not take into account that the blocksize
could change. Reset the buffer if the channel configuration changes,
since if there are leftover samples, it is most likely a broken or
misconcatenated stream. This could lead to negative numbers for
missing_samples during decoding.

Thanks to Michael Niedermeyer for pointing these out.
2013-09-13 12:14:05 +02:00
Michael Niedermayer
126ba68826 avfilter/vf_noise: rename linesize to bytewidth
Its the width in bytes and not the linesize or stride.
This makes the naming more consistent with the rest of the codebase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-13 11:51:37 +02:00
Michael Niedermayer
53102fa2f0 Revert "avfilter/vf_noise: dont corrupt the picture outside width x height"
This reverts commit 51dab60c7b.

this fixed nothing, and was just the result of assuming that the
variable named linesize was the linesize. Its not, its the width
in bytes which was already correct.

Found-by: durandal_1707
2013-09-13 11:51:37 +02:00
Georg Martius
ad96482d67 avfilter/vidstabtransform: allow negative zoom.
This is useful in addition to crop=black.

Signed-off-by: Clément Bœsch <clement@stupeflix.com>
2013-09-13 11:46:44 +02:00
Vignesh Venkatasubramanian
b7bd68853d lavf/matroska: Removing experimental suffix for Opus
Removing the /EXPERIMENTAL suffix for codec id field for Opus. Doing this
as the implementation of embedding Opus in Matroska is complete.

Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 23:55:29 +02:00
Vignesh Venkatasubramanian
1d0d2201b4 Adding a line to Changelog about Opus Matroska Support
Next release of ffmpeg will support embedding Opus in Matroska
container. Adding that to the Changelog.

Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 23:55:28 +02:00
Michael Niedermayer
e2774b3e3b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Set bits_per_raw_sample when reading j2k frames.
  libopenjpegdec.c: Correctly scale gray16 output if precision < 16
  Use rc_max_rate if no video bit_rate was specified when muxing mxf_d10.
  Store the video bit_rate in the context when muxing mxf.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 22:19:46 +02:00
Paul B Mahol
1b99514dfd avcodec/smacker: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 16:34:54 +00:00
Michael Niedermayer
16837f9846 avcodec/aacenc: use enum for aac coder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:25:30 +02:00
Timothy Gu
5748e24950 aacenc: use constants to set AAC coder
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:22:48 +02:00
Timothy Gu
4bd910d83d aacenc: add AAC_CODER_(FAAC|ANMR|etc.) macros
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:22:36 +02:00
Michael Niedermayer
bfe1445871 avcodec/aic: fix "warning: comparison of unsigned expression < 0 is always false"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:14:55 +02:00
Michael Niedermayer
51dab60c7b avfilter/vf_noise: dont corrupt the picture outside width x height
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 17:14:54 +02:00
Paul B Mahol
3eba83daed avfilter/vf_noise: unbreak filter when inline assembly is not present
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:54:10 +00:00
Michael Niedermayer
f144168d9b avcodec/smacker: fix some memleaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Michael Niedermayer
fbab9a7c22 avcodec/smacker: remove check that has become redundant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Michael Niedermayer
59a08d1939 avcodec/smacker: use the correct field instead of a hardcoded value for the index check in smacker_decode_tree()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Michael Niedermayer
d2d96f9e47 vformat/smacker: use av_freep() to ensure no stale pointers remain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 16:17:32 +02:00
Paul B Mahol
b211607b5c avfilter: various cosmetics
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-12 14:01:43 +00:00
Michael Niedermayer
ba5e77814e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  matroskaenc: Fix stray pointers left over from av_reallocp_array refactoring

Conflicts:
	libavformat/matroskaenc.c

Mostly not merged as the buggy code was no longer part of FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 15:26:06 +02:00
Stefano Sabatini
52ed1d6d58 MAINTAINERS: move sections from lavc to lavu
Reflect current code organization.
2013-09-12 15:17:11 +02:00
Michael Niedermayer
44fb7de8ee Merge commit 'c0779a67e85df856904ee6fab760c4233d4c2be5'
* commit 'c0779a67e85df856904ee6fab760c4233d4c2be5':
  mp3: add .mpa extension

Conflicts:
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 15:02:23 +02:00
Michael Niedermayer
07f6a3d787 Merge commit 'e2cd766ca1b9bb2ba72aca5f6ba5d8be15743984'
* commit 'e2cd766ca1b9bb2ba72aca5f6ba5d8be15743984':
  configure: Mention that icl does not build both static and shared libs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:57:23 +02:00
Michael Niedermayer
fa9e8bafc8 Merge commit 'b1e469885362febce3d9a4678624e44a92f77da9'
* commit 'b1e469885362febce3d9a4678624e44a92f77da9':
  g2meet: Allocate cursor buffers large enough to fit the aligned width

See: 3c4c5ca1c1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:48:55 +02:00
Michael Niedermayer
72abfba884 Merge commit '0f678c0214dccb355ed8955077a2bea46984fbc8'
* commit '0f678c0214dccb355ed8955077a2bea46984fbc8':
  aic: Validate values read from the bitstream

Conflicts:
	libavcodec/aic.c

See: 657875b145
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:33:49 +02:00
Michael Niedermayer
83d2b7e9a2 Merge commit '17d57848fc14e82f76a65ffb25c90f2f011dc4a0'
* commit '17d57848fc14e82f76a65ffb25c90f2f011dc4a0':
  mpc8: Make sure the first stream exists before parsing the seek table

Conflicts:
	libavformat/mpc8.c

See: 69fb605ad5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:31:07 +02:00
Michael Niedermayer
ad9a877a6d Merge commit '459f2b393a3f89ed08d10fbceb4738d1429f268e'
* commit '459f2b393a3f89ed08d10fbceb4738d1429f268e':
  mpc8: Check the seek table size parsed from the bitstream

Conflicts:
	libavformat/mpc8.c

See: b61ba262a1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 14:10:17 +02:00
Michael Niedermayer
d6e650d885 Merge commit '0d61f260010707f3028b818e8b24598e1a83d696'
* commit '0d61f260010707f3028b818e8b24598e1a83d696':
  zmbvdec: Check the buffer size for uncompressed data

Conflicts:
	libavcodec/zmbv.c

See: 44c23aa1b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:58:54 +02:00
Michael Niedermayer
fcfbc58a1c Merge commit '183b9d843a9533774fabd3984a52f3987001acbc'
* commit '183b9d843a9533774fabd3984a52f3987001acbc':
  ape: Don't allow the seektable to be omitted

See: e7cb161515
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:51:20 +02:00
Michael Niedermayer
4caf8c51de Merge commit 'b26742cc308552f242ee2bf93b07a3ff509f4edc'
* commit 'b26742cc308552f242ee2bf93b07a3ff509f4edc':
  shorten: Break out of loop looking for fmt chunk if none is found

See: 5e9a56a035
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:38:52 +02:00
Michael Niedermayer
a44d35d90f Merge commit '49568851bf1700e3d9ea9cda29208d0df3c2c38b'
* commit '49568851bf1700e3d9ea9cda29208d0df3c2c38b':
  shorten: Use a checked bytestream reader for the wave header

Conflicts:
	libavcodec/shorten.c

See: 5e9a56a035
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 13:31:59 +02:00
Alexandra Khirnova
00a63bfb87 matroskaenc: Fix stray pointers left over from av_reallocp_array refactoring
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-12 13:16:15 +02:00
Vittorio Giovara
c0779a67e8 mp3: add .mpa extension
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-12 13:16:15 +02:00
Diego Biurrun
e2cd766ca1 configure: Mention that icl does not build both static and shared libs 2013-09-12 13:00:22 +02:00
Michael Niedermayer
af539319af Merge commit 'f3d57dc69145f1b7acb4870da9ce60378190a1fd'
* commit 'f3d57dc69145f1b7acb4870da9ce60378190a1fd':
  smacker: Free memory properly if the init function fails

Conflicts:
	libavcodec/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 12:57:58 +02:00
Michael Niedermayer
f8932d9902 Merge commit '0679cec6e8802643bbe6d5f68ca1110a7d3171da'
* commit '0679cec6e8802643bbe6d5f68ca1110a7d3171da':
  smacker: Make sure we don't fill in huffman codes out of range

Conflicts:
	libavcodec/smacker.c

See: 1285baaab5
the added test is redundant but will be used after future refactoring

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 12:51:07 +02:00
Michael Niedermayer
d510d70df0 Merge commit 'd002fce24a7206e95f9492031f45adc35711e183'
* commit 'd002fce24a7206e95f9492031f45adc35711e183':
  smacker: Check malloc return values

Conflicts:
	libavcodec/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:55:08 +02:00
Michael Niedermayer
c16cd55593 Merge commit '710b0e27025948b7511821c2f888ff2d74a59e14'
* commit '710b0e27025948b7511821c2f888ff2d74a59e14':
  smacker: Avoid integer overflow when allocating packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:39:18 +02:00
Michael Niedermayer
33cf70a8b8 Merge commit '8d928023f953a28692ba27071a448259134b103b'
* commit '8d928023f953a28692ba27071a448259134b103b':
  smacker: Don't return packets in unallocated streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:26:17 +02:00
Michael Niedermayer
7e88dbe935 Merge commit '48d6556dd46d4f4fac10d0f4a819e314887cd50e'
* commit '48d6556dd46d4f4fac10d0f4a819e314887cd50e':
  dsicin: Add some basic sanity checks for fields read from the file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:19:38 +02:00
Michael Niedermayer
ae77f06c69 Merge commit '5045f6bdfabfa5d3374756d2c23f762fb042acae'
* commit '5045f6bdfabfa5d3374756d2c23f762fb042acae':
  configure: Fix wrong reference to user support mailing list

Conflicts:
	configure

No change as the reference was not wrong in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-12 11:10:46 +02:00
Martin Storsjö
b1e4698853 g2meet: Allocate cursor buffers large enough to fit the aligned width
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:55:20 +03:00
Martin Storsjö
0f678c0214 aic: Validate values read from the bitstream
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:54:54 +03:00
Martin Storsjö
17d57848fc mpc8: Make sure the first stream exists before parsing the seek table
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:54:27 +03:00
Martin Storsjö
459f2b393a mpc8: Check the seek table size parsed from the bitstream
Limit the size to INT_MAX/2 (for simplicity) to be sure that
size + FF_INPUT_BUFFER_PADDING_SIZE won't overflow.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:54:05 +03:00
Michael Niedermayer
0d61f26001 zmbvdec: Check the buffer size for uncompressed data
Also don't pointlessly set the buffer size to 1 after copying
one packet.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:53:39 +03:00
Martin Storsjö
183b9d843a ape: Don't allow the seektable to be omitted
The seektable is required for filling in ape->frames[i].pos
further down.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:53:25 +03:00
Martin Storsjö
b26742cc30 shorten: Break out of loop looking for fmt chunk if none is found
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:53:04 +03:00
Martin Storsjö
49568851bf shorten: Use a checked bytestream reader for the wave header
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-12 10:52:42 +03:00
Carl Eugen Hoyos
f99f7f4025 Set bits_per_raw_sample when reading j2k frames. 2013-09-12 09:23:32 +02:00
Michael Bradshaw
7412a4a48f libopenjpegdec.c: Correctly scale gray16 output if precision < 16
Fixes ticket #2943.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-09-12 09:21:51 +02:00
Carl Eugen Hoyos
d73565d5dd Use rc_max_rate if no video bit_rate was specified when muxing mxf_d10.
Fixes ticket #2945.

Reviewed-by: Matthieu Bouron
2013-09-12 08:58:27 +02:00
Carl Eugen Hoyos
52cf08b4c8 Store the video bit_rate in the context when muxing mxf.
This will allow using rc_max_rate if no bit_rate is specified (on remuxing).

Reviewed-by: Matthieu Bouron
2013-09-12 08:58:27 +02:00
James Almer
bbcaf25d4d lavu/sha512: Fully unroll the transform function loops
crypto_bench SHA-512 results using an AMD Athlon X2 7750+, mingw32-w64 GCC 4.7.3 x86_64

Before:
lavu       SHA-512      size: 1048576  runs:   1024  time:   12.737 +- 0.147

After:
lavu       SHA-512      size: 1048576  runs:   1024  time:   11.670 +- 0.173

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 21:55:59 +02:00
James Almer
7e4fe5162a lavu/sha: Fully unroll the transform function loops
crypto_bench SHA-1 and SHA-256 results using an AMD Athlon X2 7750+, mingw32-w64 GCC 4.7.3 x86_64

Before:
lavu       SHA-1        size: 1048576  runs:   1024  time:    9.012 +- 0.162
lavu       SHA-256      size: 1048576  runs:   1024  time:   19.625 +- 0.173

After:
lavu       SHA-1        size: 1048576  runs:   1024  time:    7.948 +- 0.154
lavu       SHA-256      size: 1048576  runs:   1024  time:   17.841 +- 0.170

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 21:55:59 +02:00
Martin Storsjö
f3d57dc691 smacker: Free memory properly if the init function fails
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:20:50 +03:00
Martin Storsjö
0679cec6e8 smacker: Make sure we don't fill in huffman codes out of range
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:20:45 +03:00
Martin Storsjö
d002fce24a smacker: Check malloc return values
Also try to free local allocations on errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:20:28 +03:00
Martin Storsjö
710b0e2702 smacker: Avoid integer overflow when allocating packets
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:19:43 +03:00
Martin Storsjö
8d928023f9 smacker: Don't return packets in unallocated streams
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:19:12 +03:00
Martin Storsjö
48d6556dd4 dsicin: Add some basic sanity checks for fields read from the file
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-11 20:18:55 +03:00
Paul B Mahol
a8e00cf926 avfilter: remove redundant use of AV_NE() macro
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:05:21 +00:00
Paul B Mahol
269845db86 avformat/nutdec: check for allocation failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:04:08 +00:00
Paul B Mahol
99a283331c avfilter/vf_traspose: move switch out of loop
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 15:02:08 +00:00
Dylan Alex Simon
38155b47fd avcodec: add const qualifier to avcodec_find_best_pix_fmt2 args
avcodec_find_best_pix_fmt2 does not modify its first argument so may be
marked const.  This avoids a warning when passing in AVCodec.pix_fmts.

Signed-off-by: Dylan Simon <dylan@dylex.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 16:54:02 +02:00
Diego Biurrun
5045f6bdfa configure: Fix wrong reference to user support mailing list 2013-09-11 14:49:56 +02:00
Michael Niedermayer
2a1c24a267 avformat/utils: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:38:53 +02:00
Michael Niedermayer
c5714097eb avformat/mxfdec: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:37:31 +02:00
Michael Niedermayer
9bca8e5341 avformat/matroskaenc: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:36:11 +02:00
Michael Niedermayer
e529082369 avformat/matroskadec: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:34:25 +02:00
Michael Niedermayer
b5b34c1983 avformat/matroskaenc: use av_freep() to avoid leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:28:41 +02:00
Michael Niedermayer
2175f76894 avformat/asfenc: use av_freep() for extra saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:21:11 +02:00
Michael Niedermayer
2832a82e17 avformat/gxfenc: Clear nb_fields on array deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:21:11 +02:00
Michael Niedermayer
a6ca08f1af avformat/gxfenc: Check and propagate return code from gxf_write_map_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 13:21:11 +02:00
Paul B Mahol
9e505485f3 avformat/smacker: check avformat_new_stream() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:12:35 +00:00
Paul B Mahol
848ad8db22 avformat/libnut: check avformat_new_stream() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:45 +00:00
Paul B Mahol
f2e614e7e9 avformat/ffmetadec: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:44 +00:00
Paul B Mahol
60caa3d8bc avformat/sierravmd: check for memory allocation failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:44 +00:00
Paul B Mahol
00e1bf8a58 avformat/flic: check for memory allocation failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-11 11:06:44 +00:00
Michael Niedermayer
803445e02c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Drop pointless directory name prefixes from #includes in the current dir

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:51:01 +02:00
Michael Niedermayer
c45e9097d8 Merge commit 'ec17d1aa8b833d49d8fc479e44e9e22858aa486c'
* commit 'ec17d1aa8b833d49d8fc479e44e9e22858aa486c':
  doc: Drop VDPAU from list of supported codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:42:11 +02:00
Michael Niedermayer
24da9eb25d Merge commit 'c58f4069e1d5b5804c669b691510e1b8fabb67fc'
* commit 'c58f4069e1d5b5804c669b691510e1b8fabb67fc':
  fate.sh: Run git-clone quietly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:31:51 +02:00
Michael Niedermayer
8c9d6ee4f2 avformat/utils: functions that add entries should not destroy the whole list on failure
The caller does not expect this, and in case of adding new streams would then
not even be able to deallocate them anymore.

This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:21:21 +02:00
Michael Niedermayer
5ca39a0b89 avformat/mxfdec: functions that add entries should not destroy the whole list on failure
The caller does not expect this and there are variables left that index to otherwise
deallocated data.

This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:19:17 +02:00
Michael Niedermayer
c9367c0709 avformat/matroskaenc: functions that add entries should not destroy the whole list on failure
This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:16:21 +02:00
Michael Niedermayer
32805f8521 avformat/matroskadec: ebml_parse_elem() should not deallocate priorly existing lists on failure
This reverts a hunk from "avformat: Use av_reallocp_array() where suitable"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 12:15:08 +02:00
Michael Niedermayer
cbe47b1e84 Merge commit 'f369b9356c4606cd4d713d60f7db5de119d901fa'
* commit 'f369b9356c4606cd4d713d60f7db5de119d901fa':
  avformat: Use av_reallocp_array() where suitable

Conflicts:
	libavformat/asfenc.c
	libavformat/gxfenc.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 11:23:40 +02:00
Michael Niedermayer
64b6279d14 avcodec/mjpegdec: Support >8bpc color mjpeg
Fixes Ticket2939

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 02:45:17 +02:00
Michael Niedermayer
7bc9fb8cde avcodec/utils: add 16bit planar YUV formats to avcodec_align_dimensions2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 02:45:17 +02:00
Vignesh Venkatasubramanian
ae12d65538 lavcodec: Adding support for End Trimming in Opus encoder
Adds the end trimming value (duration to be trimmed from the end
of the file due to padding) to the packet's side data. This is
then made use by the muxer to put the value in the container.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-11 01:03:07 +02:00
Vignesh Venkatasubramanian
7b0a839b0b opus/matroska: Adding support for End Trimming in demuxer/decoder
Implementing support for end trimming Opus in Matroska by making
use of the DiscardPadding value from the container and discarding
the samples accordingly.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 23:11:15 +02:00
Vignesh Venkatasubramanian
889bc79b5f lavc/utils: Add support for discarding samples from the end
Adding support for discarding samples from the end based on the value in
AV_PKT_DATA_SKIP_SAMPLES side data's bytes 5-8.

Signed-off By: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 22:53:21 +02:00
Paul B Mahol
bf5ceeffc3 avfilter/vf_psnr: >8 bit planar support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-10 16:45:48 +00:00
Timothy Gu
83165e39fe doc: Rename avtools-common-opts to fftools-common opts
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 18:04:03 +02:00
Paul B Mahol
942babd87f avcodec/vp56: use av_reallocp_array() and check if allocation failed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-10 15:44:10 +00:00
Michael Niedermayer
7883827cb7 ffmpeg: check for unsupported "queing of command on first filter supporting the specific commend"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 14:13:44 +02:00
Michael Niedermayer
1525107313 ffmpeg: improve built in docs for passing commands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 14:13:18 +02:00
Michael Niedermayer
f8f4e48b6d ffmpeg: print command replies starting on column 0
This fixes formating issues with multi-line replies

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 13:57:29 +02:00
Michael Niedermayer
bb23bf8fd7 avfilter/avfilter: fix null pointer dereference with queued ping filters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 13:39:57 +02:00
Michael Bradshaw
9b07d34efb Make avcodec_find_best_pix_fmt_of_list const-correct
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 12:46:56 +02:00
Piotr Bandurski
5cfa51929f avformat/riff: add 0x594a TwoCC
sample:

http://samples.mplayerhq.hu/game-formats/wc4-xan/crusader-no-regret.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 12:44:26 +02:00
Diego Biurrun
a0b901a348 Drop pointless directory name prefixes from #includes in the current dir 2013-09-10 12:38:41 +02:00
Diego Biurrun
ec17d1aa8b doc: Drop VDPAU from list of supported codecs 2013-09-10 12:38:41 +02:00
Diego Biurrun
c58f4069e1 fate.sh: Run git-clone quietly 2013-09-10 12:38:41 +02:00
Alexandra Khirnova
f369b9356c avformat: Use av_reallocp_array() where suitable
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-10 12:38:32 +02:00
Michael Niedermayer
46405813c3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Simplify setting the fragmentation flag

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 10:20:11 +02:00
Michael Niedermayer
ada9b17e7a Merge commit '8b524ab0c43c1767919530abb79d3656113cdc47'
* commit '8b524ab0c43c1767919530abb79d3656113cdc47':
  movenc: Add a warning message if conflicting options have been specified

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 10:08:38 +02:00
Michael Niedermayer
16ae64ce24 Merge commit 'a6a4596e12192375e1d9dffeae24d6d4c41b25c1'
* commit 'a6a4596e12192375e1d9dffeae24d6d4c41b25c1':
  tcp: Explicitly convert a pointer to a boolean integer

Conflicts:
	libavformat/tcp.c

See: 22fbc7f8be
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 10:00:09 +02:00
Michael Niedermayer
f7003c7a3b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Use 0x88 as stream id when muxing DTS in program streams.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 02:05:13 +02:00
Carl Eugen Hoyos
fe8e01361f Use 0x88 as stream id when muxing DTS in program streams.
This is what other open source software uses and what
some hardware players expect.
Tested by trac user iuqbgq9h-1 at yahoo
2013-09-10 01:48:59 +02:00
Vignesh Venkatasubramanian
d92b1b1bab lavf/matroska: Adding support for Opus CodecDelay
In order to represent the codec delay accurately in Matroska, a
new element CodecDelay has been introduced. It contains the
overall delay added by the codec in nanoseconds. This patch adds
support for muxing CodecDelay value in the container.
Matroska spec for CodecDelay element can be found here:
http://matroska.org/technical/specs/index.html#CodecDelay

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 01:45:38 +02:00
Vignesh Venkatasubramanian
bb47aa5850 opus/matroska: Adding support for DiscardPadding in muxer
Support for end trimming Opus in Matroska is implemented by using
the DiscardPadding container element in the Block data. The last
chunk is stored as a Block instead of SimpleBlock and the
trimming information is stored and used to discard samples that
were padded by the Opus codec. This patch adds support for muxing
DiscardPadding element into the container with appropriate value.
Matroska spec for the DiscardPadding element can be found here:
http://matroska.org/technical/specs/index.html#DiscardPadding

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-10 01:04:06 +02:00
Martin Storsjö
bdf990425e movenc: Simplify setting the fragmentation flag
This makes sure the faststart vs fragmentation check works as
intended when fragmentation is enabled due to using the ismv mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-09 23:58:33 +03:00
Martin Storsjö
8b524ab0c4 movenc: Add a warning message if conflicting options have been specified
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-09 23:57:41 +03:00
Martin Storsjö
a6a4596e12 tcp: Explicitly convert a pointer to a boolean integer
This fixes warnings about making integers from pointers without
a cast, and avoids the theoretical case where the lower 32 bits of
the pointer would all be zero where the implicit cast wouldn't give
the right result.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-09 23:57:04 +03:00
Paul B Mahol
d1a16564a2 avcodec/ffv1: YUVA(444,422,420) 9, 10 and 16 bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 19:49:37 +00:00
Paul B Mahol
a27227d401 avcodec/ffv1dec: fix format detection
Fixes crash with carefuly designed files.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 19:49:01 +00:00
Reimar Döffinger
723cf4b29e Move packed B-frames message level to info.
Since they generally decode fine, printing it as a warning
might not really be appropriate.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-09 20:51:08 +02:00
Reimar Döffinger
4ebf09c346 Make packed B-frame warning message more useful.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-09-09 20:51:08 +02:00
Michael Niedermayer
3576b564ec avcodec/ffv1enc: encode slice as raw PCM in 1.4 when the buffer is too small.
This limits the maximum size of encoded slices more tightly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:20:21 +02:00
Michael Niedermayer
8393b80b7d avcodec/ffv1dec: Support decoding planes as raw PCM in 1.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:28 +02:00
Michael Niedermayer
77f521d9e5 avcodec/ffv1enc: check encode_line()s return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:24 +02:00
Michael Niedermayer
3728603f18 avcodec/ffv1enc: update buffer check for 16bps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:17 +02:00
Michael Niedermayer
904a2864bd avcodec/ffv1enc: fix size used for ff_alloc_packet2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:08 +02:00
Michael Niedermayer
9a0e20817a avcodec/util: Make size argument of ff_alloc_packet2() int64_t
This ensures that huge sizes dont get truncated before the check in ff_alloc_packet2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:18:54 +02:00
Paul B Mahol
a5615b82eb avcodec/eatgv: use av_reallocp_array() and check return value
Fixes #2949.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 12:26:05 +00:00
Paul B Mahol
81f231b5c7 avcodec/asfdec: check return value of av_mallocz()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 12:09:31 +00:00
Paul B Mahol
5e66d8ac63 avcodec/xwdenc: use AV_LOG_ERROR in error message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 11:58:12 +00:00
Paul B Mahol
9bc59c108b avcodec/bmpenc: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 11:58:11 +00:00
Paul B Mahol
6e07bb3639 avcodec/truemotion2: use av_reallocp_array() and check return value
Also reset tok_lens if reallocation fails.

Fixes #2946.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-09 11:53:38 +00:00
Rainer Hochecker
7d75fb381b h264: do not discard NAL_SEI when skipping frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 11:42:26 +02:00
James Almer
8702a94e49 lavu/ripemd: Add a size optimized version of the transform functions
When compiling with --enable-small, ripemd.o will weigh a few kilobytes less than
it used to before the previous commit.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 11:18:48 +02:00
James Almer
452ac2aaec lavu/ripemd: Fully unroll the transform function loops
crypto_bench RIPEMD-160 results using an AMD Athlon X2 7750+, mingw32-w64 GCC 4.8.1 x86_64

Before:
lavu       RIPEMD-160   size: 1048576  runs:   1024  time:   12.342 +- 0.199

After:
lavu       RIPEMD-160   size: 1048576  runs:   1024  time:   10.143 +- 0.192

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 11:18:43 +02:00
wm4
b4e1630d4d lavc: don't show "Invalid and inefficient vfw-avi..." warning in mpeg4 parser
Only the actual decoder should print this warning.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 03:14:53 +02:00
Michael Niedermayer
ce22820627 avcodec/mjpegdec: fix shift_output() with lowres
Fixes Ticket2940

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 01:46:14 +02:00
Michael Niedermayer
7caaa72e62 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  libxvid: guess a good aspect when we cant store the exact one.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 23:49:33 +02:00
Paul B Mahol
43497d8a83 avcodec/proresdec2: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 21:44:32 +00:00
Michael Niedermayer
d8fb170da2 avcodec/ratecontrol: give some trivial tips in case of buffer underflows
See Ticket2725

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 23:11:39 +02:00
Carl Eugen Hoyos
43353bf32c libxvid: guess a good aspect when we cant store the exact one.
Based on 394781a8.
2013-09-08 22:53:14 +02:00
Paul B Mahol
cd6241b5df avcodec/truemotion2: use av_calloc() & av_malloc_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 18:56:06 +00:00
Michael Niedermayer
c54aa2fb0f avcodec/truemotion2: Fix av_freep arguments
Fixes null pointer dereference
Fixes Ticket2944

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 20:27:54 +02:00
Michael Niedermayer
8586d8dda2 avformat/avidec: fix signedness of pointer type in get_stream_idx()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 19:02:19 +02:00
Clément Bœsch
3a54c221d5 avcodec/srtdec: fix potential overread. 2013-09-08 18:50:25 +02:00
Clément Bœsch
860a081058 avcodec/assenc: fix potential overread. 2013-09-08 18:50:25 +02:00
Clément Bœsch
378a830e7b avformat/subtitles: support standalone CR (MacOS).
Recent .srt files with CR only were found in the wild.
2013-09-08 18:48:35 +02:00
Clément Bœsch
90fc00a623 avformat/subtitles: add a next line jumper and use it.
This fixes a bunch of possible overread in avformat with the idiom p +=
strcspn(p, "\n") + 1 (strcspn() can focus on the trailing '\0' if no
'\n' is found, so the +1 leads to an overread).

Note on lavf/matroskaenc: no extra subtitles.o Makefile dependency is
added because only the header is required for ff_subtitles_next_line().

Note on lavf/mpsubdec: code gets slightly complex to avoid an infinite
loop in the probing since there is no more forced increment.
2013-09-08 18:48:09 +02:00
Clément Bœsch
cfcd55db16 avformat/srtdec: skip initial random line breaks.
I found a bunch of (recent) SRT files in the wild with 3 to 10 line
breaks at the beginning.
2013-09-08 18:37:07 +02:00
Paul B Mahol
7d7b4e8d5c avcodec/png: remove obsolete comments
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 15:13:33 +00:00
Michael Niedermayer
c914c99d4b swscale/utils: use memcpy instead of loop in sws_cloneVec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 16:39:38 +02:00
Paul B Mahol
14851ca5f5 avformat/matroskaenc: remove bogus prores tag
Fixes: ffmpeg -i input -c:v prores output.mkv

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 13:03:08 +00:00
Giorgio Vazzana
7f6ec05f09 lavd/v4l2: Improve debug message
In particular, print the standard supported by the selected input.
Additionally, use PRIx64 everywhere when printing standards.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 14:30:52 +02:00
Paul B Mahol
0227b42926 avfilter/vf_psnr: refactor subsampled format support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-08 12:01:44 +00:00
Clément Bœsch
b1319e14e3 avformat/subtitles: binary search seeking. 2013-09-08 12:54:49 +02:00
Clément Bœsch
1ca4bf930b avformat/subtitles: check lower bound for duration overlap seeking. 2013-09-08 12:54:49 +02:00
Clément Bœsch
f8678dcef3 avformat/vobsub: fix seeking. 2013-09-08 12:54:49 +02:00
Michael Niedermayer
53fb52ac85 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: fix the comparison in an overflow check

Conflicts:
	libavformat/utils.c

See: a5d67bc796
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 12:29:07 +02:00
Michael Niedermayer
13e35a25f6 Merge commit '7ee191cab0dc44700f26c5784e2adeb6a779651b'
* commit '7ee191cab0dc44700f26c5784e2adeb6a779651b':
  dv: Add a guard to not overread the ppcm array

See: 3669915e93
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 11:51:36 +02:00
Michael Niedermayer
58e5f6a433 oMerge commit '85ac12587bfef970d0e0e4abc292df346daf8478'
* commit '85ac12587bfef970d0e0e4abc292df346daf8478':
  nuv: check ff_rtjpeg_decode_frame_yuv420 return value

Conflicts:
	libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 11:40:45 +02:00
James Almer
e3d34100e7 doc: add *install-doc that covers all documentation
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 05:25:17 +02:00
Michael Niedermayer
ea538b0d64 avcodec/snowenc: fix constness of the AVFrame argument in encode_frame()
Some fields of the frame are changed to reflect encoder decissions like
if its a keyframe. It thus cannot be constant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-08 05:22:45 +02:00
Paul B Mahol
ffde17e70f avfilter/vf_histeq: remove unused item from filter private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 21:04:12 +00:00
Michael Niedermayer
c4c3a3d580 vformat/tee: fix uninitialized use of ret
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 22:43:32 +02:00
Paul B Mahol
4cf1900ba7 avfilter/vf_format: add .get_video_buffer back
Unbreak xyz12 with vflip.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 20:37:48 +00:00
James Almer
1e97ae4ba3 doc: rename *install-doc to *install-html
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 21:41:43 +02:00
James Almer
2df184f3d5 doc: fix install-doc dependencies
Put it inside its own ifdef conditional.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 21:41:43 +02:00
Paul B Mahol
d2382903d6 avfilter/vf_rotate: fix 'oh' option description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 18:35:26 +00:00
Paul B Mahol
b077d8d908 avfilter: remove redundant .get_(audio/video)_buffer initializations
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 18:20:16 +00:00
Paul B Mahol
5a16a1d508 avfilter/af_asetnsamples: remove .needs_writable as it is not required
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-07 12:15:46 +00:00
Anton Khirnov
26f027fba1 lavf: fix the comparison in an overflow check
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-09-07 11:52:40 +02:00
Luca Barbato
7ee191cab0 dv: Add a guard to not overread the ppcm array
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-07 11:18:01 +02:00
Luca Barbato
85ac12587b nuv: check ff_rtjpeg_decode_frame_yuv420 return value
CC: libav-stable@libav.org
2013-09-07 11:11:52 +02:00
Michael Niedermayer
64c54f8333 avfilter/af_compand: silence "maybe uninitialized" warnings
if channels is 0 it actually would be uninitialized, thus an assert with comment is added

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 03:49:01 +02:00
Michael Niedermayer
797762fcf3 avfilter/af_aecho: silence "maybe uninitialized warning"
if channels is 0 it actually would be uninitialized, thus an assert with comment is added

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-07 03:48:07 +02:00
Kirill Gavrilov
0f48acf29b lavu: provide msvc implementation of attribute_deprecated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 22:15:33 +02:00
Paul B Mahol
50b90d5e0b lavfi/telecine: remove bitstream and pal formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 18:45:27 +00:00
Paul B Mahol
6770fa4df8 lavfi/fieldorder: work with non writtable frames too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 18:34:37 +00:00
Paul B Mahol
33dacda40b lavfi/fieldorder: remove pal8 format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 18:34:37 +00:00
Paul B Mahol
86cb986ce1 lavfi/fieldorder: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:45:31 +00:00
Paul B Mahol
df7e3572c3 lavfi/fieldorder: use av_image_fill_linesizes()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:45:31 +00:00
Paul B Mahol
9b35bee696 lavfi/fieldorder: remove redundant get_video_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:45:31 +00:00
Paul B Mahol
c9b5ad124e s302m: s/bits_per_coded_sample/bits_per_raw_sample
bits_per_coded_sample should be set from demuxer and
not from decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:43:35 +00:00
Paul B Mahol
6b024d8a7a avcodec/xan: use uint8_t instead of unsigned char
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 17:18:17 +00:00
Paul B Mahol
6508bd4aa3 pixfmt: add native GBRAP16 format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 16:59:32 +00:00
Paul B Mahol
898c6191ff lavfi: Weston 3 Field Deinterlacing Filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-06 12:46:56 +00:00
Michael Niedermayer
911a100da9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avisynth: K&R formatting cosmetics

Conflicts:
	libavformat/avisynth.c

Nothing changed as the avisynth code has been rewritten to
support avi/avxsynth in ffmpeg.
And the new code should be free of formating problems.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:52:59 +02:00
Michael Niedermayer
86ca6a7568 Merge commit '97b052e56807fab6887e9ba210a28a622e6a4b78'
* commit '97b052e56807fab6887e9ba210a28a622e6a4b78':
  avisynth: Add missing #include for NULL_IF_CONFIG_SMALL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:39:15 +02:00
Michael Niedermayer
c4a696fb54 Merge commit 'befe044bb9561c9d7d6559db06bba375e82a4b66'
* commit 'befe044bb9561c9d7d6559db06bba375e82a4b66':
  avcodec: Stop exporting the removed audio_resample* symbols

Conflicts:
	libavcodec/libavcodec.v

Not merged as theres no pressing need to remove it now.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:17:12 +02:00
Michael Niedermayer
2a27e52550 Merge commit '7f93a861aaf2e76fd63b53ccc465909873b8dc29'
* commit '7f93a861aaf2e76fd63b53ccc465909873b8dc29':
  mpeg12enc: K&R formatting cosmetics

Conflicts:
	libavcodec/mpeg12enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 13:00:47 +02:00
Michael Niedermayer
61845dc74a Merge commit '66f091053f11a8957b2175480d2f368d2cf4474c'
* commit '66f091053f11a8957b2175480d2f368d2cf4474c':
  mpeg12enc: drop forward declarations

Conflicts:
	libavcodec/mpeg12enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:34:09 +02:00
Michael Niedermayer
5866c107a9 Merge commit 'c3e6e8f06c42499bd020fd0b37f9542150e6067b'
* commit 'c3e6e8f06c42499bd020fd0b37f9542150e6067b':
  mem: Do not check unsigned values for negative size

Conflicts:
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:21:16 +02:00
Michael Niedermayer
92424a45d0 Merge commit 'b634b36fcebfe16b837b6c4044f5d5cb99a75040'
* commit 'b634b36fcebfe16b837b6c4044f5d5cb99a75040':
  mem: Improve documentation wording and spelling

Conflicts:
	libavutil/mem.c
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 12:05:02 +02:00
Diego Biurrun
c16ddcc90b avisynth: K&R formatting cosmetics 2013-09-06 11:13:36 +02:00
Diego Biurrun
97b052e568 avisynth: Add missing #include for NULL_IF_CONFIG_SMALL 2013-09-06 09:09:07 +02:00
Michael Niedermayer
bcd1c20612 avcodec/mjpegdec: support >8bit in mjpeg_decode_scan_progressive_ac()
Fixes Ticket2812

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 02:33:10 +02:00
Michael Niedermayer
b155fb08b8 avcodec/mjpegdec: move shift_output() to its own function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 02:31:32 +02:00
Michael Niedermayer
c407c73457 avcodec/mjpegdec: 12bit Grayscale support
Fixes part of Ticket2812

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Michael Niedermayer
1deeb9437c avcodec/mjpegdec: Fix normal jpeg with bits < 8
Untested due to lack of testcase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Michael Niedermayer
15071ed4fc avcodec/mjpegdec fix last_dc for bits != 8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Michael Niedermayer
ae57e82469 avcodec/dsputil: add 12bit simple idct
Will be needed for jpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-06 01:19:37 +02:00
Paul B Mahol
d2e237338d lavfi/mp: remove mp=fil
The filter does not work correctly most of time.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-05 20:22:47 +00:00
Diego Biurrun
befe044bb9 avcodec: Stop exporting the removed audio_resample* symbols 2013-09-05 22:11:36 +02:00
Paul B Mahol
0a8bb91505 lavfi/mp: remove mp=dint
There are better and actually maintained filters that have similar
functionality.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-05 20:03:36 +00:00
Vittorio Giovara
7f93a861aa mpeg12enc: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-05 21:50:24 +02:00
Michael Niedermayer
59b9ecc92a avfilter/vf_yadif: Treat mode as a field of flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 20:53:12 +02:00
Michael Niedermayer
4ff5b2683c avfilter/vf_yadif: fix "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 19:58:45 +02:00
Michael Niedermayer
a67dcd74ab avfilter/vf_yadif: add gbr(a)p support
Suggested-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 14:06:17 +02:00
Michael Niedermayer
2230d85ceb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  matroskaenc: Allow chapters to be written in trailer

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 13:34:37 +02:00
Vittorio Giovara
66f091053f mpeg12enc: drop forward declarations
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-05 12:38:43 +02:00
Diego Biurrun
c3e6e8f06c mem: Do not check unsigned values for negative size 2013-09-05 12:38:43 +02:00
Diego Biurrun
b634b36fce mem: Improve documentation wording and spelling 2013-09-05 12:38:43 +02:00
Michael Niedermayer
b042712a87 avcodec/mjpegdec: Simplify masking in ljpeg_decode_yuv_scan()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
b394ccfe47 avcodec/mjpegdec: fix rgb ljpeg prediction 5/6/7 with point_transform
untested due to lack of sample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
38f8640df8 avcodec/mjpegdec: fix yuv ljpeg prediction 5/6/7 with point transforms
Fixes Ticket2826

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
4ced30908f avcodec/jpeg2000dec: make SOC finding code more robust
Fixes file from Ticket860

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
cb026ac303 avcodec/mjpegdec: make "unknown colorspace" error more informative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
61c68000ed avcodec/mjpegdec: Add some sanity checks to ljpeg_decode_rgb_scan()
These prevent the rgb ljpeg code from being run on parameters that it doesnt
support. No testcase available but it seems possible to trigger these.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Clément Bœsch
f974289671 doc/APIchanges: update hashes and dates after last two commits.
Sorry, I'm too lazy to fix the rest.
2013-09-04 22:18:59 +02:00
Clément Bœsch
3e1f507f3e avcodec: make avcodec_close() more tolerant.
See previous commit.
2013-09-04 22:06:38 +02:00
Clément Bœsch
36cd017acd avformat: make avformat_close_input() more tolerant.
The purpose of this commit is to make error management simpler and less
error prone, just like av_free() which is safe with NULL.
2013-09-04 22:06:38 +02:00
Clément Bœsch
bc68927a0f tools/crypto_bench: fix 2 typos. 2013-09-04 21:59:34 +02:00
Michael Niedermayer
9cbb3fce59 avcodec/avpacket: zero memory in av_packet_new_side_data()
This ensures that no uninitialized bytes cause non-deterministic behavior.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 21:00:24 +02:00
John Stebbins
26b241c079 matroskaenc: Allow chapters to be written in trailer
This allows creation of frame accurate chapter marks from sources like
DVD and BD where the precise chapter location is not known until the
chapter mark has been reached during reading.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-04 20:30:43 +02:00
Nicolas George
04dcdc4640 lavc/avfft: init context to 0.
Prevent an invalid free in case of init failure.
2013-09-04 16:37:25 +02:00
Nicolas George
83635ac67b ffprobe: show bitmap subtitles size.
Fix trac ticket #2930.
2013-09-04 16:36:28 +02:00
Nicolas George
d7ccfe58e3 lavc/libvorbisdec: do not return empty frames.
Some parts of the code have been known to react badly to
empty frames; they should not, but there is no need to
take risks.
2013-09-04 16:36:20 +02:00
Nicolas George
d5b58f678d tools: add benchmark for crypto functions.
The benchmark tests the speed of the following algorithms:
MD5, SHA-1, SHA-256, SHA-512, RIPEMD-160, AES-128.

It can optionally be built to perform the same benchmark on
other crypto libraries, for comparison purposes.
The supported libraries are:
- crypto:   OpenSSL's libcrypto;
- gcrypt:   GnuTLS's libgcrypt;
- tomcrypt: LibTomCrypt
To enable them, use this syntax:
make VERSUS=crypto+gcrypt+tomcrypt tools/crypto_bench
They do not need to have been enabled in configure.
2013-09-04 16:36:11 +02:00
Clément Bœsch
dc8f732292 doc/examples: fix lib math dep for resampling_audio.
It uses at least sin()
2013-09-04 15:49:18 +02:00
Clément Bœsch
2c1eb38e5e avcodec: fix AVpacket → AVPacket typo. 2013-09-04 15:48:11 +02:00
Clément Bœsch
98b9bbb787 doc/examples: remove extra "the".
"into the doc/examples directory" vs "into doc/examples".
2013-09-04 15:46:31 +02:00
Michael Niedermayer
2ffead98dd avcodec: add emuedge_linesize_type
Currently all uses of the emu edge code as well as the code itself
assume int linesize
changing some but not changing all would introduce a security issue
once all use this typedef a simple search and replace can be
done to switch them all to ptrdiff_t

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 14:29:20 +02:00
Michael Niedermayer
3eeca8b0e4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: Avoid 32-bit wrapping of linesize multiplications

This is not merged as its not correct for ffmpeg and would introduce a
security issue if merged as is.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 14:19:22 +02:00
Michael Niedermayer
35307df53c Merge commit '0ebfdae099d2749240b6a565abcdf0bf62589748'
* commit '0ebfdae099d2749240b6a565abcdf0bf62589748':
  doc: Describe TB option of setpts filter

Conflicts:
	doc/filters.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 14:06:46 +02:00
Michael Niedermayer
1c10e89c51 Merge commit 'b4ec7a5fee644ad9882e10c097817b65447b8e55'
* commit 'b4ec7a5fee644ad9882e10c097817b65447b8e55':
  mem: Document the av_realloc family of functions properly

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:57:01 +02:00
Martin Storsjö
a711a2cb47 mpegvideo: Avoid 32-bit wrapping of linesize multiplications
This makes sure that linesize * start_y doesn't overflow, so that
emulated_edge_mc can get back the original value if needed.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-04 14:33:29 +03:00
Michael Niedermayer
44d884f036 Merge commit '7f9e893f56db52078e0f46677ed337b2e25fa94d'
* commit '7f9e893f56db52078e0f46677ed337b2e25fa94d':
  build: Report an error message when a pc file is not found

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:15:22 +02:00
Michael Niedermayer
49f5519345 Merge commit 'af11fa5409cc72fc45ca7f3527400beca10967b9'
* commit 'af11fa5409cc72fc45ca7f3527400beca10967b9':
  mjpegb: Detect changing number of planes in interlaced video

Conflicts:
	libavcodec/mjpegdec.c

See: ecc31630f9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:06:24 +02:00
Michael Niedermayer
f1b15c1ef9 Merge commit '35cbc98b720db95b923cb2d745f77bb2ee4363dc'
* commit '35cbc98b720db95b923cb2d745f77bb2ee4363dc':
  alac: Check that the channels fit at the given offset

Conflicts:
	libavcodec/alac.c

See: b53f89710b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 13:02:08 +02:00
Clifford Wolf
0ebfdae099 doc: Describe TB option of setpts filter
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-09-04 12:28:28 +02:00
Michael Niedermayer
9411e9cafb Merge commit 'd719981273bc779c7d1e879d88404fd867f93a0e'
* commit 'd719981273bc779c7d1e879d88404fd867f93a0e':
  4xm: Check that the read track value is non-negative

Conflicts:
	libavformat/4xm.c

See: 0838cfdc8a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 12:20:53 +02:00
Michael Niedermayer
233ab0f02a Merge commit '5bcd3ae5b167fb74215520b01d5d810e0c8986ab'
* commit '5bcd3ae5b167fb74215520b01d5d810e0c8986ab':
  matroskadec: Check that .lang was allocated and set before reading it

Conflicts:
	libavformat/matroskadec.c

See: 01fd1aa0ad
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 12:07:06 +02:00
Michael Niedermayer
642207d29a Merge commit 'f7c5883126f9440547933eefcf000aa78af4821c'
* commit 'f7c5883126f9440547933eefcf000aa78af4821c':
  alac: Limit max_samples_per_frame

See: 3920d13878
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 11:58:00 +02:00
Luca Barbato
b4ec7a5fee mem: Document the av_realloc family of functions properly
realloc() does not accept pointers from memalign().
2013-09-04 10:56:41 +02:00
Luca Barbato
7f9e893f56 build: Report an error message when a pc file is not found
Ease tracking path problems.
2013-09-04 09:47:06 +02:00
Michael Niedermayer
54d628a580 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Show subtitle resolution in avcodec_string().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:51:11 +02:00
Michael Niedermayer
e5c338ba7a avformat/utils: assert position monotonicity in ff_find_last_ts()
This ensures that no read timestamp functions finds packets before the search window in ff_find_last_ts()
which could cause an infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:45:13 +02:00
Carl Eugen Hoyos
6fcfafff84 Show subtitle resolution in avcodec_string(). 2013-09-04 01:04:01 +02:00
Michael Niedermayer
a660991921 avformat/mpegts: Ensure that mpegts_get_dts() only considers packets at or after the given position
This fixes an infinite loop
An alternative fix would be to revert d73cbc22c5
but that would worsen error resilience.

Found-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Michael Niedermayer
b78e75ebc9 fate: Force diff into text mode
On openbsd the exif-image-jpg test fails but diff treats the files as
binary due to some non ascii symbols in them. This should force it to
treat them as text, which should result in more informative output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Michael Niedermayer
560612344e avcodec/pictordec: remove y checks, which have become redundant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Michael Niedermayer
8088d6f5f1 avcodec/pictordec: run av_image_check_size() unconditionally
This ensures that no invalid size leaks through
(This issue is hypothetical, ive no testcase)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-04 01:02:06 +02:00
Paul B Mahol
d21e496cf5 lavfi/mptestsrc: use outlink->frame_count
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 20:15:46 +00:00
Michael Niedermayer
af11fa5409 mjpegb: Detect changing number of planes in interlaced video
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:58:24 +03:00
Martin Storsjö
35cbc98b72 alac: Check that the channels fit at the given offset
The code tries to decode a number of channels at the
offset given by the ff_alac_channel_layout_offsets table.
Even if the number of channels decoded so far doesn't
exceed the total number of channels, we need to check that
we actually can decode that number of channels at this offset
as well.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:52 +03:00
Martin Storsjö
d719981273 4xm: Check that the read track value is non-negative
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:36 +03:00
Martin Storsjö
5bcd3ae5b1 matroskadec: Check that .lang was allocated and set before reading it
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:57:15 +03:00
Martin Storsjö
f7c5883126 alac: Limit max_samples_per_frame
Otherwise buffer size calculations in allocate_buffers could
overflow later, making the code think a large enough buffer
actually was allocated.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 22:56:36 +03:00
Clément Bœsch
30d40c9e86 lavfi/drawtext: add generic timeline interface and deprecate "draw". 2013-09-03 21:12:15 +02:00
Clément Bœsch
493ebbd7eb Update copyrights where my email appears with the new one. 2013-09-03 20:42:24 +02:00
wm4
060c6c4647 avformat/mpl2dec: handle files with CRLF linebreaks correctly
Skip the "\r" as normal text. Otherwise it will be the first character
of the string passed to sscanf(), which then fill fail to match the
timestamps.

Signed-off-by: Clément Bœsch <u@pkh.me>
2013-09-03 20:38:40 +02:00
Dirk Farin
902a5fa722 avformat: H265 demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 19:34:04 +02:00
Paul B Mahol
771e2e59e2 lavfi/hue: relicense to LGPL with permission by all contributors
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 17:21:06 +00:00
Paul B Mahol
6053812814 x86/simple_idct: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 17:02:49 +00:00
Paul B Mahol
916549cb1e lavfi/mp: remove mp=phase
The filter was ported to a native libavfilter filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 14:05:38 +00:00
Paul B Mahol
3dd4b6ea41 lavfi: port phase filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 14:05:38 +00:00
Michael Niedermayer
f4e9c768d1 avcodec/vcr1: simplify code drop buf variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:48:33 +02:00
Michael Niedermayer
84b6451d29 avcodec/vcr1: simplify code, drop buf_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:48:33 +02:00
Michael Niedermayer
a4e7091831 avcodec/vcr1: return the actual number of consumed bytes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:44:37 +02:00
Michael Niedermayer
40bb950385 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Don't flush after each written packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:18:57 +02:00
Michael Niedermayer
4cfe3b7405 Merge commit '7df9e693a34c84c698da60426c78140c950f95ed'
* commit '7df9e693a34c84c698da60426c78140c950f95ed':
  cosmetics: Fix ATRAC codec name spelling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 15:05:18 +02:00
Michael Niedermayer
50fd98b7ac Merge commit '488b2984fece7ad0c2596826fee18e74aa904667'
* commit '488b2984fece7ad0c2596826fee18e74aa904667':
  ape demuxer: check for EOF in potentially long loops

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:58:55 +02:00
Michael Niedermayer
bdb4ed963f Merge commit 'a7c1689dedd11689edb30088d467ac03f9b8d1cf'
* commit 'a7c1689dedd11689edb30088d467ac03f9b8d1cf':
  4xm: check that bits per sample is strictly positive

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:57:14 +02:00
Michael Niedermayer
a5d67bc796 avformat/utils: Fix bitrate overflow check
The check added in df33a58e53 does not work
at all, rather it broke the summing of bitrates completely.
The comparission was wrong way around.
This commit replaces it by a simpler and hopefully clearer check

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:49:03 +02:00
Michael Niedermayer
d07d54fd56 Merge commit 'df33a58e5311ee9a64a573889b883a80e981af7b'
* commit 'df33a58e5311ee9a64a573889b883a80e981af7b':
  lavf: avoid integer overflow when estimating bitrate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:45:53 +02:00
Michael Niedermayer
b0ba2bf8c6 Merge commit 'fab694dd3931b1c0bc3c598c3f88b1902c14a303'
* commit 'fab694dd3931b1c0bc3c598c3f88b1902c14a303':
  lavf: move a variable declaration to the block where it's used

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:27:48 +02:00
Compn
8d14596bc2 riff: add 0x64 to g726 works on g726-test1.wav 2013-09-03 08:25:43 -04:00
Michael Niedermayer
1eb151c501 Merge commit 'fe9bb61f9a16be19ad91875632c39e44b7a99a8a'
* commit 'fe9bb61f9a16be19ad91875632c39e44b7a99a8a':
  pictordec: pass correct context to avpriv_request_sample

Conflicts:
	libavcodec/pictordec.c

No change as the avpriv_request_sample() has already been replaced by an implementation
of the codepath.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:14:12 +02:00
Michael Niedermayer
efb21b0a8f Merge commit '5f7aecde02a95451e514c809f2794c1deba80695'
* commit '5f7aecde02a95451e514c809f2794c1deba80695':
  pictordec: break out of both decoding loops when y drops below 0

Conflicts:
	libavcodec/pictordec.c

The added check is redundant.
It shows the error path more clearly though

See: f3f488423a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 14:12:53 +02:00
Michael Niedermayer
164b67ca28 avcodec/vcr1: replace redundant checks from libav (8aba7968dd) by asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 13:45:03 +02:00
Michael Niedermayer
8ba683e629 Merge commit '8aba7968dd604aae91ee42cbce0be3dad7dceb30'
* commit '8aba7968dd604aae91ee42cbce0be3dad7dceb30':
  vcr1: add sanity checks

Conflicts:
	libavcodec/vcr1.c

See: 845724c82c
See: 8e09482e4d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 13:44:44 +02:00
Martin Storsjö
0fbda03e5c movenc: Don't flush after each written packet
This should improve write performance quite significantly.
---
Tested with both writing a normal mp4, by using the faststart
feature and writing a fragmented mp4 file; all turn out with the
same md5sum as before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-03 10:36:17 +03:00
Michael Niedermayer
92b7e7b318 avfilter/vf_yadif: reallocate frames if strides differ
Fixes Ticket2896

An alternative to this would be to change the code to support any
stride.
The condition of differing strides should be rare.
If theres no speedloss supporting any stride would be better

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 05:14:29 +02:00
Michael Niedermayer
cc84f30402 avutil/fifo: assert that theres enough data in the fifo on drain calls.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-03 03:11:35 +02:00
Paul B Mahol
3e36dc8626 w64dec: fix end position of summarylist guid
Noticed-by: James Almer

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-03 01:03:10 +00:00
Paul B Mahol
79b70e47a4 w64dec: fix skipping of unknown guids
Regression since 14d50c1.
Fixes #2932.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-02 22:55:46 +00:00
Vignesh Venkatasubramanian
fdd1aaf87a avpacket: Fixing side data copy when src == dst
Fixing av_packet_copy_side_data to work correctly when source and
destination are the same. This makes sure that there is no memory
leak and double frees.

Signed-off by: Vignesh Venkatasubramanian <vigneshv@google.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 21:40:15 +02:00
Diego Biurrun
7df9e693a3 cosmetics: Fix ATRAC codec name spelling 2013-09-02 21:38:57 +02:00
Anton Khirnov
488b2984fe ape demuxer: check for EOF in potentially long loops
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:55 +02:00
Anton Khirnov
a7c1689ded 4xm: check that bits per sample is strictly positive
Avoids a divide by zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:47 +02:00
Anton Khirnov
df33a58e53 lavf: avoid integer overflow when estimating bitrate
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:28:29 +02:00
Anton Khirnov
fab694dd39 lavf: move a variable declaration to the block where it's used 2013-09-02 19:28:19 +02:00
Anton Khirnov
fe9bb61f9a pictordec: pass correct context to avpriv_request_sample
Fixes invalid reads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:56 +02:00
Anton Khirnov
5f7aecde02 pictordec: break out of both decoding loops when y drops below 0
Otherwise picmemset can get called with negative y, resulting in an
invalid write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:45 +02:00
Anton Khirnov
8aba7968dd vcr1: add sanity checks
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-09-02 19:27:33 +02:00
Michael Niedermayer
2501f6d3d6 avformat/movenc: Use the rate from av_timecode_init_from_string() for tmcd
Fixes Ticket2892
Reveiwed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 17:16:20 +02:00
Michael Niedermayer
4fb3e1a652 avcodec/pnmdec: fix unaligned read
Fixes fate-lavf-pam on alpha

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 12:32:32 +02:00
Michael Niedermayer
62d07bb321 avcodec/pnmdec: use a more specific pointer type than void in samplecpy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 12:31:55 +02:00
Carl Eugen Hoyos
ec8a4841f7 Avoid a deadlock when decoding wma.
Fixes ticket #2925.
2013-09-02 08:32:24 +02:00
Michael Niedermayer
cdd5df8189 avfilter/vf_fps: make sure the fifo is not empty before using it
Fixes Ticket2905

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 04:32:23 +02:00
Marton Balint
b339dccbba lavc: add teletext decoder using libzvbi
Based on a patch by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-December/136677.html

The original patch was rebased by Tudor SUCIU <tudor.suciu@gmail.com>.

Lots of additional features and fixes are made by me.

Fixes ticket #2086.

Changes since last version:
- change default page to all pages

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 01:19:52 +02:00
Michael Niedermayer
cf94299448 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Read h264 headers from v4l2 to allow stream-copying.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-02 00:59:35 +02:00
Michael Niedermayer
21dc3a3cc2 avcodec/ffv1dec: reorganize thread init/update
This moves some allocations to init, reducing possible failure modes in update.
Always copies from the previous context instead of just during init

Fixes Ticket2923

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 23:22:06 +02:00
Michael Niedermayer
c72cca5a44 avcodec/ffv1dec: move initial_states init to init_thread_copy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 23:22:06 +02:00
Carl Eugen Hoyos
e337c9d564 Read h264 headers from v4l2 to allow stream-copying.
Fixes ticket #2882.
Analyzed and tested by William C Bonner.
2013-09-01 21:27:43 +02:00
Paul B Mahol
5be7aecc80 pcm-dvd: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-01 19:20:39 +00:00
Paul B Mahol
fc435d977a pcm-dvd: remove redundant log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-09-01 19:19:31 +00:00
Michael Niedermayer
91acb23a28 doc: fix insane hard texi2html dependancy
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 20:02:52 +02:00
Michael Niedermayer
4aeb996f71 pixfmt: add native bayer 16bit formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 17:32:16 +02:00
Peter Ross
9116995efb libavutil: add AV_PIX_FMT_BAYER pixel formats
The pixel format descriptors are set to more or less arbitrary
values as bayer formats do not fit in the descriptors structure.
These values are currently not used for bayer formats and thus
do not matter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 17:32:16 +02:00
Michael Niedermayer
8901f48e63 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm-dvd: Fix build on big endian

See: 789cd1de99
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 14:09:49 +02:00
Michael Niedermayer
d8809b357c Merge commit 'f4ca970dba13a60a1334cce1b574036e6f624b9c'
* commit 'f4ca970dba13a60a1334cce1b574036e6f624b9c':
  configure: Add docdir configuration option

Conflicts:
	configure
	doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:42:37 +02:00
Michael Niedermayer
67d7ea9825 Merge commit 'faa8245bd45c1a6dd220ba9407ea1c82132aa1ce'
* commit 'faa8245bd45c1a6dd220ba9407ea1c82132aa1ce':
  vf_lut: Constantize

Conflicts:
	libavfilter/vf_lut.c

See: d7e95ccd9f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:10:07 +02:00
Michael Niedermayer
7c1805869d avcodec/pcm-dvd: discard buffer if block size changed
This prevents a potential crash

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:00:39 +02:00
Martin Storsjö
789cd1de99 pcm-dvd: Fix build on big endian
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:00:38 +02:00
Michael Niedermayer
cb4d05e7f2 Merge commit 'a42e3a6700547e4e49445bda81d3a89ec3e081a9'
* commit 'a42e3a6700547e4e49445bda81d3a89ec3e081a9':
  pcm_dvd: consolidate pieces from pcm.c and mpeg.c

Conflicts:
	libavcodec/pcm.c
	libavcodec/version.h
	libavformat/mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 13:00:08 +02:00
Michael Niedermayer
d7f917c37a fate: update fate tests after master:291ad12ea2d1: ffprobe: show probe_score in the format section
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 12:53:24 +02:00
Stefano Sabatini
291ad12ea2 ffprobe: show probe_score in the format section
Should address trac ticket #2621.
2013-09-01 11:34:18 +02:00
Stefano Sabatini
51b01573e5 ffprobe: fix format section XML validation
It was broken since 2186a7e547.
2013-09-01 11:34:12 +02:00
Michael Niedermayer
93cf7b0195 avcodec/h264: set er.ref_count earlier
Fixes Ticket2910

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 04:02:03 +02:00
Michael Niedermayer
990bbc15b8 avcodec/error_resilience: change out commented printf() to av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 03:50:08 +02:00
Michael Niedermayer
0388203098 avformat/utils: fix duration_fields calculation when need_parsing=0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 00:46:14 +02:00
Michael Niedermayer
8349be852b avformat/lxfdec: use a parser to parse video frame headers
lxf needs a parser (or would need to set a few fields explicitly).
Fixes Ticket2917

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-01 00:21:37 +02:00
Martin Storsjö
21ffd41011 pcm-dvd: Fix build on big endian
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-31 18:06:26 +02:00
Michael Niedermayer
8da23be458 avcodec/utils: avcodec_string: print colorspace type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 17:22:04 +02:00
Michael Niedermayer
ea07dbdeaa avcodec/utils: avcodec_string: Print color_range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 17:21:20 +02:00
Michael Niedermayer
336982a0ce avcodec/utils: avcodec_string: make the colorspace printing code more extendible.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 17:00:00 +02:00
Vittorio Giovara
f4ca970dba configure: Add docdir configuration option
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 16:16:38 +02:00
Diego Elio Pettenò
faa8245bd4 vf_lut: Constantize
The pixel format tables are never modified, mark them as constant.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 16:13:42 +02:00
Michael Niedermayer
4fa00c567c Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix make checkheaders for wavpackenc.h
  Fix make checkheaders for vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 13:55:38 +02:00
Michael Niedermayer
b043d80be4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm_bluray: cosmetics

Conflicts:
	libavcodec/pcm-bluray.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 13:47:04 +02:00
Michael Niedermayer
4273236e2f Merge commit '0d6549d8b57aaa5be8efb794154cdbe9a645910f'
* commit '0d6549d8b57aaa5be8efb794154cdbe9a645910f':
  pcm_bluray: rename pcm-mpeg.c to pcm-bluray.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 13:36:01 +02:00
Carl Eugen Hoyos
b970f85564 Fix make checkheaders for wavpackenc.h 2013-08-31 13:34:46 +02:00
Carl Eugen Hoyos
e7da19e9fa Fix make checkheaders for vdpau_internal.h 2013-08-31 13:32:13 +02:00
Christian Schmidt
a42e3a6700 pcm_dvd: consolidate pieces from pcm.c and mpeg.c
Remove the header decoding for PCM audio from mpeg.c and the
20/24bit parts from pcm.c and merge them into a new decoder in
pcm-dvd.c.

The decoder has added support for samples that span multiple
packets and modified 20/24bit group decoding. Both is needed to
decode samples that have been generated with DVD-Lab Pro 2. The
decoding of 16bit PCM and two channel 24bit is identical to
before. No other samples are known to verify the correctness of
the encoding this software does.
The complete list of tested formats is
48kHz/16bit/2-8 channels
48kHz/24bit/2-5 channels
96kHz/16bit/2-4 channels
96kHz/24bit/2 channels

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-31 11:26:29 +02:00
Christian Schmidt
21fd2f84ce pcm_bluray: cosmetics 2013-08-31 11:00:46 +02:00
Christian Schmidt
0d6549d8b5 pcm_bluray: rename pcm-mpeg.c to pcm-bluray.c
The original idea was to collect PCM codecs that could appear in various
MPEG streams in this file. Discussion in IRC lead to the conclusion that
one codec per file would be better and stop the need for #ifdefs.
2013-08-31 11:00:46 +02:00
Michael Niedermayer
227a0eb5a9 avformat/avidec: match first index and first packet size=0 handling
Fixes Ticket2861

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-31 03:08:25 +02:00
Michael Niedermayer
454a11a1c9 avcodec/dsputil: fix signedness in sizeof() comparissions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 23:40:47 +02:00
Michael Niedermayer
86736f59d6 avcodec/pngdsp: fix (un)signed type in end comparission
Fixes out of array accesses
Fixes Ticket2919

Found_by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 23:22:18 +02:00
Lukasz Marek
0b46d6f3ef lavu/bprint: add append buffer function
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Reveiwed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 22:36:38 +02:00
Michael Niedermayer
6e1b1a27a4 avcodec/avpacket: Use av_free_packet() in error cleanups
This prevents memleaks on errors
reproduceable with fate when error pathes are forced

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 21:43:35 +02:00
Michael Niedermayer
5c504e4df7 vformat/subtitles: check av_copy_packets return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 21:36:58 +02:00
Paul B Mahol
c042684476 kgv1dec: remove unused avctx from codec private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 18:24:19 +00:00
Paul B Mahol
057dce5f21 kgv1dec: make decoder independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 18:24:18 +00:00
Paul B Mahol
ea3ce00859 wnv1: remove unused avctx from codec private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 18:24:18 +00:00
Michael Niedermayer
60fed98e63 avcodec/pngdec: fix last_row_size type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 19:34:24 +02:00
Michael Niedermayer
7b47d7f75e avcodec/pngdec: Fix padded alloc code with threads
Fixes Ticket2903
Fixes out of array write
no releases should be affected by this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 19:34:23 +02:00
Thilo Borgmann
d814a839ac Reinstate proper FFmpeg license for all files. 2013-08-30 15:47:38 +00:00
Carl Eugen Hoyos
8fe1fb41ac Fix compilation with --disable-mmx. 2013-08-30 15:21:15 +02:00
Paul B Mahol
48cd1037f6 cmdutils: silence warning about incompatible pointer types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-30 12:41:36 +00:00
Michael Niedermayer
4f5454d201 avcodec/mpegvideo: reduce log level for messages about allocating frames.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 14:20:59 +02:00
Michael Niedermayer
b05cd1ea7e ffv1dec: Check bits_per_raw_sample and colorspace for equality in ver 0/1 headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 13:53:58 +02:00
Michael Niedermayer
05507348af Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: don't return a value from a function declared void

See: 01a82f1dc5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:58:24 +02:00
Michael Niedermayer
62a6052974 Merge commit 'e998b56362c711701b3daa34e7b956e7126336f4'
* commit 'e998b56362c711701b3daa34e7b956e7126336f4':
  x86: avcodec: Consistently structure CPU extension initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:50:01 +02:00
Michael Niedermayer
7fb758cd8e avcodec/x86/lpc: Fix cpu flag checks so they work
Broken by 6369ba3c9c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:34:52 +02:00
Michael Niedermayer
c1913064e3 avcodec/x86/vp8dsp: Fix cpu flag checks so they work
Broken by 6369ba3c9c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:33:56 +02:00
Michael Niedermayer
8be0e2bd43 Merge commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0'
* commit '6369ba3c9cc74becfaad2a8882dff3dd3e7ae3c0':
  x86: avcodec: Use convenience macros to check for CPU flags

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/motion_est.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 12:08:28 +02:00
Michael Niedermayer
f0a3562382 Merge commit '79aec43ce813a3e270743ca64fa3f31fa43df80b'
* commit '79aec43ce813a3e270743ca64fa3f31fa43df80b':
  x86: Add and use more convenience macros to check CPU extension availability

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 11:57:35 +02:00
Sean McGovern
01a82f1dc5 ppc: don't return a value from a function declared void
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-30 11:56:11 +02:00
Michael Niedermayer
09c94b57ca Merge commit 'a6b650118543e1580e872896d8976042b7c32d01'
* commit 'a6b650118543e1580e872896d8976042b7c32d01':
  ppc: cosmetics: Consistently format CPU flag detection invocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 11:48:54 +02:00
Timothy Gu
e45e72f5f8 doc/encoders: reformat and add some clarification in libtwolame doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-30 11:37:07 +02:00
Timothy Gu
40b8350b57 doc/encoders: reformat libmp3lame doc
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-30 11:36:35 +02:00
Michael Niedermayer
547d690d67 ffv1dec: check that global parameters dont change in version 0/1
Such changes are not allowed nor supported

Fixes Ticket2906

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 05:27:51 +02:00
Michael Niedermayer
20b965a1a4 avcodec/ffv1dec: check global header version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 03:43:49 +02:00
Michael Niedermayer
259292f9d4 avcodec/mpegvideo: Dont incorrectly warn about missing keyframes
Files starting with B frames in presentation order generated the
"no keyframe" warning before this change.

Based on patch by: Robert Krüger <krueger@lesspain.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-30 01:45:11 +02:00
Sean McGovern
f1f728cbe4 ppc: don't return a value from a function declared void
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-30 00:41:10 +03:00
Michael Niedermayer
24b4e6c373 snow: Check av_frame_alloc() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 23:23:22 +02:00
Michael Niedermayer
c4224fff1b avcodec/snow: gray support
Fixes Ticket839

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 22:52:04 +02:00
Michael Niedermayer
ec120efaa9 doc/snow: add gray/alpha/gbr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 22:52:04 +02:00
Michael Niedermayer
811d58e083 avcodec/utils: support non edge emu for grayscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 22:52:04 +02:00
Michael Niedermayer
cf06dee58d libavcodec/snow: change AVFrame to pointers to AVFrame for ABI stability
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 19:46:52 +02:00
Michael Niedermayer
1cefdc397e avcodec/snowenc: remove now unneeded include <assert.h>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 17:08:56 +02:00
Michael Niedermayer
2bc8348c85 avcodec/snowenc: convert all asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 17:08:56 +02:00
Michael Niedermayer
f07b569939 snowenc: remove disabled QUANTIZE2 code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 17:08:56 +02:00
Michael Niedermayer
f896f92337 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Place arch initialization calls in alphabetical order

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:15:54 +02:00
Michael Niedermayer
e1c3e6277f Merge commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc'
* commit 'f0389eb777b1ab4291329d4f709098cdfa7384dc':
  arm: fmtconvert: Split armv6 fmtconvert code off from vfp code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:10:39 +02:00
Michael Niedermayer
946f080b54 Merge commit '7ffda66fd5c81af4725bff7c2c4f207ba2aa0613'
* commit '7ffda66fd5c81af4725bff7c2c4f207ba2aa0613':
  arm: float_dsp: Propagate cpu_flags to vfp initialization function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:05:04 +02:00
Michael Niedermayer
99e7c702db Merge commit 'bd549cbaacd33dfb7be81d0619c9b107b8a85be7'
* commit 'bd549cbaacd33dfb7be81d0619c9b107b8a85be7':
  arm: dcadsp: Move synth filter initialization to dcadsp file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 16:00:45 +02:00
Michael Niedermayer
01cac26f68 Merge commit '1909f6b1b6da2db371c179bed5a19aaf979b7557'
* commit '1909f6b1b6da2db371c179bed5a19aaf979b7557':
  swscale: cosmetics: Drop silly camelCase from swScale function pointer name

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:56:03 +02:00
Michael Niedermayer
c49b6c3d99 Merge commit '4e0799a4d04404abfa8fbc072640be76465158cf'
* commit '4e0799a4d04404abfa8fbc072640be76465158cf':
  swscale: Add some missing av_cold to arch-specific init functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:48:53 +02:00
Michael Niedermayer
c5cec9a42b Merge commit '3aa682f25324d811ec284edc808eb71a46eae950'
* commit '3aa682f25324d811ec284edc808eb71a46eae950':
  swscale: consistent names for arch-specific acceleration functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:41:05 +02:00
Michael Niedermayer
5ff1b588eb Merge commit 'c2503d9c8ab42ea55922e9f5a10c8bfbbbfeaf19'
* commit 'c2503d9c8ab42ea55922e9f5a10c8bfbbbfeaf19':
  swscale: ppc: Hide arch-specific initialization details

Conflicts:
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:10:09 +02:00
Michael Niedermayer
4399e72723 Merge commit '6af2c351b3ae61e4478950ffddd0dfcad06188b8'
* commit '6af2c351b3ae61e4478950ffddd0dfcad06188b8':
  ppc: Add missing AltiVec cpuflag detection invocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:04:59 +02:00
Michael Niedermayer
3e75f98667 Merge commit 'de81b6ae4f38273ff27020f494cc46539110d34b'
* commit 'de81b6ae4f38273ff27020f494cc46539110d34b':
  ppc: fdct: Remove vim editor settings comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 15:00:02 +02:00
Michael Niedermayer
8251529ff3 Merge commit '70dd8892bf00923af838756dfbb356a9b1e4e40d'
* commit '70dd8892bf00923af838756dfbb356a9b1e4e40d':
  mpegvideo: Replace arch initialization ifdeffery by standard conditionals

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:53:44 +02:00
Michael Niedermayer
37494bdb0d Merge commit 'cd529172377229f2e86987869ccc08f426bfe114'
* commit 'cd529172377229f2e86987869ccc08f426bfe114':
  x86: rv40dsp: Move inline assembly optimizations out of YASM init section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:48:46 +02:00
Michael Niedermayer
db6b389c7f Merge commit 'a519583991c38d38503ab08357716513facc5725'
* commit 'a519583991c38d38503ab08357716513facc5725':
  swscale: x86: Hide arch-specific initialization details

Conflicts:
	libswscale/x86/Makefile
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:42:34 +02:00
Michael Niedermayer
477641e9f8 Merge commit 'a64f6a04ac5773aeff2003897455dadb9609f18b'
* commit 'a64f6a04ac5773aeff2003897455dadb9609f18b':
  dsputil: x86: Hide arch-specific initialization details

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:32:05 +02:00
Michael Niedermayer
29daad5b98 Merge commit 'f61bece684d9685b07895508e6c1c733b5564ccf'
* commit 'f61bece684d9685b07895508e6c1c733b5564ccf':
  ppc: Add and use convenience macro to check for AltiVec availability

Conflicts:
	libavcodec/ppc/dsputil_ppc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:24:07 +02:00
Michael Niedermayer
2a60666d1d Merge commit '8410d6e93c2e074881f1c7b7e4cdefd2e497d52e'
* commit '8410d6e93c2e074881f1c7b7e4cdefd2e497d52e':
  avutil: Refactor CPU extension availability macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:15:10 +02:00
Michael Niedermayer
c83d794936 Merge commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b'
* commit 'b78b10c4b78b696927f2801cf2d9f193b4eff28b':
  avutil: Move internal CPU detection function declarations to private header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:05:15 +02:00
Michael Niedermayer
18a9deedb0 Merge commit '91d4cfb8127f1de6c4ad173a30fffe584700046d'
* commit '91d4cfb8127f1de6c4ad173a30fffe584700046d':
  apedec: do not buffer decoded samples over AVPackets

Conflicts:
	libavcodec/apedec.c

See: 77d89a5b16
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 14:02:33 +02:00
Michael Niedermayer
8f68ef4681 Merge commit '84146963d23d76b09af633e97413cd97d9b3021e'
* commit '84146963d23d76b09af633e97413cd97d9b3021e':
  configure: x86: Fix handling of i686 and cpunop features

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:52:09 +02:00
Michael Niedermayer
5f9b1aae50 Merge commit '6454c44f9f74dbaed17d32cf0eaec185386c27fa'
* commit '6454c44f9f74dbaed17d32cf0eaec185386c27fa':
  rtmpproto: Fix limelight authentication with abbreviated app names

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:43:07 +02:00
Michael Niedermayer
8b79a458c0 avfilter/vf_fps: fix ABI compatibility with AV_NOPTS starttime
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:12:09 +02:00
Diego Biurrun
e998b56362 x86: avcodec: Consistently structure CPU extension initialization 2013-08-29 13:07:37 +02:00
Diego Biurrun
6369ba3c9c x86: avcodec: Use convenience macros to check for CPU flags 2013-08-29 13:07:37 +02:00
Diego Biurrun
79aec43ce8 x86: Add and use more convenience macros to check CPU extension availability 2013-08-29 13:07:37 +02:00
Michael Niedermayer
88262e1c1d Merge commit 'cb8f70c96e14c1b4824ef23d21d78d10fc5a4b93'
* commit 'cb8f70c96e14c1b4824ef23d21d78d10fc5a4b93':
  vf_fps: use double constants for default/min/max for start_time

Conflicts:
	libavfilter/vf_fps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 13:02:28 +02:00
Paul B Mahol
d49f2603be truemotion2: check return value of av_malloc(z)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-29 10:46:42 +00:00
Diego Biurrun
a6b6501185 ppc: cosmetics: Consistently format CPU flag detection invocations 2013-08-29 11:31:32 +02:00
Diego Biurrun
67e6a9f558 cosmetics: Place arch initialization calls in alphabetical order 2013-08-29 11:24:14 +02:00
Diego Biurrun
f0389eb777 arm: fmtconvert: Split armv6 fmtconvert code off from vfp code 2013-08-29 11:24:14 +02:00
Diego Biurrun
7ffda66fd5 arm: float_dsp: Propagate cpu_flags to vfp initialization function 2013-08-29 11:24:14 +02:00
Diego Biurrun
bd549cbaac arm: dcadsp: Move synth filter initialization to dcadsp file 2013-08-29 11:24:14 +02:00
Diego Biurrun
1909f6b1b6 swscale: cosmetics: Drop silly camelCase from swScale function pointer name 2013-08-29 10:23:54 +02:00
Diego Biurrun
4e0799a4d0 swscale: Add some missing av_cold to arch-specific init functions 2013-08-29 10:23:53 +02:00
Diego Biurrun
3aa682f253 swscale: consistent names for arch-specific acceleration functions 2013-08-29 10:23:52 +02:00
Diego Biurrun
c2503d9c8a swscale: ppc: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-29 10:23:41 +02:00
Lukasz Marek
f3ace37a3b lavf/ftp: fix possible crash 2013-08-29 01:57:38 +02:00
Michael Niedermayer
c4810fbe4f avformat/utils: fix av_probe_input_buffer2() so it returns the probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-29 01:15:15 +02:00
Diego Biurrun
6af2c351b3 ppc: Add missing AltiVec cpuflag detection invocations 2013-08-29 00:24:46 +02:00
Stefano Sabatini
7528fdcda3 doc/APIchanges: add missing entry for av_format_probe_score() function addition 2013-08-29 00:10:34 +02:00
Stefano Sabatini
083f058024 doc/formats: remove probe_score entry, since it's not an option 2013-08-29 00:08:27 +02:00
Diego Biurrun
de81b6ae4f ppc: fdct: Remove vim editor settings comment 2013-08-28 23:59:24 +02:00
Diego Biurrun
70dd8892bf mpegvideo: Replace arch initialization ifdeffery by standard conditionals 2013-08-28 23:59:24 +02:00
Diego Biurrun
cd52917237 x86: rv40dsp: Move inline assembly optimizations out of YASM init section 2013-08-28 23:59:24 +02:00
Diego Biurrun
a519583991 swscale: x86: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-28 23:59:24 +02:00
Diego Biurrun
a64f6a04ac dsputil: x86: Hide arch-specific initialization details
Also give consistent names to init functions.
2013-08-28 23:59:24 +02:00
Diego Biurrun
f61bece684 ppc: Add and use convenience macro to check for AltiVec availability 2013-08-28 23:54:15 +02:00
Diego Biurrun
8410d6e93c avutil: Refactor CPU extension availability macros 2013-08-28 23:54:14 +02:00
Diego Biurrun
b78b10c4b7 avutil: Move internal CPU detection function declarations to private header 2013-08-28 23:54:14 +02:00
Michael Niedermayer
e31db621bf avformat: export probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 22:18:57 +02:00
Rafaël Carré
91d4cfb812 apedec: do not buffer decoded samples over AVPackets
Only consume an AVPacket when all the samples have been read.

When the rate of samples output is limited (by the default value
of max_samples), consuming the first packet immediately will cause
timing problems:

- The first packet with PTS 0 will output 4608 samples and be
consumed entirely
- The second packet with PTS 64 will output the remaining samples
(typically, a lot, that's why max_samples exist) until the decoded
samples of the first packet have been exhausted, at which point the
samples of the second packet will be decoded and output when
av_decode_frame is called with the next packet).

That means there's a PTS jump since the first packet is 'decoded'
immediately, which can be seen with avplay or mplayer: the timing
jumps immediately to 6.2s (which is the size of a packet).

Sample: http://streams.videolan.org/issues/6348/Goldwave-MAClib.ape
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2013-08-28 15:00:34 -04:00
Michael Niedermayer
90411f7ed6 snowenc: Fix memleak of the ratecontrol related memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 20:53:21 +02:00
Michael Niedermayer
f13e733145 avcodec/snow: check for malloc* failures
Also return and pass on error codes where needed for this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 17:09:46 +02:00
Diego Biurrun
84146963d2 configure: x86: Fix handling of i686 and cpunop features
The i686 feature really is a CPU feature and should be handled as such.
The cpunop dependency on i686 should be expressed with a standard _deps
declaration instead of a manual test.
2013-08-28 17:03:05 +02:00
Martin Storsjö
6454c44f9f rtmpproto: Fix limelight authentication with abbreviated app names
When streaming to limelight, the app name is either a full
"appname/subaccount" or "appname/_definst_". In the latter case,
the app name can be simplified into simply "appname", but the
authentication hashing assumes the /_definst_ still to be present.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-28 17:54:51 +03:00
Hendrik Leppkes
cb8f70c96e vf_fps: use double constants for default/min/max for start_time
When using AV_NOPTS_VALUE (which expands to INT64_C(0x8000000000000000))
as union initializer for a double field, the c99 converter needs to
interpret this constant when filling the union initializer, and it is
interpreted as a positive value.

When converting AV_NOPTS_VALUE to a double, MSVC 2010 ends up with
the same positive value as the c99 converter, while MSVC 2012 gets
a negative value.

This results in an infite loop in various FATE tests on MSVC 2012.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-28 17:54:47 +03:00
Michael Niedermayer
129f50692e snowenc: check for memory allocation failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 16:52:30 +02:00
Michael Niedermayer
48480da6ad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: document the asf demuxer

Conflicts:
	doc/demuxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 13:03:09 +02:00
Michael Niedermayer
bc6e535db1 Merge commit '0ce1a7598e84abe6fb3684d0d5b0872d36f001d7'
* commit '0ce1a7598e84abe6fb3684d0d5b0872d36f001d7':
  vf_interlace: fix file permissions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:57:09 +02:00
Michael Niedermayer
983ed20c1c Merge commit 'ef51692a49d58963966adca55c62da9c34c3c7e1'
* commit 'ef51692a49d58963966adca55c62da9c34c3c7e1':
  Revert "w32pthread: help compiler figure out undeeded code"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:46:12 +02:00
Michael Niedermayer
a8ddafb0f4 Merge commit '4332bf98dc051fd1ffbd9d4ddc1c5e55790c96f1'
* commit '4332bf98dc051fd1ffbd9d4ddc1c5e55790c96f1':
  w32threads: Don't use function pointers when linking directly to newer APIs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:41:16 +02:00
Michael Niedermayer
72196a4b8d Merge commit '310cc4bf82824f09bdd0b9147ed725cdbeaf9bdd'
* commit '310cc4bf82824f09bdd0b9147ed725cdbeaf9bdd':
  smoothstreamingenc: Write to a temp file while updating the manifest

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:34:33 +02:00
Michael Niedermayer
7efa9b1794 Merge commit 'b1f9cdc37ff5d5b391d2cd9af737ab4e5a0fc1c0'
* commit 'b1f9cdc37ff5d5b391d2cd9af737ab4e5a0fc1c0':
  ac3: Return proper error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:28:25 +02:00
Michael Niedermayer
bfa1b42b3c Merge commit '818d1f1a3e89d35213af0bd5dc4a772713951882'
* commit '818d1f1a3e89d35213af0bd5dc4a772713951882':
  ac3: Clean up the error paths

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:16:10 +02:00
Michael Niedermayer
f0ee0341b0 Merge commit '6258d362b82934a2c27557e0984aed372d98091a'
* commit '6258d362b82934a2c27557e0984aed372d98091a':
  ac3: Do not clash with normal AVERROR

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:09:41 +02:00
Michael Niedermayer
946902e5b9 Merge commit 'f4634ae8a83d13a1abf3baac8956a3111aa09ed2'
* commit 'f4634ae8a83d13a1abf3baac8956a3111aa09ed2':
  flv: Fix the help string

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 12:03:06 +02:00
Michael Niedermayer
a13af77f49 Merge commit '21015109ec0fac0f104a5355f272ecb956ba3f4e'
* commit '21015109ec0fac0f104a5355f272ecb956ba3f4e':
  doc: Document the flv demuxer

Conflicts:
	doc/demuxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 11:55:03 +02:00
Michael Niedermayer
87d38ad803 Merge commit 'f812eeda17e38797df5cb733ce99cdfd829d84ca'
* commit 'f812eeda17e38797df5cb733ce99cdfd829d84ca':
  matroskaenc: Fix writing TRACKDEFAULTFLAG

Conflicts:
	libavformat/matroskaenc.c
	tests/fate/wavpack.mak
	tests/ref/lavf/mkv
	tests/ref/seek/lavf-mkv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 11:33:59 +02:00
Luca Barbato
48f2e53ad0 doc: document the asf demuxer
And drop a typo from the previous FLV entry.
2013-08-28 11:02:56 +02:00
Michael Niedermayer
70106e73c5 cmdutils: Filter non user AVOptions out from what can be set over the command line.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-28 00:25:13 +02:00
Vittorio Giovara
0ce1a7598e vf_interlace: fix file permissions
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-27 23:50:45 +02:00
Martin Storsjö
ef51692a49 Revert "w32pthread: help compiler figure out undeeded code"
This reverts commit 4622f11f9c.

The compiler should be able to do the dead code elimination now
without this when the cond_* names point directly to the real
functions instead of to local function pointers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 23:12:49 +03:00
Martin Storsjö
4332bf98dc w32threads: Don't use function pointers when linking directly to newer APIs
This reduces the call overhead slightly. More noticeably, it
restores the earlier (unintended?) feature that condition variable
functions work just fine even if w32thread_init() hasn't been called.
This was broken as a side effect of 4622f11f9, if explicitly targeting
Vista+.

This makes w32threading work in VP8 again, if targeting Vista+.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 23:12:28 +03:00
Martin Storsjö
310cc4bf82 smoothstreamingenc: Write to a temp file while updating the manifest
If a client tries to read the file while it's being updated, the client
would get an incomplete manifest. Instead write to a separate temp file
and atomically rename it to replace the previous one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 19:44:31 +03:00
Luca Barbato
b1f9cdc37f ac3: Return proper error codes 2013-08-27 16:19:12 +02:00
Luca Barbato
818d1f1a3e ac3: Clean up the error paths 2013-08-27 16:19:12 +02:00
Luca Barbato
6258d362b8 ac3: Do not clash with normal AVERROR
The parsing function return AVERROR and AAC_AC3_PARSE_ERROR values,
make sure they are not misunderstood.
2013-08-27 16:19:12 +02:00
Luca Barbato
f4634ae8a8 flv: Fix the help string 2013-08-27 14:38:54 +02:00
Luca Barbato
21015109ec doc: Document the flv demuxer 2013-08-27 14:38:19 +02:00
Alfred E. Heggestad
16c3ed5837 libavutil: cast truncated values to uint32_t
programs using ffmpeg that are compiled with -Wshorten-64-to-32
gives a warning when using header files common.h and rational.h

cast 64-bit truncated values to (uint32_t) to avoid the warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 14:25:34 +02:00
John Stebbins
f812eeda17 matroskaenc: Fix writing TRACKDEFAULTFLAG
The element was only being written when the value == 1.  But the default
value of this element is 1, so this has no useful effect.  This element
needs to be written when the value == 0.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-27 14:00:31 +02:00
Michael Niedermayer
231201382e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Check for errors from mov_create_chapter_track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:52:17 +02:00
Michael Niedermayer
da2038221b Merge commit '2bbad1f94cbc5eab0aa2d937bc79d085477d0242'
* commit '2bbad1f94cbc5eab0aa2d937bc79d085477d0242':
  movenc: Properly free allocated data on failures in mov_write_header

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:47:04 +02:00
Michael Niedermayer
ef4fcb30c4 Merge commit '3559fb97c459c88b4f1d0eef80d55933d3b7fabe'
* commit '3559fb97c459c88b4f1d0eef80d55933d3b7fabe':
  movenc: Check that tracks->enc exists before trying to free extradata

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:33:39 +02:00
Michael Niedermayer
0bd15938ec Merge commit '4d122b01e4ce539269ee2df193b061772c7374f6'
* commit '4d122b01e4ce539269ee2df193b061772c7374f6':
  movenc: Check for allocation failures in mov_create_chapter_track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 12:26:27 +02:00
Martin Storsjö
0fb3e1c6ce movenc: Check for errors from mov_create_chapter_track
On failures in the write_trailer function, we could also ignore
the errors and try to finish the file despite these errors (which
would only leave an incomplete chapters track). It's probably better
to signal the error clearly to the caller though (and if this
function failed there's no guarantee that there's enough memory to
finish the trailer either).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:26:10 +03:00
Martin Storsjö
2bbad1f94c movenc: Properly free allocated data on failures in mov_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:26:08 +03:00
Martin Storsjö
3559fb97c4 movenc: Check that tracks->enc exists before trying to free extradata
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:26:07 +03:00
Martin Storsjö
4d122b01e4 movenc: Check for allocation failures in mov_create_chapter_track
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-27 10:25:55 +03:00
Michael Niedermayer
535d9a9386 avformat/ftp: make const tables static const
Reviewed-by: Lukasz M <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-27 03:55:45 +02:00
Paul B Mahol
b74213db08 wavpackenc: remove duplicate 'const' declaration specifier
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:30:45 +00:00
Paul B Mahol
e6e26b8a91 msrledec: use memset()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:26:01 +00:00
Paul B Mahol
6638738968 msrledec: use bytestream2_get_bufferu()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:26:00 +00:00
Paul B Mahol
f12c27daf7 sgidec: use bytestream2_get_bufferu()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-26 19:26:00 +00:00
Michael Niedermayer
fcaf5fa2ea avcodec/fft-test: put ff_dct* code under CONFIG_DCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:39:22 +02:00
Michael Niedermayer
ffdbec6fc9 tests/fate/libavcodec: fate-idct8x8 needs dct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:37:31 +02:00
Michael Niedermayer
0617efa7f7 tests/fate/fft: add mdct dependency as mdct is used too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:36:35 +02:00
Michael Niedermayer
e29c29e10a tests/fate/cover-art: add file protocol & rawvideo muxer dependency
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:35:57 +02:00
Michael Niedermayer
d5f616ed87 avcodec: dct_test needs CONFIG_DCT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 20:19:01 +02:00
Michael Niedermayer
abe76b851c ffv1enc: Make ffv1.3 non experimental
The fate tests change as they used 1.2 previously
The increased size is due to:
32bit CRCs per slice by default (can be disabled),
it adds slice headers to allow decoding one slice without the others
an additional slice size field is added to make it possible to find
slices within corrupted surroundings.

these add up to about 57bit per slice more
at 50 frames and 4 slices thats 1425 byte

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 17:33:53 +02:00
Pavel Koshevoy
185fc52f19 avfilter/vf_fps: Work around msvc (c99wrap) build failure
c99wrap choked on initialization of .dbl start_time option with
AV_NOPTS_VALUE: Unable to parse int64_t as expression primary

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 15:23:45 +02:00
Michael Niedermayer
09ea5048a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  imc: support mode 1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:53:15 +02:00
Michael Niedermayer
6063f012f2 Merge commit '9e7b62f0fb7462a902330fcc82cf596388f0187b'
* commit '9e7b62f0fb7462a902330fcc82cf596388f0187b':
  twinvq: set block align for codecs and use it in size checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:47:15 +02:00
Michael Niedermayer
e43c672b56 Merge commit 'b89e8759e053792704741d08cbc41c9ac3c7ed63'
* commit 'b89e8759e053792704741d08cbc41c9ac3c7ed63':
  mov: Write tmcd extradata

This commit should make no difference as we had tmcd support
already, which is not changed.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:36:00 +02:00
Michael Niedermayer
d3ff77023e Merge commit '5b41eb91e0083755de8c35e8cd005896ec3ab31f'
* commit '5b41eb91e0083755de8c35e8cd005896ec3ab31f':
  mov: Parse tmcd extradata

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 14:26:40 +02:00
Michael Niedermayer
b32a6da100 Merge commit '0b5af5cf1224add1769b1094b9924ecf10de3d7d'
* commit '0b5af5cf1224add1769b1094b9924ecf10de3d7d':
  mov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsd

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:59:28 +02:00
Michael Niedermayer
e299aa78d9 Merge commit '08504380ddf25d6905e189e9bf52e7a4c771a415'
* commit '08504380ddf25d6905e189e9bf52e7a4c771a415':
  mov: Refactor codec specific final steps in mov_finalize_stsd_codec

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:28:04 +02:00
Michael Niedermayer
80e0599402 Merge commit 'dc518a3ae21e7b6420131b813cfc6bcdcad26b7e'
* commit 'dc518a3ae21e7b6420131b813cfc6bcdcad26b7e':
  mov: Refactor subtitle specific parsing in mov_parse_stsd_subtitle

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:18:43 +02:00
Michael Niedermayer
9748f1477d Merge commit 'ef196beeb50e8e024ed5a560a1d39eff4a296ce4'
* commit 'ef196beeb50e8e024ed5a560a1d39eff4a296ce4':
  mov: Refactor audio specific parsing in mov_parse_stsd_audio

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:14:09 +02:00
Michael Niedermayer
bc6370b622 Merge commit 'a3b53ff062eaccdaa28964899c63520ef2978c2e'
* commit 'a3b53ff062eaccdaa28964899c63520ef2978c2e':
  mov: Refactor video specific parsing in mov_parse_stsd_video

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 13:07:13 +02:00
Michael Niedermayer
f5a0c205d9 Merge commit 'bf9856250584228678963ce8f11c54f85005d783'
* commit 'bf9856250584228678963ce8f11c54f85005d783':
  mov: Refactor codec id selection in mov_codec_id

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 12:44:29 +02:00
Kostya Shishkov
4eb4bb3a02 imc: support mode 1 2013-08-26 09:23:45 +02:00
Kostya Shishkov
9e7b62f0fb twinvq: set block align for codecs and use it in size checks
This both allows factoring out size check for both MetaSound and TwinVQ-VQF
decoders and fixes the situation when there are several MetaSound frames
stuffed together (that happens in 8kHz @ 8kbps MetaSound in ASF for example).
2013-08-26 09:23:39 +02:00
Michael Niedermayer
8d679bc7e6 avformat/mp3dec: improve detection of mp3s with huge id3 tags
When a id3 tag is larger than the amount of space we will probe
give it a score similar to what a .mp3 extension would have given it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 00:57:35 +02:00
Michael Niedermayer
a9d1a7c79b avformat: move PROBE_BUF_M* to internal.h
They will be used by the mp3 probe function in the next commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-26 00:54:30 +02:00
Michael Niedermayer
22fbc7f8be avformat/tcp: fix pointer to int warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:44:40 +02:00
Michael Niedermayer
59360cd456 tools/graph2dot: fix use of deprecated *put_count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:37:37 +02:00
Michael Niedermayer
1350a5c4d5 avfilter/graphparser: fix use of deprecated symbols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:36:58 +02:00
Michael Niedermayer
7659ee350b avfilter/graphdump: fix use of deprecated symbols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:33:44 +02:00
Michael Niedermayer
f12174c8ce avfilter/filtfmts: fix use of deprecated symbols
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 19:33:44 +02:00
Luca Barbato
b89e8759e0 mov: Write tmcd extradata 2013-08-25 13:49:21 +02:00
Luca Barbato
5b41eb91e0 mov: Parse tmcd extradata 2013-08-25 13:49:13 +02:00
Michael Niedermayer
21ba80214c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 12:26:14 +02:00
Michael Niedermayer
626739ebbb avcodec/h264: Free rbsp_buffer before copying context over it
Fixes memleak
Fixes Ticket1900

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:30:31 +02:00
Michael Niedermayer
be30e44dd9 avcodec/h264: Zero rbsp_buffer earler to ensure no duplicated pointers can leak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:29:52 +02:00
Michael Niedermayer
ecbf838c7d h264: prevent rbsp_buffer values from becoming duplicated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-25 03:01:19 +02:00
Michael Niedermayer
88909beca3 avcodec/movenc: move chapter_properties under the #if of the code that uses it
Fixes warning about unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 23:23:00 +02:00
Michael Niedermayer
f55a7ba037 avcodec/ituh263dec: detect and warn about RTP
Fixes Ticket925
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 23:06:59 +02:00
Michael Niedermayer
5c6a58746b ffplay: make next_nb_channels[] static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 19:53:11 +02:00
Michael Niedermayer
7495186fd4 avcodec/h263dec: fix aspect of lead h263 EHC
Fixes part of ticket925

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 18:59:58 +02:00
Luca Barbato
0b5af5cf12 mov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsd 2013-08-24 17:02:23 +02:00
Luca Barbato
08504380dd mov: Refactor codec specific final steps in mov_finalize_stsd_codec 2013-08-24 17:02:23 +02:00
Luca Barbato
dc518a3ae2 mov: Refactor subtitle specific parsing in mov_parse_stsd_subtitle 2013-08-24 17:02:23 +02:00
Luca Barbato
ef196beeb5 mov: Refactor audio specific parsing in mov_parse_stsd_audio 2013-08-24 17:02:23 +02:00
Luca Barbato
a3b53ff062 mov: Refactor video specific parsing in mov_parse_stsd_video 2013-08-24 17:02:23 +02:00
Luca Barbato
bf98562505 mov: Refactor codec id selection in mov_codec_id 2013-08-24 17:02:23 +02:00
Diego Biurrun
ff9d57e7df h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline
This ensures that decode_cabac_residual_internal actually does get inlined,
which it otherwise does not, even though it is marked as always_inline.
2013-08-24 16:14:15 +02:00
Michael Niedermayer
6067186f3a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:30:57 +02:00
Michael Niedermayer
edf6fb64e0 Merge commit '84784c297fe6a6e538a7e111dcdbd8b893c2d275'
* commit '84784c297fe6a6e538a7e111dcdbd8b893c2d275':
  libfdk-aacdec: formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:23:25 +02:00
Michael Niedermayer
f9418d156f Merge commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9'
* commit '8506ff97c9ea4a1f52983497ecf8d4ef193403a9':
  vp56: Mark VP6-only optimizations as such.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 11:04:11 +02:00
Michael Niedermayer
b99d3613cf avcodec/h263dec: use FF_CEIL_RSHIFT()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 04:09:43 +02:00
Michael Niedermayer
9a271a9368 jpeg2000: check log2_cblk dimensions
Fixes out of array access
Fixes Ticket2895

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 03:42:54 +02:00
Paul B Mahol
b8ff4f5ea3 truemotion1: check av_fast_malloc() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 23:22:39 +00:00
Paul B Mahol
83b915d495 truemotion1: use av_freep()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 23:22:39 +00:00
Michael Niedermayer
5cc8b81687 mpeg4videodec: fix GEOV/GEOX fliping
Fixes Ticket317
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 01:04:23 +02:00
Michael Niedermayer
3941a4f5c2 snowenc: change a bunch of assert() to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 01:00:00 +02:00
Paul B Mahol
2a75459519 pngdec: do not release buffer on failure instead report full progress
Should fix heap-use-after-free as reported by Address Sanitizer.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 21:08:32 +00:00
Alexander Strasser
b329ff3d43 MAINTAINERS: Add my GPG fingerprint 2013-08-23 21:40:57 +02:00
Michael Niedermayer
aadfadd784 avformat/redspark: check coef_off
Fixes out of array reads

Found-by: Laurent Butti <laurentb@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 20:05:35 +02:00
Michael Niedermayer
9e477a3770 jpeg2000: fix null pointer dereference in case of malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 18:06:54 +02:00
Michael Niedermayer
09927f3eaa jpeg2000: zero reslevel array on allocation
prevent use of uninitialized values

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 18:06:54 +02:00
Michael Niedermayer
912ce9dd20 jpeg2000: fix dereferencing invalid pointers
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 17:36:53 +02:00
Diego Biurrun
f407856968 arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder
The functions are used by all codecs that enable the h264chroma component
and the file is already compiled conditional on h264chroma being enabled.
2013-08-23 17:21:14 +02:00
Diego Biurrun
84784c297f libfdk-aacdec: formatting cosmetics 2013-08-23 17:11:47 +02:00
Diego Biurrun
8506ff97c9 vp56: Mark VP6-only optimizations as such.
Most of our VP56 optimizations are VP6-only and will stay that way.
So avoid compiling them for VP5-only builds.
2013-08-23 14:42:19 +02:00
Michael Niedermayer
800ea20cad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Make tkhd "enabled" flag QuickTime compatible

Conflicts:
	libavformat/movenc.c
	tests/ref/acodec/alac
	tests/ref/acodec/pcm-s16be
	tests/ref/acodec/pcm-s24be
	tests/ref/acodec/pcm-s32be
	tests/ref/acodec/pcm-s8
	tests/ref/lavf/mov
	tests/ref/vsynth/vsynth1-dnxhd-1080i
	tests/ref/vsynth/vsynth1-mpeg4
	tests/ref/vsynth/vsynth1-prores
	tests/ref/vsynth/vsynth1-qtrle
	tests/ref/vsynth/vsynth1-svq1
	tests/ref/vsynth/vsynth2-dnxhd-1080i
	tests/ref/vsynth/vsynth2-mpeg4
	tests/ref/vsynth/vsynth2-prores
	tests/ref/vsynth/vsynth2-qtrle
	tests/ref/vsynth/vsynth2-svq1

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 13:49:24 +02:00
Michael Niedermayer
c6f4a3a708 Merge commit '1f70a5ad284b33e8b3e2b40a5cb33055419781b7'
* commit '1f70a5ad284b33e8b3e2b40a5cb33055419781b7':
  mov: use tkhd enabled flag to set the default track

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 13:27:34 +02:00
Paul B Mahol
dd1d29bd5f pngdec: use av_fast_padded_malloc(z)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 10:29:33 +00:00
Paul B Mahol
8fbf940e16 lavfi/tile: do not leak input frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-23 10:28:29 +00:00
Stefano Sabatini
0be3be9011 lavf/tee: copy metadata to output chained muxers 2013-08-23 12:27:09 +02:00
John Stebbins
30ce289074 movenc: Make tkhd "enabled" flag QuickTime compatible
QuickTime will play multiple audio tracks concurrently if this flag is
set for multiple audio tracks.  And if no subtitle track has this flag
set, QuickTime will show no subtitles in the subtitle menu.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-23 09:55:42 +02:00
John Stebbins
1f70a5ad28 mov: use tkhd enabled flag to set the default track
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-23 09:24:22 +02:00
Michael Niedermayer
16a0d75c76 avcodec/mjpegdec: fix overread in find_marker()
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 04:44:55 +02:00
Carl Eugen Hoyos
2baa12f1d1 Fix dependencies for h263 vaapi decoder. 2013-08-23 02:11:49 +02:00
Michael Niedermayer
8bb11c3ca7 avcodec/jpeg2000dec: Check cdx/y values more carefully
Some invalid values where not handled correctly in the later pixel
format matching code.
Fixes out of array accesses
Fixes Ticket2848

Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 01:02:03 +02:00
Michael Niedermayer
c443689afb avformat/movenc: use av_freep() instead of av_free() except for local variables before return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 00:31:15 +02:00
Paul B Mahol
b1e276f8df lavfi/hue: allow changing brightness
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-22 14:56:13 +00:00
Paul B Mahol
6e643239d9 pngdec: frame multithreading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-22 13:14:25 +00:00
Michael Niedermayer
f903b42663 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Split DCT and FFT initialization into separate files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 14:28:42 +02:00
Stefano Sabatini
7af7b45c38 lavf/image2: extend start_number range to accept zero
Address trac ticket #2884.
2013-08-22 14:26:23 +02:00
Michael Niedermayer
25e4ec6aa1 Merge commit '60198742ff851f11a3757c713fc75a9c19b88566'
* commit '60198742ff851f11a3757c713fc75a9c19b88566':
  movenc: fix detection of 64bit offset requirement

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 14:16:52 +02:00
Michael Niedermayer
606a30c5a1 Merge commit 'fe5d5a8ffcafdc14c0d26eaea6464c89e120cc9e'
* commit 'fe5d5a8ffcafdc14c0d26eaea6464c89e120cc9e':
  movenc: Make chapter track QuickTime compatible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:58:23 +02:00
Michael Niedermayer
d68adbd666 Merge commit 'f8ef91ff3d6bb83d601d816ef9368f911021c64b'
* commit 'f8ef91ff3d6bb83d601d816ef9368f911021c64b':
  movenc: add faststart option for web streaming

Conflicts:
	doc/muxers.texi
	libavformat/movenc.c
	libavformat/movenc.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:37:16 +02:00
Michael Niedermayer
221a99aae7 Merge commit '4622f11f9c83db8a2e08408c71ff901826ca652c'
* commit '4622f11f9c83db8a2e08408c71ff901826ca652c':
  w32pthread: help compiler figure out undeeded code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:09:24 +02:00
Michael Niedermayer
503aec1425 Merge commit '0b45269c2d732d15afa2de9c475d85fcf5561ac4'
* commit '0b45269c2d732d15afa2de9c475d85fcf5561ac4':
  x86: h264_idct: Remove incorrect comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 13:04:07 +02:00
Paul B Mahol
139a98be8e lavfi/gradfun: support gbrp
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-22 10:59:52 +00:00
Stefano Sabatini
eadb3ad758 lavf/tee: initialize ret in parse_bsfs()
Fix spurious failures.
2013-08-22 09:52:54 +02:00
Michael Niedermayer
3819db745d avcodec/rpza: Perform pointer advance and checks before using the pointers
Fixes out of array accesses
Fixes Ticket2850

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-22 01:26:02 +02:00
Paul B Mahol
920046abf1 loco: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 20:29:05 +00:00
Paul B Mahol
e7834d29f2 lavfi/separatefields: fix frame leak
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 20:02:25 +00:00
Paul B Mahol
71c378984b qtrle: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:27:31 +00:00
Paul B Mahol
5c9d44d66b qtrle: use memcpy()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:18:05 +00:00
Paul B Mahol
d5f547389b qtrle: use uint16_t and (u)int8_t instead of unsigned short and unsigned char
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:18:05 +00:00
Paul B Mahol
925d0837b9 qtrle: use bytestream2_get_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 19:18:05 +00:00
Paul B Mahol
9a5aa2c48e avcodec/mdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 18:35:58 +00:00
Diego Biurrun
e7b31844f6 x86: Split DCT and FFT initialization into separate files 2013-08-21 20:15:27 +02:00
Thilo Borgmann
ffa18de2e6 configure: Add exif to CONFIG_EXTRA.
Add exif as a common component in CONFIG_EXTRA in order to avoid many
dependencies to 'exif.o tiff_common.o' in lavc/Makefile.
2013-08-21 19:00:48 +02:00
Stefano Sabatini
71c5f9d29c doc/muxers: add elaborated example for the tee muxer
The example shows how to combine bsfs and select options.
2013-08-21 17:44:35 +02:00
Stefano Sabatini
5ae3563359 lavf/tee: add special select option 2013-08-21 17:44:35 +02:00
Paul B Mahol
e6876c7b7b lavfi/hue: use lookup tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-21 15:33:33 +00:00
Clément Bœsch
60198742ff movenc: fix detection of 64bit offset requirement
The old method doesn't work when moov is relocated to beginning of file

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
John Stebbins
fe5d5a8ffc movenc: Make chapter track QuickTime compatible
QuickTime requires that the stsd.text box be completely filled in.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
Clément Bœsch
f8ef91ff3d movenc: add faststart option for web streaming
Faststart moves the moov atom to the beginning of the file and rewrites
the rest of the file after muxing is complete.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
Rafaël Carré
4622f11f9c w32pthread: help compiler figure out undeeded code
The emulation code is not needed when targetting Vista+
This helps getting rid of CreateSemaphore symbol, which is
forbidden in Windows Store apps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-21 14:20:33 +01:00
Diego Biurrun
0b45269c2d x86: h264_idct: Remove incorrect comment 2013-08-21 15:09:58 +02:00
Michael Niedermayer
ca7f637a1e doc/filters: move fps filter start_time item to correct place
Fixes warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 14:29:15 +02:00
Michael Niedermayer
3d842cf827 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 13:08:55 +02:00
Michael Niedermayer
70a73213b7 Merge commit 'c18838f5eb7d7001a9dc653f5162868c04c1b2a1'
* commit 'c18838f5eb7d7001a9dc653f5162868c04c1b2a1':
  h264_ps: Use more meaningful error values

Conflicts:
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 13:03:40 +02:00
Michael Niedermayer
e853cf5325 Merge commit '330ad1f6a53a37dec228cb424ca57e1268fafc64'
* commit '330ad1f6a53a37dec228cb424ca57e1268fafc64':
  h264_ps: K&R formatting cosmetics

Conflicts:
	libavcodec/h264_ps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:56:37 +02:00
Michael Niedermayer
8299ed261a Merge commit '8fed466b0a7d636ae5035f9c6074fba9a621539b'
* commit '8fed466b0a7d636ae5035f9c6074fba9a621539b':
  h264_ps: Drop commented-out cruft

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:32:33 +02:00
Michael Niedermayer
16466d92b9 Merge commit 'c4e43560fe6677e9d60bfb3cffc41c7324e92a0b'
* commit 'c4e43560fe6677e9d60bfb3cffc41c7324e92a0b':
  h264data: Move some tables to the only place they are used

Conflicts:
	libavcodec/h264data.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:21:48 +02:00
Michael Niedermayer
e9cb43c6f6 Merge commit 'f34de1486aa0eb147d46ba5d2cb86a17407bb7ce'
* commit 'f34de1486aa0eb147d46ba5d2cb86a17407bb7ce':
  h264data: Remove unused luma_dc_field_scan table

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:12:10 +02:00
Michael Niedermayer
614cf1a613 Merge commit '4f2b469da5e4ae221718ae479f6af627cfdebb91'
* commit '4f2b469da5e4ae221718ae479f6af627cfdebb91':
  Add a libfdk-aac decoder

Conflicts:
	configure
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 12:05:19 +02:00
Michael Niedermayer
b69b075ac6 Merge commit '545a0b807cf45b2bbc4c9087a297b741ce00f508'
* commit '545a0b807cf45b2bbc4c9087a297b741ce00f508':
  vf_fps: add 'start_time' option

Conflicts:
	doc/filters.texi
	libavfilter/vf_fps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:37:10 +02:00
Michael Niedermayer
58e12732db Merge commit '2a61592573d725956a4377641344afe263382648'
* commit '2a61592573d725956a4377641344afe263382648':
  avcodec: Remove some commented-out debug cruft

Conflicts:
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_mvpred.h
	libavcodec/mjpegdec.c
	libavcodec/mjpegenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:18:43 +02:00
Michael Niedermayer
a76390d100 Merge commit '6c786765cd5eb794dedd4a0970dfe689b16dfeeb'
* commit '6c786765cd5eb794dedd4a0970dfe689b16dfeeb':
  movenc: Allow chapters to be written in trailer

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:00:26 +02:00
Michael Niedermayer
8d63aaed1e Merge commit 'db03cb37fd9650b4a7c752d24a2e84ff27508ee8'
* commit 'db03cb37fd9650b4a7c752d24a2e84ff27508ee8':
  movenc: Allow chapter track in default MODE_MP4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 10:45:27 +02:00
Michael Niedermayer
9ab8de4b23 Merge commit '64af59bc4916fac5578b31c89da13c30b591bddf'
* commit '64af59bc4916fac5578b31c89da13c30b591bddf':
  avformat: Fix references to removed av_close_input_file in Doxygen

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 10:38:45 +02:00
Diego Biurrun
e95930eda1 avcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM 2013-08-21 09:40:39 +02:00
Michael Niedermayer
be03912a78 avformat/unix: reshuffle #includes
This should fix openbsd while hopefully also working on solaris & android

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 05:51:41 +02:00
Michael Niedermayer
97e165cdae avformat/unix: include sys/socket.h
unbreak android ndk r8 build

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 00:25:51 +02:00
Michael Niedermayer
880c73cd76 avcodec/flashsv: check diff_start/height
Fixes out of array accesses
Fixes Ticket2844

Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 23:18:48 +02:00
Diego Biurrun
c18838f5eb h264_ps: Use more meaningful error values 2013-08-20 21:24:42 +02:00
Diego Biurrun
330ad1f6a5 h264_ps: K&R formatting cosmetics 2013-08-20 21:23:24 +02:00
Diego Biurrun
8fed466b0a h264_ps: Drop commented-out cruft 2013-08-20 21:09:05 +02:00
Diego Biurrun
c4e43560fe h264data: Move some tables to the only place they are used 2013-08-20 20:49:37 +02:00
Diego Biurrun
f34de1486a h264data: Remove unused luma_dc_field_scan table 2013-08-20 20:49:37 +02:00
Martin Storsjö
4f2b469da5 Add a libfdk-aac decoder
This can be useful for decoding AAC object types that are not supported
by the native AAC decoder, e.g. AAC-LD and AAC-ELD.
2013-08-20 14:27:27 -04:00
Justin Ruggles
545a0b807c vf_fps: add 'start_time' option
This allows for dropping or duplication to match a particular start time.
2013-08-20 14:10:02 -04:00
Diego Biurrun
2a61592573 avcodec: Remove some commented-out debug cruft 2013-08-20 19:59:50 +02:00
Thilo Borgmann
78d2a781d0 fate: Add EXIF test. 2013-08-20 18:47:20 +02:00
Michael Niedermayer
c56d4dab03 swr/rematrix: Fix handling of AV_CH_LAYOUT_STEREO_DOWNMIX output
Fixes Ticket2859

Note, testcases related to the downmix channels are welcome.
(id like to make sure this is working correctly now, as obviously it didnt
 work before ...)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 16:56:51 +02:00
Michael Niedermayer
6dfffe9200 swr: clean layouts before checking sanity
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 16:49:31 +02:00
John Stebbins
6c786765cd movenc: Allow chapters to be written in trailer
This allows creation of frame accurate chapter marks from sources
like DVD and BD where the precise chapter location is not known until
the chapter mark has been reached during reading.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-20 15:18:42 +01:00
John Stebbins
db03cb37fd movenc: Allow chapter track in default MODE_MP4
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-20 15:18:42 +01:00
Michael Niedermayer
3d64845600 movenc: ilbc needs audio_vbr set.
Without this the block_align or bitrate value is not available to the decoder

Fixes Ticket2858

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 14:18:24 +02:00
Diego Biurrun
64af59bc49 avformat: Fix references to removed av_close_input_file in Doxygen 2013-08-20 13:33:47 +02:00
Michael Niedermayer
fb679d5374 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov: Prevent segfaults on mov_write_hdlr_tag

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 12:48:52 +02:00
Michael Niedermayer
eec75e0a1f Merge commit '22de0f8369f1f3edf1a55e1d275f3c07c617b53e'
* commit '22de0f8369f1f3edf1a55e1d275f3c07c617b53e':
  mov: Compute max duration among the tracks with a timescale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 12:34:54 +02:00
Michael Niedermayer
4a6f1be170 Merge commit '39523030108815242178ac5e209c83070bd1baef'
* commit '39523030108815242178ac5e209c83070bd1baef':
  mov: Set the timescale for data streams

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 12:16:31 +02:00
Michael Niedermayer
e1acfd3cb0 Merge commit 'b886f5c2f1e71b3e60e4265c500158d392b4b9a4'
* commit 'b886f5c2f1e71b3e60e4265c500158d392b4b9a4':
  mkv: Allow flushing the current cluster in progress

Conflicts:
	libavformat/matroskaenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:44:25 +02:00
Michael Niedermayer
d169b56b7b Merge commit '59f595921eb2b848a80a74aa81b6bb43038c9ebe'
* commit '59f595921eb2b848a80a74aa81b6bb43038c9ebe':
  mkv: Flush the old cluster before writing a new one

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:30:55 +02:00
Michael Niedermayer
ac957bc60c Merge commit '98308bd44face14ea3142b501d16226eec23b75a'
* commit '98308bd44face14ea3142b501d16226eec23b75a':
  mkv: Add options for specifying cluster limits

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:15:11 +02:00
Michael Niedermayer
976de369dd Merge commit '148fbdd1c2a2a88a78ba9fd152c81c840bdb205a'
* commit '148fbdd1c2a2a88a78ba9fd152c81c840bdb205a':
  mkv: Refactor mkv_write_packet

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 11:05:02 +02:00
Michael Niedermayer
d9b0b54a5f ffv1: rename minor to micro version
the version is 1.3.4 which makes 4 micro and not minor

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 03:30:36 +02:00
Luca Barbato
67400f6b62 mov: Prevent segfaults on mov_write_hdlr_tag
Do not segfault when writing tracks such as tmcd by writing them down
as generic DataHandlers if not known.
2013-08-20 00:22:58 +02:00
Luca Barbato
22de0f8369 mov: Compute max duration among the tracks with a timescale
Prevent an assert.
2013-08-20 00:22:58 +02:00
Luca Barbato
3952303010 mov: Set the timescale for data streams
Data streams have a defined timebase, do not ignore it.
2013-08-20 00:22:58 +02:00
Michael Niedermayer
68b63a3432 mpegvideo: Use picture_ptr instead of picture in ff_mpeg_draw_horiz_band()
Fixes strides and issue with mplayer and mpeg2 field pictures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-20 00:19:21 +02:00
Martin Storsjö
b886f5c2f1 mkv: Allow flushing the current cluster in progress
Allow emitting the current cluster that is being written before
starting a new one, simplifying how to figure out where clusters
are positioned in the output stream (for live streaming).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 22:47:07 +02:00
Luca Barbato
59f595921e mkv: Flush the old cluster before writing a new one
This simplifies keeping track of cluster boundaries for e.g.
livestreaming of WebM.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 22:47:06 +02:00
Luca Barbato
98308bd44f mkv: Add options for specifying cluster limits
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 22:46:31 +02:00
Matthew Heaney
818ebe930f avformat/matroskadec: add WebVTT support
WebM files now support inband text tracks, as described in the
following specification:

http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm

The Matroska demuxer now detects the presence of WebVTT tracks,
synthesizing WebVTT packets (having codec id AV_CODEC_ID_WEBVTT) and
pushing them downstream in the normal way.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 22:34:57 +02:00
Michael Niedermayer
23b3141261 swscale: improve dither checks
Bssed on patch by Øyvind Kolås <pippin@gimp.org>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 18:33:50 +02:00
Michael Niedermayer
8c50ea2251 swscale: set dither to a specific value for rgb/bgr8 output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 18:31:35 +02:00
Luca Barbato
148fbdd1c2 mkv: Refactor mkv_write_packet
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 17:21:15 +02:00
Stephen Hutchinson
76d8d23881 Revert "doc/RELEASE_NOTES: add a note about AVISynth"
This reverts commit 3aa2257d24.
2013-08-19 12:39:28 +02:00
Paul B Mahol
daede1e3fa matroskaenc: remove unneeded wavpack tag
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-19 09:41:18 +00:00
Michael Niedermayer
54e718d014 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ogg: Fix potential infinite discard loop

No change as this commit has been part of ffmpeg since a while already

See: d7b542ae29
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-19 11:22:26 +02:00
Reimar Döffinger
9a27acae9e ogg: Fix potential infinite discard loop
Seeking in certain broken files would cause ogg_read_timestamp
to fail because ogg_packet would go into a state where all packets
of stream 1 would be discarded until the end of the stream.

Bug-Id: 553
CC: libav-stable@libav.org

Signed-off-by: Jan Gerber <j@v2v.cc>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-19 05:20:39 +02:00
Carl Eugen Hoyos
037af63b33 Fix frame width and height for some targa_y216 samples.
Fixes ticket #2864.
2013-08-18 23:37:27 +02:00
Michael Niedermayer
d73cbc22c5 avformat/mpegts: resync from the smallest packet size on
This avoids the loss of a packet in many cases if the packet size was wrong.
It also improves detection of packet size changes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:59:04 +02:00
Michael Niedermayer
b4429c259a mpegts_get_pcr: dont loose a packet when resyncing
This matches how read_packet() works

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:48:19 +02:00
Michael Niedermayer
0f2f65bd58 mpegts: fix pos47_full
The value was off by a packet

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:45:39 +02:00
Michael Niedermayer
ee7f2609a0 avformat/mpegts: print packet size warning only if new size differs from old
No case is known to have triggered this, but its more correct to check that the
new size differs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 22:45:39 +02:00
Carl Eugen Hoyos
47f9a5b737 Warn the user if a pix_fmt != yuv420p was chosen for MPEG-2 video encoding.
Fixes ticket #2870.
2013-08-18 22:00:35 +02:00
Michael Niedermayer
63c0e9077e avcodec/jpeg2000dec: fix near null pointer dereference
Fixes Ticket2840

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 18:44:12 +02:00
Michael Niedermayer
c666c59ac1 mpegts: reanalyze packet size on mismatches
Fixes Ticket1812
Fixes Ticket2838

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 16:40:18 +02:00
Michael Niedermayer
7d776062f9 avcodec/error_resilience: Fix handling of matrox mpeg2
Fixes Ticket2615

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 14:37:12 +02:00
Michael Niedermayer
70967a60df mpeg12dec: also print progressive seq and chroma format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 13:55:57 +02:00
Michael Niedermayer
f4f6eb5b74 fate: add ffv1.0 test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 13:01:44 +02:00
Michael Niedermayer
45975ab7a1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Indicate that negative timestamps are supported

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 12:40:22 +02:00
Michael Niedermayer
66722b4ba9 Merge commit 'c34a96a5ddfa390ce2a352eca79190766c9056d4'
* commit 'c34a96a5ddfa390ce2a352eca79190766c9056d4':
  dxa: fix decoding of first I-frame by separating I/P-frame decoding

Conflicts:
	libavcodec/dxa.c

See: 186e47ef6d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 12:00:17 +02:00
Michael Niedermayer
338f8b2eaf avformat/matroskadec: check out_samplerate before using it in av_rescale()
Prevent assertion failure with damaged input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 02:34:48 +02:00
James Almer
af248fa117 matroskadec: Improve TTA duration calculation
Calculate the duration as accurately as possible to improve decoding of samples
where the last frame is smaller than the rest.

Example:
Take lossless-audio/luckynight-partial.tak from the FATE suit and convert it
to TTA muxed into matroska:

ffmpeg -i $(SAMPLES)/lossless-audio/luckynight-partial.tak -c:a tta lucky.mka

The framemd5 output for lucky.mka without this patch:

0,          0,          0,    46080,   184320, 7c3751ddd571d2903c3cf0ab4b3e3d0a
0,      46080,      46080,    46080,   184320, 6b70c782ba1da3f933fde2daa4f96b73
0,      92160,      92160,    46080,   184320, dcf70d89c54b9a4f0b302d4ec4fb302d
0,     138240,     138240,    46080,   184320, 48713ca38b388d2ea4abf5b86ed1226f
0,     184320,     184320,    46080,   184320, 12188a23648e7ebfb07cd6fe9197b2ea
0,     230400,     230400,    46080,   184320, 49653ab8186a5d4a044ed284671a26e0
0,     276480,     276480,    46080,   184320, 5e82c6a7fe58c7ea612c03a0a2927dd4
0,     322560,     322560,    46080,   184320, 83dc449dbd9eab5f2e8ad2b4403d6a21
0,     368640,     368640,    46080,   184320, bdd6b92c23d30978d4e802d305b0fc49

With this patch:

0,          0,          0,    46080,   184320, 7c3751ddd571d2903c3cf0ab4b3e3d0a
0,      46080,      46080,    46080,   184320, 6b70c782ba1da3f933fde2daa4f96b73
0,      92160,      92160,    46080,   184320, dcf70d89c54b9a4f0b302d4ec4fb302d
0,     138240,     138240,    46080,   184320, 48713ca38b388d2ea4abf5b86ed1226f
0,     184320,     184320,    46080,   184320, 12188a23648e7ebfb07cd6fe9197b2ea
0,     230400,     230400,    46080,   184320, 49653ab8186a5d4a044ed284671a26e0
0,     276480,     276480,    46080,   184320, 5e82c6a7fe58c7ea612c03a0a2927dd4
0,     322560,     322560,    46080,   184320, 83dc449dbd9eab5f2e8ad2b4403d6a21
0,     368640,     368640,    46080,   184320, bdd6b92c23d30978d4e802d305b0fc49
0,     414720,     414720,     4230,    16920, b50b440c5bbcecb8e9fbece643447593

The duration without this patch was calculated as 418950000000, which is bigger
than uint32_t and as such stored as 2338172288.
With this patch the duration is correctly calculated as 418950.

Signed-off-by: James Almer <jamrial@gmail.com>
Approved-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 02:34:39 +02:00
Paul B Mahol
02eb15a6c1 wavpackenc: do not copy samples if they are not available
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-17 22:25:49 +00:00
Vignesh Venkatasubramanian
571efd9729 lavf/matroska: Adding the new SeekPreRoll element
In order to encapsuate Opus in Matroska, there is a new element
that has been added to the Matroska Spec, SeekPreRoll. It has the
duration in nanoseconds that has to be decoded before every seek.
Spec: http://matroska.org/technical/specs/index.html#SeekPreRoll
Proposal for encapsulateing Opus in Matroska:
http://wiki.xiph.org/MatroskaOpus

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 00:04:08 +02:00
Martin Storsjö
0a14fefd68 movenc: Indicate that negative timestamps are supported
The mov/mp4 muxer has support for handling negative timestamps
via edit lists (which customarily is used for handling the 1-frame
delay due to B-frames as well).

Using the muxer's native way of handling it is better than using
the generic offsetting. The generic offsetting is a bit too
crude when e.g. the timebase of one track is 1/fps, where the
edit lists can handle it accurately.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-17 22:46:11 +01:00
Michael Niedermayer
6e4b9b8a2f avcodec: fix compilation without vdpau
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 22:18:55 +02:00
Michael Niedermayer
a0c6c8e53e Revert "Merge commit of 'vdpau: remove old-style decoders'"
This reverts commit bf36dc50ea, reversing
changes made to b7fc2693c7.

Conflicts:

	libavcodec/h264.c

Keeping support for the old VDPAU API has been requested by our VDPAU maintainer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 22:17:49 +02:00
Michael Niedermayer
0a141b0e49 avcodec/dxa: Support printing picture debug info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 15:11:09 +02:00
Stephen Hutchinson
2c25e83b1d avisynth: Support video input from AviSynth 2.5 properly.
Uses the 2.5 compatibility header included with the variant of
FFMS2 that uses AviSynth's C-interface. A copy of this header is
now provided in compat/avisynth.

avs_get_row_size_p and avs_get_height_p changed between versions
2.5 and 2.6. Since the avisynth_c.h header that avformat uses
assumes AviSynth 2.6, it would cause 2.5 to crash if given any
kind of real video (the Version() function was known to work,
though).

AvxSynth was unaffected by this issue because, despite being based
on AviSynth 2.5.8 and using 2.5.8's interface version number of 3,
it actually uses 2.6's versions of these functions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 14:27:25 +02:00
Janne Grunau
c34a96a5dd dxa: fix decoding of first I-frame by separating I/P-frame decoding
5ef7c84 broke decoding for the first keyframe due to an unnecessary
check for a reference frame.

CC: libav-stable@libav.org
2013-08-17 12:55:26 +02:00
Michael Niedermayer
9640ea1da4 dxa: fix support of decoding all frames even in the absence of references
The case where decoding should only happen for keyframes and afterwards
(CODEC_FLAG2_SHOW_ALL not set) does not fully work neither before nor
after this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 11:48:22 +02:00
Michael Niedermayer
186e47ef6d dxa: only fail with an error about reference frames if the reference frame would be used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 11:19:20 +02:00
Michael Niedermayer
7a342f97c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dxa: Make sure the reference frame exists

See: 12eb2fd539
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 11:19:03 +02:00
Michael Niedermayer
bd71071066 Merge commit 'c59967fa7cc5bc2fa06b36c17d2c207240c06b3e'
* commit 'c59967fa7cc5bc2fa06b36c17d2c207240c06b3e':
  h261: check the mtype index

Conflicts:
	libavcodec/h261dec.c

The right half of the check is impossible to be true and thus replaced by
an assert()

See: ec3cd74f2d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 10:35:51 +02:00
Michael Niedermayer
2c1a215ddb ffv1: update years in header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Michael Niedermayer
c8d89be477 ffv1enc: propagate error code from write_extradata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Michael Niedermayer
eeb3fb9e62 ffv1enc: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Stefano Sabatini
faf7c35655 lavf/tee: add support for bitstream filtering
This allows to apply different bitstream filters to different outputs,
with no need to transcode.
2013-08-16 17:58:58 +02:00
Michael Niedermayer
29852ffc64 avcodec/dirac_dwt: Remove unused ff_spatial_idwt2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:07:29 +02:00
Michael Niedermayer
cbdf4d6a61 avfilter/vf_mp: remove unused sws related functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:07:29 +02:00
Michael Niedermayer
247fa6c27c avfilter: remove ff_copy_int*_list
The functions are unused

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:07:29 +02:00
Michael Niedermayer
c62801270f swscale: change ff_dither_8x8_128 dimensions to be consistent with the others
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 16:06:59 +02:00
Luca Barbato
5ef7c84a93 dxa: Make sure the reference frame exists
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-16 14:56:56 +02:00
Luca Barbato
c59967fa7c h261: check the mtype index
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-16 14:56:49 +02:00
Paul B Mahol
66f1de66b8 lavfi/transpose: call av_frame_copy_props()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-16 12:40:02 +00:00
Paul B Mahol
e74a5acb40 lavfi/transpose: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-16 12:40:02 +00:00
Paul B Mahol
ef6718a5f7 lavfi/tile: make color of blank/unused area configurable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-16 12:40:01 +00:00
Michael Niedermayer
d7ed473d5c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  altivec: perform an explicit unaligned load

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 14:21:40 +02:00
Michael Niedermayer
c02945b6d2 Merge commit '9d86bfc259ae9ba7a76067ec931ff20fbb86ea2a'
* commit '9d86bfc259ae9ba7a76067ec931ff20fbb86ea2a':
  hlsenc: Don't reset the number variable when wrapping

Conflicts:
	libavformat/hlsenc.c

See: 75b9fb27f5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 14:05:59 +02:00
Michael Niedermayer
50c0837801 Merge commit '09c93b1b957f2049ea5fd8fb0e6f4d82680172f2'
* commit '09c93b1b957f2049ea5fd8fb0e6f4d82680172f2':
  hlsenc: Append the last incomplete segment when closing the output

Conflicts:
	libavformat/hlsenc.c

See: 4630dfd1eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 14:03:44 +02:00
Michael Niedermayer
dff205cca3 Merge commit 'c9031c7c1446a1a63eff7c0bf50d1ee559adf3fb'
* commit 'c9031c7c1446a1a63eff7c0bf50d1ee559adf3fb':
  hlsenc: Add a proper dependency on the mpegts muxer

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:43:31 +02:00
Michael Niedermayer
83386a1f62 Merge commit '239f55bf3c966782b781338df284f250393b9ed6'
* commit '239f55bf3c966782b781338df284f250393b9ed6':
  vp56data: Move all data tables to the .c file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:37:10 +02:00
Michael Niedermayer
669ea5e102 Merge commit 'cb214707a6cb0d3272ec0261af6f1f5d8b7dabc7'
* commit 'cb214707a6cb0d3272ec0261af6f1f5d8b7dabc7':
  vp56data: Move all shared enum/struct declarations to common header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:19:24 +02:00
Michael Niedermayer
dbcee7cc5c Merge commit '38f64c03301ac66d7b54b3e4bd2bf6454f9fb2d3'
* commit '38f64c03301ac66d7b54b3e4bd2bf6454f9fb2d3':
  mpeg12decdata.h: Move all tables to the only place they are used

Conflicts:
	libavcodec/mpeg12decdata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:13:58 +02:00
Michael Niedermayer
89f4812cda Merge commit 'ec6c1b1d832ec3261cc3faf93a18d7b2a84883c6'
* commit 'ec6c1b1d832ec3261cc3faf93a18d7b2a84883c6':
  mpeg12decdata: Remove unused #define

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:08:12 +02:00
Michael Niedermayer
b7a025092f Merge commit 'c591d4575a6f97fbbe6145304b1ea960e8e81e14'
* commit 'c591d4575a6f97fbbe6145304b1ea960e8e81e14':
  avcodec: Replace local extern declarations for tables with header #includes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 13:01:44 +02:00
Michael Niedermayer
c14fc4585c Merge commit 'aa2ba8c99e5708884a56aea9c1d96e014866f8a3'
* commit 'aa2ba8c99e5708884a56aea9c1d96e014866f8a3':
  swscale: Move extern declarations for tables to swscale_internal.h

Conflicts:
	libswscale/output.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	libswscale/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:56:48 +02:00
Michael Niedermayer
1ef0b8f9cc Merge commit 'd258531502b24cb653204fe4f003c8815755bdc4'
* commit 'd258531502b24cb653204fe4f003c8815755bdc4':
  swscale: Mark a bunch of tables only used within one file static

Conflicts:
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:40:32 +02:00
Michael Niedermayer
7372177a08 Merge commit '060ce0c697e261ca2792a7df30dfd1bae6900a4f'
* commit '060ce0c697e261ca2792a7df30dfd1bae6900a4f':
  ivi_common: Make some tables only used within the file static

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:31:43 +02:00
Michael Niedermayer
e1ec7990fe Merge commit '4b054a3400f728c54470ee6a1eefe1d82420f6a2'
* commit '4b054a3400f728c54470ee6a1eefe1d82420f6a2':
  rtpproto: Check the right feature detection macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:31:15 +02:00
Michael Niedermayer
165e42b542 Merge commit '163a729725c6eb0081b0af41a7279f7d19aee86e'
* commit '163a729725c6eb0081b0af41a7279f7d19aee86e':
  electronicarts: Let functions always returning the same value return void

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:25:07 +02:00
Michael Niedermayer
4195321a82 Merge commit '4908c8ef2706d98022bf27a5c5bca1fe109e7529'
* commit '4908c8ef2706d98022bf27a5c5bca1fe109e7529':
  electronicarts: Improve some function/variable names

Conflicts:
	libavformat/electronicarts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:14:32 +02:00
Michael Niedermayer
6bba695785 Merge commit 'a90cff137b2aca89380b0acad41cd7bb05619ece'
* commit 'a90cff137b2aca89380b0acad41cd7bb05619ece':
  electronicarts: comment wording fixes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:08:47 +02:00
Michael Niedermayer
6a4e55a246 Merge commit '288f2ffb57ae9e9eee2748aca26da3aeb3ca6f6c'
* commit '288f2ffb57ae9e9eee2748aca26da3aeb3ca6f6c':
  electronicarts: Remove bogus function documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:07:49 +02:00
Michael Niedermayer
a87cf3689e Merge commit '8747fce91fca6bb8e9936497f2de05c905cf43b5'
* commit '8747fce91fca6bb8e9936497f2de05c905cf43b5':
  electronicarts: K&R formatting cosmetics

Conflicts:
	libavformat/electronicarts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 12:01:22 +02:00
Michael Niedermayer
15677e7239 Merge commit 'e8c0defe1322f0ff281d9bc5eee91fa1b712b6aa'
* commit 'e8c0defe1322f0ff281d9bc5eee91fa1b712b6aa':
  8bps: decode 24bit files correctly as rgb32 on bigendian

Conflicts:
	libavcodec/8bps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 11:43:26 +02:00
Kostya Shishkov
f399e406af altivec: perform an explicit unaligned load
Implicit vector loads on POWER7 hardware can use the VSX
instruction set instead of classic Altivec/VMX. Let's force
a VMX load in this case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-16 10:08:47 +03:00
Michael Niedermayer
ec0e0eb4c1 avfilter/vf_scale+aresample: minor simpification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-16 04:26:59 +02:00
Michael Niedermayer
6d246f440e avfilter/vf_scale: generic swscale option support
With this all AVOptions from swscale can be set without each needing
changes to vf_scale.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 23:23:58 +02:00
Carl Eugen Hoyos
9d86bfc259 hlsenc: Don't reset the number variable when wrapping
The counter itself shouldn't be wrapped, since it is used for
determining end_pts for the next segment - only wrap the number
used for the segment file name.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 22:41:19 +03:00
Stefano Sabatini
09c93b1b95 hlsenc: Append the last incomplete segment when closing the output
Also avoid comparing NOPTS values.

Bug-id: 551
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 22:41:18 +03:00
Martin Storsjö
c9031c7c14 hlsenc: Add a proper dependency on the mpegts muxer
The hls muxer itself doesn't have any direct (object file level)
dependencies on mpegtsenc.o, and including that object file
directly doesn't ensure that it is registered so that the muxer
actually is accessible.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 22:41:11 +03:00
Michael Niedermayer
1e0e193240 sws: add dither enum
This allows specifying more dither algorithms without using up flags and
without ambiguities.

Also initialize the new field based on the flags and use it.
Note, improving the logic of the checks is left to subsequent
commits, this here only switches from flags to enum.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 21:39:32 +02:00
Michael Niedermayer
60e9b8556a swscale_unscaled: make dither_scale static, its not used elsewhere and has no prefix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 21:38:22 +02:00
Piotr Bandurski
165b65771d avformat/riff: add DM4V FourCC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 15:46:25 +02:00
Diego Biurrun
239f55bf3c vp56data: Move all data tables to the .c file 2013-08-15 14:38:03 +02:00
Diego Biurrun
cb214707a6 vp56data: Move all shared enum/struct declarations to common header 2013-08-15 14:38:03 +02:00
Diego Biurrun
38f64c0330 mpeg12decdata.h: Move all tables to the only place they are used 2013-08-15 14:38:03 +02:00
Diego Biurrun
ec6c1b1d83 mpeg12decdata: Remove unused #define 2013-08-15 14:38:03 +02:00
Diego Biurrun
c591d4575a avcodec: Replace local extern declarations for tables with header #includes 2013-08-15 14:38:03 +02:00
Diego Biurrun
aa2ba8c99e swscale: Move extern declarations for tables to swscale_internal.h
Also add missing ff_ prefixes where necessary.
2013-08-15 14:38:03 +02:00
Diego Biurrun
d258531502 swscale: Mark a bunch of tables only used within one file static 2013-08-15 14:38:03 +02:00
Diego Biurrun
060ce0c697 ivi_common: Make some tables only used within the file static 2013-08-15 14:38:03 +02:00
Martin Storsjö
4b054a3400 rtpproto: Check the right feature detection macro
IPPROTO_IPV6 is unrelated here (it's only used in udp.c for
multicast sockopts), check for support for the sockaddr_in6
struct itself.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 15:35:41 +03:00
Michael Niedermayer
23606f27f0 avcodec/ffv1enc: bump minor_version for the chroma_plane fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:49:21 +02:00
Michael Niedermayer
1a01147d7a avcodec/ffv1enc: fix chroma_plane for rgb/rgba
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:27:29 +02:00
Michael Niedermayer
c387c45e83 ffv1: fix plane_count at version 1.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:03:53 +02:00
Michael Niedermayer
8ec6188263 ffv1dec: support printing information about the global header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 12:58:48 +02:00
Diego Biurrun
163a729725 electronicarts: Let functions always returning the same value return void 2013-08-15 12:24:43 +02:00
Diego Biurrun
4908c8ef27 electronicarts: Improve some function/variable names 2013-08-15 12:24:42 +02:00
Diego Biurrun
a90cff137b electronicarts: comment wording fixes 2013-08-15 12:24:42 +02:00
Diego Biurrun
288f2ffb57 electronicarts: Remove bogus function documentation 2013-08-15 12:24:42 +02:00
Diego Biurrun
8747fce91f electronicarts: K&R formatting cosmetics 2013-08-15 12:24:42 +02:00
Janne Grunau
e8c0defe13 8bps: decode 24bit files correctly as rgb32 on bigendian 2013-08-15 11:50:43 +02:00
Michael Niedermayer
2c959eccc6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpproto: Check for the right feature when reading a sockaddr_in6

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 11:34:30 +02:00
Dave Yeo
c3386bd5b4 rtpproto: Check for the right feature when reading a sockaddr_in6
Some systems, such as OS/2, define AF_INET6 without a full
implementation.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-15 10:31:43 +03:00
Michael Niedermayer
bfbe07670b wavpackenc: simplify "sign = ((sample) < 0) ? 1 : 0;"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:20:25 +02:00
Michael Niedermayer
1a53ddd9a2 avcodec/lzwenc: change asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Michael Niedermayer
796b20fa1c avcodec/gif: use the whole allocated buffer
Fixes some gif encoding failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Michael Niedermayer
b4e2e03709 avcodec/lzwenc: Add 1 additional bit of padding for gif
This fixes issues with gimp reading animated gifs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Michael Niedermayer
5dd5985e05 avcodec/gif: move BITSTREAM_WRITER_LE up
This prevents issues in case any header #includes put_bits.h

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 23:15:54 +02:00
Alexander Strasser
dc2e4c2e53 lavf/wavdec: Fix seeking in files with unaligned offsets
A file with a prepended ID3 tag of an uneven length was found
in the wild.

Check if the wav data starts at an uneven offset and use that
information to correct the seeking calculation in wav_seek_tag,
which used to only seek to even byte positions.

Regression since ac87eaf856

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-08-14 22:05:41 +02:00
Michael Niedermayer
dabfa80ce2 avcodec/mjpegdec: print a message when there was just a single field and no frame
Fixes ticket1915

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 19:16:38 +02:00
Paul B Mahol
93f4277714 WavPack encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-14 14:04:05 +00:00
Michael Niedermayer
20904518e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sdp: Add an option for sending RTCP packets to the source of the last packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:42:44 +02:00
Michael Niedermayer
2425be894a Merge commit '6b58e11a8331690ec32e9869db89ae10c54614e9'
* commit '6b58e11a8331690ec32e9869db89ae10c54614e9':
  rtpproto: Add an option for writing return packets to the address of the last received packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:38:11 +02:00
Michael Niedermayer
1a01f367a4 Merge commit '2427ac6ccd868811d1fe9df7c64c50ca58abe6f6'
* commit '2427ac6ccd868811d1fe9df7c64c50ca58abe6f6':
  rtpproto: Update the parameter documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:30:40 +02:00
Michael Niedermayer
ab06436dbf Merge commit '5268bd2900effa59b51e0fede61aacde5e2f0b95'
* commit '5268bd2900effa59b51e0fede61aacde5e2f0b95':
  segafilm: Error out on impossible packet size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:25:51 +02:00
Michael Niedermayer
070c22d53a Merge commit '3562684db716d11de0b0dcc52748e9cd90d68132'
* commit '3562684db716d11de0b0dcc52748e9cd90d68132':
  ogg: Always alloc the private context in vorbis_header

Conflicts:
	libavformat/oggparsevorbis.c

See: 18b46a494e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 12:17:02 +02:00
Michael Niedermayer
2bac839bd3 Merge commit 'f13fe6020e6a3871f9b0c96b240e58e6ed4fb5d7'
* commit 'f13fe6020e6a3871f9b0c96b240e58e6ed4fb5d7':
  rtjpeg: Use init_get_bits8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 11:56:12 +02:00
Michael Niedermayer
d12bc01ec5 Merge commit '62cc7a91080194d9ead162516f779f20931220d9'
* commit '62cc7a91080194d9ead162516f779f20931220d9':
  rtjpeg: return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 11:51:42 +02:00
Michael Niedermayer
8da4305eb5 Merge commit '2df0776c2293efb0ac12c003843ce19332342e01'
* commit '2df0776c2293efb0ac12c003843ce19332342e01':
  nuv: Use av_fast_realloc

Conflicts:
	libavcodec/nuv.c

This change is not merged, the long ago fixed buffer use after codec_reinit()
was a bug.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 11:50:40 +02:00
Michael Niedermayer
1dee467d26 Merge commit 'feaaf5f7f0afac7223457f871af2ec9b99eb6cc6'
* commit 'feaaf5f7f0afac7223457f871af2ec9b99eb6cc6':
  nuv: Reset the frame on resize

Conflicts:
	libavcodec/nuv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 10:44:55 +02:00
Michael Niedermayer
86fe16a763 Merge commit '075dbc185521f193c98b896cd63be3ec2613df5d'
* commit '075dbc185521f193c98b896cd63be3ec2613df5d':
  nuv: Pad the lzo outbuf

Conflicts:
	libavcodec/nuv.c

See: 95e1dfee76
See: 266f6eefc6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 10:38:11 +02:00
Martin Storsjö
b56fc18b20 sdp: Add an option for sending RTCP packets to the source of the last packets
An SDP description normally only contains the target IP address
and port for the packets. This means that we don't really have
any clue where to send the RTCP RR packets - previously they're
sent to the destination IP written in the SDP (at the same port),
which rarely is the actual peer. And if the source for the packets
is on a different port than the destination, it's never correct.

With a new option, we can choose to send the packets to the
address that the latest packet on each socket arrived from.
---
Some may even argue that this should be the default - perhaps,
but I'd rather keep it optional at first. Additionally, I'm not
sure if sending RTCP RR directly back to the source is
desireable for e.g. multicast.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-14 11:21:33 +03:00
Martin Storsjö
6b58e11a83 rtpproto: Add an option for writing return packets to the address of the last received packets
If we've received packets on the same socket before, the return
packets are sent to that address. If we've only received packets
on the other socket, try to guess the source port for the other
one assuming the basic +1/-1 logic.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-14 11:21:32 +03:00
Michael Niedermayer
7ec7d626a1 Merge commit 'aae159a7cc4df7d0521901022b778c9da251c24e'
* commit 'aae159a7cc4df7d0521901022b778c9da251c24e':
  nuv: Do not ignore lzo decompression failures

Conflicts:
	libavcodec/nuv.c
	tests/ref/fate/nuv-rtjpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 10:10:14 +02:00
Michael Niedermayer
640a36a05c ffmpeg_filter: check that the input media type match the filter
Fixes Ticket2012

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-14 03:03:41 +02:00
Piotr Bandurski
1ee1a3d9f4 avcodec/gsmdec: reject unsupported msn audio modes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 23:59:39 +02:00
Timothy Gu
bbbd9596ad doc/filters: reformat scale filter doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-13 23:51:08 +02:00
Paul B Mahol
8a7295beeb tiff: frame multithreading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-13 19:29:10 +00:00
Martin Storsjö
2427ac6ccd rtpproto: Update the parameter documentation
Move the sources documentation up below the marker for deprecated
otpions. Also mention the new block parameter, that was added
in 749722209.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-13 22:16:53 +03:00
Michael Niedermayer
9706401927 avcodec/mpeg12dec: check slice size before trying to decode it
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 19:36:50 +02:00
Thilo Borgmann
6a64b23d93 Update my email address. 2013-08-13 15:45:08 +02:00
Compn
8e0b6d82b3 riff: add msn audio comment 2013-08-13 09:41:28 -04:00
Michael Niedermayer
cba9a40d47 avcodec: free priv_data in avcodec_copy_context()
Fixes memleak
Fixes Ticket2216

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Michael Niedermayer
e85771f268 ffserver: allocate rc_eq, prevent freeing invalid pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Michael Niedermayer
ef36ba5e08 avcodec: clarify documentation of avcodec_copy_context()
Following this is not strictly needed but safes some malloc+free

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 15:24:30 +02:00
Luca Barbato
5268bd2900 segafilm: Error out on impossible packet size
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 15:14:07 +02:00
Paul B Mahol
11afe28b9a lavfi/ebur128: fix typo: s/negociation/negotiation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-13 12:43:56 +00:00
Luca Barbato
3562684db7 ogg: Always alloc the private context in vorbis_header
It is possible to have an initial broken header and then valid packets.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 14:04:55 +02:00
Luca Barbato
f13fe6020e rtjpeg: Use init_get_bits8
CC:libav-stable@libav.org
2013-08-13 14:04:55 +02:00
Luca Barbato
62cc7a9108 rtjpeg: return meaningful error codes 2013-08-13 14:04:55 +02:00
Luca Barbato
2df0776c22 nuv: Use av_fast_realloc
The decompressed buffer can be used after codec_reinit, so it must be
preserved.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 14:04:06 +02:00
Luca Barbato
feaaf5f7f0 nuv: Reset the frame on resize
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 13:09:33 +02:00
Luca Barbato
075dbc1855 nuv: Pad the lzo outbuf
And properly update the buf_size with the correct size.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 13:09:33 +02:00
Luca Barbato
aae159a7cc nuv: Do not ignore lzo decompression failures
Update the fate reference since the last broken frame is not decoded
anymore.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-13 13:09:22 +02:00
Nedeljko Babic
7b71feabfb MAINTAINERS: add myself as maintainer for MIPS and Zeljko Lukac as maintainer for new fixed point FFT
Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 11:57:26 +02:00
Piotr Bandurski
e87fcaa8d5 avformat/riff: treat msn audio like gsm_ms
Fixes decoding of 4 files from Ticket2854

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 11:37:44 +02:00
Michael Niedermayer
1057390d91 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  png: allow encoding 16-bit grayscale

Conflicts:
	libavcodec/pngenc.c

See: fdc013da78

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 10:47:14 +02:00
Ian Taylor
46dee21a32 png: allow encoding 16-bit grayscale
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-08-13 06:05:44 +02:00
Alexis Ballier
7a48b1c492 Remove FF_API_PKT_DUMP cruft. Not compiled since libavformat 54.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 04:18:32 +02:00
Alexis Ballier
ca2378ad04 libavformat/version.h: Drop FF_API_OLD_AVIO (unused and undefined since libavformat 55)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 03:26:25 +02:00
Thilo Borgmann
bb4e1b4cf9 avcodec/mjpegdec: Read EXIF metadata in JPEG input.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 00:30:34 +02:00
Thilo Borgmann
ad0f7574ef avcodec: Add EXIF metadata parser to libavcodec.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 00:30:20 +02:00
Thilo Borgmann
b7ba7cbd6e avcodec/tiff: Refactor TIFF tag related functions to share the code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-13 00:30:02 +02:00
Michael Niedermayer
4b101ab02e avformat/asfdec: call ff_read_frame_flush() in asf_read_pts()
flushing just the asf demuxer but not the cores buffers leads to inconsistencies
and a "random" packet position which later causes an assertion failure

Fixes Ticket2853

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 22:52:23 +02:00
Michael Niedermayer
3500f53c93 libavutil/opt.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
5086b26809 libavutil/file_open.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
5347de881b libavcodec/xsubenc.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
ad26aa3623 libavcodec/rv40.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
c6325e50dd libavcodec/mpegvideo.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
1e6816dcda libavcodec/lpc.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
e458fd6cf9 libavcodec/dv.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
805fbbefb3 libavcodec/bintext.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
c77c5f6c9f libavcodec/bink.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
9da6e742f4 libavcodec/avcodec.h: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
f10462377d libavcodec/ac3tab.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
7fabf3a4b7 libavcodec/ac3enc_template.c: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
a8163a786b doc/filters.texi: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Michael Niedermayer
e1c44be802 doc/filter_design.txt: Fix duplicate words
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 19:40:29 +02:00
Kirill Gavrilov
53f309c617 pixfmt: extend description for planar YUV 9/10 bits formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 18:10:14 +02:00
Kirill Gavrilov
2395ae22ce img2dec: fix typo (double "with with")
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 18:04:09 +02:00
Paul B Mahol
d4ab1292e9 ffmpeg_filter: do not pick evil path for trim filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-12 10:59:09 +00:00
Paul B Mahol
9087dcbe5b lavfi/trim: check for right default value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-12 10:56:52 +00:00
Michael Niedermayer
c103d5f538 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmall: use AVFrame API properly

Conflicts:
	libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 10:13:56 +02:00
Thilo Borgmann
f18ccb529f Fix wrong use of "an" in some comments. 2013-08-12 03:27:26 +02:00
Michael Niedermayer
98fd8a7848 avcodec: Remove ff_packet_free_side_data, use av_packet_free_side_data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-12 00:13:21 +02:00
wm4
a5ef7960fc ape: check avio_read() return value
This sets pkt->size to absurd values on failure otherwise.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 21:46:09 +02:00
Hendrik Leppkes
3ca5df36a5 wmall: use AVFrame API properly
This fixes a bug with non-refcounted callers resulting in invalid memory access.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-11 21:13:56 +02:00
Reimar Döffinger
d404fe35b2 Make new VDPAU easier to use by adding context to callback.
Using VDPAU correctly means checking for preemption
and possibly regenerating the context all the time.
With the current API there is no context or other
user-defined pointer and thus this in not possible
during decoding unless using some hack like global
variables.
The need to reinitialize both surfaces and even function
pointers makes handling preemption even more difficult.
This patch introduces a new render2 function that gets
both the AVCodecContext and AVFrame in addition,
in both the user can store additional opaque data.
This allows even advanced approaches like keeping a
"generation counter" for the surfaces so they can be
regenerated on the fly and efficiently.
In addition, the function has a return value that will
be passed through all the way instead of being silently
ignored as for the current render function.
Unfortunately the HWAccel API has no way of providing
API/ABI compatibility, so a currently disallowed
state (render pointer being NULL) is used to extend it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 20:16:57 +02:00
Reimar Döffinger
af05edc658 vdpau: Add an allocation function for AVVDPAUContext.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 19:31:46 +02:00
Reimar Döffinger
d87f9da53c vdpau_internal.h: Add missing include for FF_API_BUFS_VDPAU.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 19:30:51 +02:00
Reimar Döffinger
49cf36f4e3 sanm: fix undefined behaviour on big-endian.
A variable with post-increment may only appear
once in a statement.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-11 19:30:51 +02:00
Michael Niedermayer
61e0e80999 tiff: continue parsing on non fatal errors
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 18:11:36 +02:00
Michael Niedermayer
8e119a22c4 mpeg4videodec: Parse newpred headers
This is untested due to lack of a non broken file using new pred

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 17:35:30 +02:00
Michael Niedermayer
06137a496b mpeg4videodec: check resolution marker bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 17:34:29 +02:00
Michael Niedermayer
5717689c75 avutil/avstring: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:50:58 +02:00
Michael Niedermayer
2215947438 avutil/parseutils:make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:50:24 +02:00
Michael Niedermayer
64a3dbadee avutil/ripemd:make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:57 +02:00
Michael Niedermayer
0e98a13322 avutil/xtea: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:36 +02:00
Michael Niedermayer
90b40b45d4 avutil/sha:make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:21 +02:00
Michael Niedermayer
475df42eb6 avutil/sha512: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 16:49:03 +02:00
Mark Harris
4ccafaca1c avformat/id3v2enc: use UTF-16 in id3v2.3 APIC frame only if non-ASCII
This makes the encoding of picture descriptions consistent with the
encoding of other text id3 tags and works better with iTunes, which
does not display pictures with some UTF-16 picture descriptions
(including a UTF-16 empty string, i.e. BOM + terminator).  It also
saves a few bytes.

Example:
 ffmpeg -f lavfi -i sine=b=4 -f lavfi -i smptebars -map 0:a -map 1:v \
   -codec:a libmp3lame -codec:v mjpeg -id3v2_version 3 \
   -metadata:s:v comment="Cover (front)" -t 3 -y out.mp3

This example does not set a picture description (-metadata:s:v title=)
so an empty string is written in the id3v2.3 APIC frame.  Without this
patch, UTF-16 is used and the cover art does not display in iTunes.
With the patch the cover art is displayed.  (Note that iTunes does not
display or have a way to set picture descriptions, only the picture
itself, but nevertheless has trouble skipping some UTF-16 descriptions.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 13:06:40 +02:00
Michael Niedermayer
15c92f8c48 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Do not misuse memcmp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:54:37 +02:00
Michael Niedermayer
99091ff217 Merge commit '205a4502d3da9de2db75d2c965c9d065574e9266'
* commit '205a4502d3da9de2db75d2c965c9d065574e9266':
  doc: Clarify the avconv section about -re

Conflicts:
	doc/ffmpeg.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:49:47 +02:00
Michael Niedermayer
5993b96269 Merge commit 'd175a5730b42166704b7262b33f4b780d9d92f60'
* commit 'd175a5730b42166704b7262b33f4b780d9d92f60':
  doc: Add an example on publishing over RTMP
  doc: Add librtmp to the section header for the librtmp specific details

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:37:57 +02:00
Michael Niedermayer
159dfd2625 Merge commit 'a435ca5b4d9efebf0759220681010977c36615f7'
* commit 'a435ca5b4d9efebf0759220681010977c36615f7':
  doc: Explain that the default RTMP user agent is different when publishing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:28:54 +02:00
Michael Niedermayer
78242e4310 Merge commit 'aa16a6b0c56e3f46c5d7efb706b87a8f7a1603ec'
* commit 'aa16a6b0c56e3f46c5d7efb706b87a8f7a1603ec':
  doc: Extend the rtmp example to include how to pass username/password

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:24:14 +02:00
Michael Niedermayer
6c7a05352f Merge commit '8e1fe345577a42f99591caf8a06c447613449694'
* commit '8e1fe345577a42f99591caf8a06c447613449694':
  rtmp: Detect and warn if the user tries to pass librtmp style parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:17:43 +02:00
Michael Niedermayer
06186a3160 Merge commit 'ba5393a609c723ec8ab7f9727c10fef734c09278'
* commit 'ba5393a609c723ec8ab7f9727c10fef734c09278':
  rtmp: rename data_size to size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:11:40 +02:00
Michael Niedermayer
a2b0699f4f Merge commit '4ebc7d659f0da6c1305ca08cf4303959203fff4b'
* commit '4ebc7d659f0da6c1305ca08cf4303959203fff4b':
  rtmp: Use PRId64 when needed.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 11:02:37 +02:00
Michael Niedermayer
b905a7137a avcodec/avpacket: Fix memory allocation failure check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:56:07 +02:00
Michael Niedermayer
67a580f423 Merge commit '5a9a9d4a2abefa63d9a898ce26715453c569e89d'
* commit '5a9a9d4a2abefa63d9a898ce26715453c569e89d':
  lavc: Add refcounted api to AVPacket

Conflicts:
	libavcodec/avpacket.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:45:13 +02:00
Michael Niedermayer
921c1d4c95 Merge commit 'c1076d8479a6c0ee2e0c4b0e2151df5b0228438e'
* commit 'c1076d8479a6c0ee2e0c4b0e2151df5b0228438e':
  h264: check one context_init() allocation

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:35:44 +02:00
Michael Niedermayer
d2d8e259fd Merge commit '5eb488bfa835f2902a31ba99d57c16ae36c4f598'
* commit '5eb488bfa835f2902a31ba99d57c16ae36c4f598':
  h264: use explicit variable names for *_field_flag

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:28:49 +02:00
Michael Niedermayer
019eb2c77b svq3: Fix ff_h264_check_intra_pred_mode() return code check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:22:51 +02:00
Michael Niedermayer
e0b45ca730 Merge commit 'b3dc260e7fa6f3f852dd5cb7d86763c4b5736714'
* commit 'b3dc260e7fa6f3f852dd5cb7d86763c4b5736714':
  h264: return meaningful values

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 10:08:48 +02:00
Luca Barbato
5718e3487b rtmp: Do not misuse memcmp
CC: libav-stable@libav.org
2013-08-11 01:19:27 +02:00
Thilo Borgmann
4dcb2f7478 lavu: fix grammar in doxy for av_frame_ref.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 00:40:48 +02:00
James Almer
214293b143 lavd: Fix make checkheaders
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-11 00:40:30 +02:00
Derek Buitenhuis
d9c1fb8376 bprint: Include va_copy compat
Fixes build with MSVC and ICL.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-08-10 15:53:32 -04:00
Nicolas George
d5f38847f5 tests/fli: avoid rounding errors in -t option.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 20:17:10 +02:00
Michael Niedermayer
5fc5170c55 avutil/opt: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:40 +02:00
Michael Niedermayer
18b1381c5f avutil/opt: fix av_log type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:40 +02:00
Michael Niedermayer
db4918b72e avformat/tedcaptionsdec: make const arrays static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:40 +02:00
Michael Niedermayer
0b5627189d avfilter/f_sendcmd: make const arrays static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:44:39 +02:00
Michael Niedermayer
148310ca16 avutil/log: Use bprint for part
This should fix the issue with strings longer than 1024

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 18:17:30 +02:00
Martin Storsjö
205a4502d3 doc: Clarify the avconv section about -re
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
d175a5730b doc: Add an example on publishing over RTMP
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
a435ca5b4d doc: Explain that the default RTMP user agent is different when publishing
The fact that a different user agent is used is cruicial for getting
publishing authentication working. (When using librtmp, this other
user agent has to be specified manually, but that's not needed
with the libavformat internal RTMP support.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
aa16a6b0c5 doc: Extend the rtmp example to include how to pass username/password
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
3bea53dbdf doc: Add librtmp to the section header for the librtmp specific details
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:21 +03:00
Martin Storsjö
8e1fe34557 rtmp: Detect and warn if the user tries to pass librtmp style parameters
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 18:37:18 +03:00
Michael Niedermayer
112c970ca6 avutil/bprint: add av_vbprintf()
Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 17:01:42 +02:00
Luca Barbato
ba5393a609 rtmp: rename data_size to size 2013-08-10 13:49:09 +02:00
Luca Barbato
4ebc7d659f rtmp: Use PRId64 when needed. 2013-08-10 13:48:48 +02:00
Luca Barbato
5a9a9d4a2a lavc: Add refcounted api to AVPacket
Provide a clean way to manipulate packets.
2013-08-10 13:41:35 +02:00
Vittorio Giovara
c1076d8479 h264: check one context_init() allocation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:36:38 +02:00
Vittorio Giovara
5eb488bfa8 h264: use explicit variable names for *_field_flag
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:36:25 +02:00
Vittorio Giovara
b3dc260e7f h264: return meaningful values
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-10 13:28:51 +02:00
Michael Niedermayer
b37ff488b8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libavutil: Make avpriv_open a library-internal function on msvcrt

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:51:03 +02:00
Michael Niedermayer
ef13a005c4 Merge commit 'a76d0cdf21c3d9e464623cc0ad1c005abf952afa'
* commit 'a76d0cdf21c3d9e464623cc0ad1c005abf952afa':
  libavutil: Move avpriv_open to a new file, file_open.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:37:20 +02:00
Michael Niedermayer
e3a296dfa5 Merge commit 'cb0244daaca83ab666798818f74f5181bf6bc387'
* commit 'cb0244daaca83ab666798818f74f5181bf6bc387':
  bktr: Changed a missed occurrance of open into avpriv_open

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:29:44 +02:00
Michael Niedermayer
09f1afc784 Merge commit '33237123c83bf4f8345e6ac889ad2e7dbd303d0e'
* commit '33237123c83bf4f8345e6ac889ad2e7dbd303d0e':
  libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:24:33 +02:00
Michael Niedermayer
296eaa84b9 Merge commit '9d5ec50ead97e088d77317e77b18cef06cb3d053'
* commit '9d5ec50ead97e088d77317e77b18cef06cb3d053':
  ff_socket: put out-of-line and fallback to fcntl() for close-on-exec

Conflicts:
	libavformat/network.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-10 10:18:18 +02:00
Mark Harris
69f543854d doc/filters: fix sine sample_rate abbreviation
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-10 10:11:09 +02:00
Bryce W. Harrington
d9c46c3cd9 doc: apply various grammar fixes
The first sentence of each of the modified man pages are worded a bit
awkwardly. These minor copy-edits should make them clearer.

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-08-10 10:07:30 +02:00
Reimar Döffinger
d4db7c334b Integrate accessors.h header into internal.h
I have no idea why I added a separate header,
I think there is no good reason for it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-10 07:56:42 +02:00
Martin Storsjö
e743e7ae6e libavutil: Make avpriv_open a library-internal function on msvcrt
Add one copy of the function into each of the libraries, similarly
to what we do for log2_tab. When using static libs, only one
copy of the file_open.o object file gets included, while when
using shared libraries, each of them get a copy of its own.

This fixes DLL builds with a statically linked C runtime, where
each DLL effectively has got its own instance of the C runtime,
where file descriptors can't be shared across runtimes.

On systems not using msvcrt, the function is not duplicated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:33 +03:00
Martin Storsjö
a76d0cdf21 libavutil: Move avpriv_open to a new file, file_open.c
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:33 +03:00
Martin Storsjö
cb0244daac bktr: Changed a missed occurrance of open into avpriv_open
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:32 +03:00
Martin Storsjö
33237123c8 libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well
This used to only be necessary in static builds (when using the
dynamically linked C runtime), since the _imp prefixed symbols do
exist when linking to the actual DLL. When building testprogs,
however, the current library (e.g. libavutil for some of the testprogs)
is linked statically.

This fixes make fate on DLL builds when using the dynamically
linked C runtime.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-10 00:53:25 +03:00
Michael Niedermayer
db8578a809 avcodec/raw: gbrp support
Fixes 2nd half of Ticket2274

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 23:02:48 +02:00
Michael Niedermayer
12538bb9c2 avformat/nut: support planar rgb
Fixes first half of Ticket2274

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 23:02:48 +02:00
Michael Niedermayer
200170e8c0 avcodec/tiff: remove redundant check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 14:58:07 +02:00
Michael Niedermayer
a9553e8f37 avcodec/tiff: avoid seek back on reading tags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 14:53:13 +02:00
Michael Niedermayer
c94f9e8542 avutil/mem: Fix flipped condition
Fixes return code and later null pointer dereference

Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 13:47:10 +02:00
Michael Niedermayer
f58cd2867a avformat/paf: Fix integer overflow and out of array read
Found-by:  Laurent Butti <laurentb@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 13:23:10 +02:00
Michael Niedermayer
c9837613ed avfilter/trim: Fix assertion failure with empty frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 11:54:40 +02:00
Rémi Denis-Courmont
9d5ec50ead ff_socket: put out-of-line and fallback to fcntl() for close-on-exec
This supports non-Linux systems (SOCK_CLOEXEC is non-standard) and
older Linux kernels to the extent possible.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-09 11:26:50 +03:00
Michael Niedermayer
190a5893d1 avfilter/fifo: explicitly assert that a frame should have become available after request
May help tools like coverity

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 09:28:11 +02:00
Michael Niedermayer
760c5278db Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a TAK test

Conflicts:
	tests/fate/lossless-audio.mak

No change as we already have a tak test with luckynight-partial.tak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 08:58:59 +02:00
Michael Niedermayer
0dc17da308 Merge commit 'dfc6b5c81491abf7effb97b23af17ccf7adcd132'
* commit 'dfc6b5c81491abf7effb97b23af17ccf7adcd132':
  file: Move win32 utf8->wchar open wrapper to libavutil

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 07:16:38 +02:00
Marton Balint
18be3fac1d ffplay: check for filter EOF return codes
Fixes ticket #2800.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Marton Balint
e84ca8d38a ffplay: ensure the decoder is flushed before exiting or looping
Also make sure that we only exit or restart the video if it is not paused and
if the picture queue is empty.

There is still room for improvement (filters may also buffer some frames), but
the patch fixes the most common use cases and ticket #2783 as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Marton Balint
608989f6bf ffplay: fix memleak of non-bitmap subtitles
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Marton Balint
9f120e034f ffplay: free subtitle pictures on exit
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-08-09 00:16:13 +02:00
Michael Niedermayer
3b2e99fe9e avfilter/vf_perspective: factor u cliping code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 00:03:43 +02:00
Michael Niedermayer
c11c180132 MAINTAINERS: add Alexander Strasser for the server
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-09 00:03:43 +02:00
Anton Khirnov
fa09e76010 FATE: add a TAK test 2013-08-08 22:59:42 +02:00
Reimar Döffinger
a48979d715 Reduce MAKE_ACCESSORS code duplication via a new header.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-08-08 20:32:40 +02:00
Michael Niedermayer
55a88daf6f MAINTAINERS: remove myself from movenc, 2 maintainers should be enough
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 16:40:19 +02:00
Matthieu Bouron
88a1ff2233 MAINTAINERS: add myself as maintainer for lavf/aiff* and lavf/movenc.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 16:39:46 +02:00
Martin Storsjö
dfc6b5c814 file: Move win32 utf8->wchar open wrapper to libavutil
When libavformat was changed to use the new avpriv_open function
in 51eb213d00, this silently bypassed the existing wrapper for
win32. Move the win32 wrapper into libavutil/file.c to make sure
it gets called everywhere (not just in the libavformat case).

This makes sure that non-ascii file names gets opened properly
(where file names internally are stored as utf8, but they get
converted to wchar_t and opened with _wsopen).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 16:41:33 +03:00
Michael Niedermayer
9386f334af avcodec/bitstream: Dont try to free buffers for static VLCs
Such buffers are not malloced thus freeing would be bad.
Note though this condition never could have happened so this
is more for correctness sake and not a true bugfix

Fixes CID1061047

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 15:05:48 +02:00
Michael Niedermayer
e1a5ee25e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add assembly version of h264_find_start_code_candidate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:52:35 +02:00
Michael Niedermayer
c0f2ad3dbd Merge commit '218d6844b37d339ffbf2044ad07d8be7767e2734'
* commit '218d6844b37d339ffbf2044ad07d8be7767e2734':
  h264dsp: Factorize code into a new function, h264_find_start_code_candidate

Conflicts:
	libavcodec/h264_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:47:05 +02:00
Michael Niedermayer
50b7ce1257 Merge commit '7a82022ee2f9b1fad991ace0936901e7419444be'
* commit '7a82022ee2f9b1fad991ace0936901e7419444be':
  h264_parser: Initialize the h264dsp context in the parser as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:29:35 +02:00
Michael Niedermayer
69ea65b46f Merge commit '3e5898782dce60334ab294821ca00b19c648cf66'
* commit '3e5898782dce60334ab294821ca00b19c648cf66':
  Voxware MetaSound decoder

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:11:33 +02:00
Michael Niedermayer
a0fb608396 Merge commit '5afe1d27912be9b643ffb4ddc21f6d920260dbb0'
* commit '5afe1d27912be9b643ffb4ddc21f6d920260dbb0':
  avio: Add const qualifiers to ffio_read_indirect

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 12:04:46 +02:00
Michael Niedermayer
f09b5fb4af Merge commit '0f1fb6c0194c85483dedb93b20a5b76f6fc9d520'
* commit '0f1fb6c0194c85483dedb93b20a5b76f6fc9d520':
  libavutil: Don't use fcntl if the function does not exist
  cmdutils: Only do the windows-specific commandline parsing on _WIN32

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:54:14 +02:00
Michael Niedermayer
756f865e3b Merge commit '51eb213d00154b8e7856c7667ea62db8b0f663d4'
* commit '51eb213d00154b8e7856c7667ea62db8b0f663d4':
  libavformat: use avpriv_open()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:47:12 +02:00
Michael Niedermayer
95fa1fe437 Merge commit '71bf6b41d974229a06921806c333ce98566a5d8a'
* commit '71bf6b41d974229a06921806c333ce98566a5d8a':
  libavdevice: use avpriv_open()

Conflicts:
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:36:21 +02:00
Michael Niedermayer
eec9c7af33 Merge commit 'fee9db1fdf921295233e94cbe2769f9cd722206d'
* commit 'fee9db1fdf921295233e94cbe2769f9cd722206d':
  libavcodec: use avpriv_open()

Conflicts:
	libavcodec/libxvid_rc.c

The changed code does not exist in ffmpeg anymore, thus nothing is
changed.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:35:52 +02:00
Michael Niedermayer
579a137897 Merge commit '880391ed2d2faf796ca3a16f63cec69767546a21'
* commit '880391ed2d2faf796ca3a16f63cec69767546a21':
  libavutil: use avpriv_open()

Conflicts:
	libavutil/random_seed.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:18:17 +02:00
Derek Buitenhuis
87e8cbf709 libavutil: Don't use fcntl if the function does not exist
Not all platforms have the function.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 11:10:33 +02:00
Ben Avison
45e10e5c8d arm: Add assembly version of h264_find_start_code_candidate
Before          After
               Mean   StdDev   Mean   StdDev  Change
This function   508.8 23.4      185.4  9.0    +174.4%
Overall        3068.5 31.7     2752.1 29.4     +11.5%

In combination with the preceding patch:
                Before          After
                Mean   StdDev   Mean   StdDev  Change
Overall         2925.6 26.2     2752.1 29.4     +6.3%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 12:08:34 +03:00
Ben Avison
218d6844b3 h264dsp: Factorize code into a new function, h264_find_start_code_candidate
This performs the start code search which was previously part of
h264_find_frame_end() - the most CPU intensive part of the function.

By itself, this results in a performance regression:
              Before          After
              Mean   StdDev   Mean   StdDev  Change
Overall time  2925.6 26.2     3068.5 31.7    -4.7%

but this can more than be made up for by platform-optimised
implementations of the function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 12:08:30 +03:00
Ben Avison
7a82022ee2 h264_parser: Initialize the h264dsp context in the parser as well
Each AVStream struct for an H.264 elementary stream actually has two
copies of the H264DSPContext struct (and in fact all the other members
of H264Context as well):

((H264Context *) ((AVStream *)st)->codec->priv_data)->h264dsp
((H264Context *) ((AVStream *)st)->parser->priv_data)->h264dsp

but only the first of these was actually being initialised. This
prevented the addition of platform-specific implementations of
parser-related functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 12:08:28 +03:00
Michael Niedermayer
5f38317e59 Merge commit '869b04e89154cd92d2bcfdabcecbe3217864c099'
* commit '869b04e89154cd92d2bcfdabcecbe3217864c099':
  libavutil: add avpriv_open() to open files with close-on-exec flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 11:07:51 +02:00
Kostya Shishkov
3e5898782d Voxware MetaSound decoder 2013-08-08 10:52:44 +02:00
Michael Niedermayer
1b2a5817fc Merge commit '22c879057ead189c0f59241cb9eeb926381e3299'
* commit '22c879057ead189c0f59241cb9eeb926381e3299':
  mpegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame_copy_props()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 10:49:23 +02:00
Michael Niedermayer
eb02f0c6e8 Merge commit 'f4d371b9737c0405b3bc46d7ca0c856c0a8616b1'
* commit 'f4d371b9737c0405b3bc46d7ca0c856c0a8616b1':
  rtsp: Don't include the listen flag in the SDP demuxer flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 10:41:32 +02:00
Ben Avison
5afe1d2791 avio: Add const qualifiers to ffio_read_indirect
This provides at least some protection against potential accidental
corruption of AVIO buffer workspace.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 11:09:00 +03:00
Derek Buitenhuis
0f1fb6c019 libavutil: Don't use fcntl if the function does not exist
Not all platforms have the function.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 11:07:51 +03:00
Diogo Franco
e8edf4e1cf cmdutils: Only do the windows-specific commandline parsing on _WIN32
Fixes commandline parsing on Cygwin (on 64 bit, and on very recent
32 bit), where the configure check does find the CommandLineToArgvW
function (since it exists in the link libraries and in the headers),
but whose GetCommandLineW() only returns the application's path.
(This is due to a cygwin internal optimization, see
http://cygwin.com/ml/cygwin/2013-07/msg00538.html for details.)
Arguments are only given through main's argc/argv, and they're already
UTF-8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-08 10:59:03 +03:00
Michael Niedermayer
8d745281a4 swscale/utils: Fix potential overflow of srcPos*C before converting to 64bit
Fixes CID1061054

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 02:56:26 +02:00
Michael Niedermayer
bc721ac9f7 swscale/utils: Fix potential overflow of dstPos*xInc before converting to 64bit
Fixes CID1061053

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 02:51:52 +02:00
Michael Niedermayer
0b5d1b88e0 avutil/opt: fix types passed to the format string "%s"
Fixes gcc warnings
Fixes CID1061056
Fixes CID1061057

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-08 02:48:44 +02:00
Rémi Denis-Courmont
51eb213d00 libavformat: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:22:03 +02:00
Rémi Denis-Courmont
71bf6b41d9 libavdevice: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:16:05 +02:00
Rémi Denis-Courmont
fee9db1fdf libavcodec: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:13:12 +02:00
Rémi Denis-Courmont
880391ed2d libavutil: use avpriv_open()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:12:28 +02:00
Rémi Denis-Courmont
869b04e891 libavutil: add avpriv_open() to open files with close-on-exec flag
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 21:12:20 +02:00
Vittorio Giovara
22c879057e mpegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame_copy_props()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-07 20:48:15 +02:00
Michael Niedermayer
b11b7ceb89 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: remove obsolete workaround in trim insertion.
  lavu/log: do not skip overwritten lines.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 19:16:12 +02:00
Michael Niedermayer
60ae776d04 av_frame_copy_props: fix unintended self assignment
Fixes CID1061052

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:27:07 +02:00
Michael Niedermayer
f3b7f47070 avformat/oggparsevorbis: fix leak of tt
Fixes CID1061059
Fixes fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:20:39 +02:00
Michael Niedermayer
d0a882ab1d avformat/oggparsevorbis: fix leak of ct
Fixes CID1061058
Fixes fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:18:19 +02:00
Michael Niedermayer
731f7eaaad ff_flac_parse_picture: assert that len is within the array
The check that gurantees this isnt recognized by coverity for
example

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 17:18:05 +02:00
Michael Niedermayer
2960576378 avcodec/g2meet: fix src pointer checks in kempf_decode_tile()
Fixes Ticket2842

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 16:28:28 +02:00
Nicolas George
dd9555e94b ffmpeg: remove obsolete workaround in trim insertion.
The bug it was working seems to have been fixed.
This change causes ffmpeg to use the trim filter to implement
the -t option.
FATE tests are updated due to the more accurate handling of
the last packets.
2013-08-07 16:20:41 +02:00
Nicolas George
39bb26f91b lavu/log: do not skip overwritten lines.
If the line ends with \r, it will not flood the tty, and
the "Last message repeated" line would overwrite it.
Fix bug introduced by c25d1ba.
2013-08-07 16:01:45 +02:00
Michael Niedermayer
5cd57e8758 avcodec/jpeg2000dec: check sample sepration for validity
Fixes division by 0
Fixes Ticket2841

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 15:09:35 +02:00
Martin Storsjö
f4d371b973 rtsp: Don't include the listen flag in the SDP demuxer flags
It's only relevant for the RTSP demuxer. Similarly, the custom_io
flag is only present in the SDP demuxer options list.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-07 13:16:44 +03:00
Michael Niedermayer
e4eab2d9bd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead

Conflicts:
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 12:14:39 +02:00
Michael Niedermayer
6bf6d6ad49 Merge commit '62572435d4106098c090fb8f129a9090e41ff1eb'
* commit '62572435d4106098c090fb8f129a9090e41ff1eb':
  rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 12:05:03 +02:00
Michael Niedermayer
5d08f8149c Merge commit 'f542dedf72091af8e6f32a12bd64289c58857c21'
* commit 'f542dedf72091af8e6f32a12bd64289c58857c21':
  rtspenc: Check the return value from ffio_open_dyn_packet_buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 11:52:05 +02:00
Stephen Hutchinson
7f43a09da7 configure: Add -lstdc++ to the requirements for linking with libgme.
Needed for cross-compiling with MinGW-w64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 11:13:40 +02:00
Kostya Shishkov
f544c58636 deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead
Voxware is the name of company, it has produced several audio codecs e.g.
MetaVoice family and MetaSound.
2013-08-07 10:56:18 +02:00
Stephen Hutchinson
9db353bc47 avisynth: Exit gracefully when trying to serve video from v2.5.8.
'Fixes' ticket #2526 insofar as it stops 2.5.8 from crashing and
tells the user to upgrade to 2.6 if they want to make video input
work. A real solution to #2526 would be to get video input from
2.5.8 to work right.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 10:38:48 +02:00
Stephen Hutchinson
f277d6bf42 avisynth: Cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 10:37:19 +02:00
Martin Storsjö
62572435d4 rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-07 11:37:13 +03:00
Martin Storsjö
f542dedf72 rtspenc: Check the return value from ffio_open_dyn_packet_buf
Also clear the AVIOContext handle after freeing, to avoid
possible dangling pointers if the later call fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-07 11:37:01 +03:00
Michael Niedermayer
81f4d55c36 MAINTAINERS: alphabetical sort
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 03:01:51 +02:00
Michael Niedermayer
b45b1d7af9 MAINTAINERS: Add some maintainers for parts of libavutil
Developers added are active and in the copyright of the specified files,

If anyone wants to maintain anything else, send a patch that adds you to
MAINTAINERS.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 01:37:57 +02:00
Michael Niedermayer
caa7a49481 avformat/utils: fix memleak with nobuffer
Fixes Ticket2802

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 01:21:43 +02:00
Michael Niedermayer
a68b6ec7f5 avutil/hmac: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 20:30:55 +02:00
Michael Niedermayer
9e10b2cfc9 avformat/spdifenc make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 20:30:36 +02:00
Michael Niedermayer
ef71717901 avformat/smoothstreamingenc: Make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 20:30:12 +02:00
Michael Niedermayer
5b13778f93 mpegts: remove usage of MOD_UNLIKELY()
Its not needed and doing nothing is faster than doing a optimized MOD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:56:20 +02:00
Michael Niedermayer
aa24729c21 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors

Conflicts:
	libavcodec/pcm-mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:40:50 +02:00
Michael Niedermayer
66328da700 Merge commit '6fb65973c9501d3fe94a5a9195c01cd20083066e'
* commit '6fb65973c9501d3fe94a5a9195c01cd20083066e':
  configure: Properly split dv1394 indev dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:33:46 +02:00
Michael Niedermayer
c32db6adab Merge commit '61c31e4ee7ea79a9e74c0476b81244febf17e6d7'
* commit '61c31e4ee7ea79a9e74c0476b81244febf17e6d7':
  configure: Properly set zlib dependencies for all components

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:29:27 +02:00
Michael Niedermayer
05f1b4e2ec Merge commit 'a7d45e06e9757f49ea4e105cbefc3462a7324e9a'
* commit 'a7d45e06e9757f49ea4e105cbefc3462a7324e9a':
  configure: The W64 demuxer should select the WAV demuxer, not depend on it

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:22:00 +02:00
Michael Niedermayer
1faece7ecc Merge commit '406e6c0ba5393fa302080202fe77bd09187889a1'
* commit '406e6c0ba5393fa302080202fe77bd09187889a1':
  configure: Properly split avserver component and system dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 19:04:04 +02:00
Michael Niedermayer
0a8f5eb23a Merge commit '255d9c570e117f0fcb8e51fa2c5996f3c4b2052b'
* commit '255d9c570e117f0fcb8e51fa2c5996f3c4b2052b':
  riff: Move demuxing code to a separate file.

Conflicts:
	configure
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 18:30:47 +02:00
Michael Niedermayer
508a5349da Merge commit '3dd5c95deef51d7fbf6f4458ba42d1335d2f1472'
* commit '3dd5c95deef51d7fbf6f4458ba42d1335d2f1472':
  riff: Move muxing code to a separate file

Conflicts:
	configure
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 18:08:30 +02:00
Michael Niedermayer
7565aaecb4 Merge commit 'fcc455ff2e11ed04603aead1984a92ac3a4be226'
* commit 'fcc455ff2e11ed04603aead1984a92ac3a4be226':
  avformat/dv: K&R formatting cosmetics

Conflicts:
	libavformat/dv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 18:01:03 +02:00
Michael Niedermayer
89efaabc99 Merge commit 'abe5268c3328bf0e8fcfb7dc6e231b8920177c3a'
* commit 'abe5268c3328bf0e8fcfb7dc6e231b8920177c3a':
  tcp: Use a different log message and level if there's more addresses to try

Conflicts:
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 17:53:01 +02:00
Michael Niedermayer
287f7d0ae1 Merge commit '2a0ec47bd70ebb79e8b2d2f956feeb3a813df798'
* commit '2a0ec47bd70ebb79e8b2d2f956feeb3a813df798':
  unix: Convert from AVERROR to errno range before comparing error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 17:24:50 +02:00
Michael Niedermayer
83db013a06 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec/options: Drop deprecation warning suppression macros

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:48:31 +02:00
Michael Niedermayer
f5b2718c0a Merge commit '971cce7ebb48a58e72e4dc57b3008e2682bcf4e7'
* commit '971cce7ebb48a58e72e4dc57b3008e2682bcf4e7':
  riff.h: Remove stray extern declaration for non-existing symbol

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:41:44 +02:00
Michael Niedermayer
7d03e60c12 Merge commit '86f4c59bd676672040b89d8fea4c9e3b59bfe7ab'
* commit '86f4c59bd676672040b89d8fea4c9e3b59bfe7ab':
  twinvq: Split VQF-specific part from common TwinVQ decoder core

Conflicts:
	libavcodec/Makefile
	libavcodec/twinvq.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:37:08 +02:00
Michael Niedermayer
a97f749990 Merge commit '4d8d16b596c63de85e52488734338fbb41238058'
* commit '4d8d16b596c63de85e52488734338fbb41238058':
  twinvq: Prefix enums and defines shared with VoxWare MetaSound

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:29:35 +02:00
Michael Niedermayer
9648c8e57b Merge commit 'bc909626b0a3c107625f2cb4c85479d18de422a8'
* commit 'bc909626b0a3c107625f2cb4c85479d18de422a8':
  twinvq: move all bitstream reading into single place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:24:08 +02:00
Michael Niedermayer
0df55e1ba8 Merge commit 'a22ae9f0c579793f411e2bd7a8db557091a3a4ae'
* commit 'a22ae9f0c579793f411e2bd7a8db557091a3a4ae':
  mpegts: Remove one 64-bit integer modulus operation per packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:23:32 +02:00
Michael Niedermayer
91062ddef1 Merge commit '43bacd5b7d3d265a77cd29d8abb131057796aecc'
* commit '43bacd5b7d3d265a77cd29d8abb131057796aecc':
  vc1: check mb_height validity.

See: b5f4836f8c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 16:07:37 +02:00
Michael Niedermayer
f606c6e92c Merge commit '090cd0631140ac1a3a795d2adfac5dbf5e381aa2'
* commit '090cd0631140ac1a3a795d2adfac5dbf5e381aa2':
  vc1: check the source buffer in vc1_mc functions

Conflicts:
	libavcodec/vc1dec.c

See: 3a04c18d89
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:57:35 +02:00
Michael Niedermayer
06fd4e45d9 Merge commit '9991298f2c4d9022ad56057f15d037e18d454157'
* commit '9991298f2c4d9022ad56057f15d037e18d454157':
  bink: Bound check the quantization matrix.

See: e70144cba1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:53:27 +02:00
Michael Niedermayer
2539767206 Merge commit 'bb9378251a167ef0116f263912e57f715c1e02ac'
* commit 'bb9378251a167ef0116f263912e57f715c1e02ac':
  network: Use SOCK_CLOEXEC when available

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:40:05 +02:00
Michael Niedermayer
8d06ce7941 Merge commit '605387582bd35920b83a26dabbe1c0601f425621'
* commit '605387582bd35920b83a26dabbe1c0601f425621':
  lavf: Support unix sockets

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:33:12 +02:00
Michael Niedermayer
560e9365b6 Merge commit 'bc54c2ae3ca6abd225dc331eafc12108513158de'
* commit 'bc54c2ae3ca6abd225dc331eafc12108513158de':
  libx264: add shortcut for the bluray compatibility option

Conflicts:
	doc/encoders.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:26:04 +02:00
Michael Niedermayer
5dd8ca7d1b Merge commit 'c84ea750cf765c9d8845fca5546eb0ae25b9c855'
* commit 'c84ea750cf765c9d8845fca5546eb0ae25b9c855':
  mpegts: Make discard_pid() faster for single-program streams

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:16:35 +02:00
Michael Niedermayer
4ed0b28a45 Merge commit 'cabb1681697555e2c319c37c1f30f149207e9434'
* commit 'cabb1681697555e2c319c37c1f30f149207e9434':
  mpegts: Remove one memcpy per packet

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:11:55 +02:00
Michael Niedermayer
8878aef048 Merge commit 'daf1e0d3de03bd424016e2a7520e4e94ece5c0ac'
* commit 'daf1e0d3de03bd424016e2a7520e4e94ece5c0ac':
  avio: Add an internal function for reading without copying

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 15:02:27 +02:00
Michael Niedermayer
7ed002d791 Merge commit '22a154e4363b351dd9f321003de01dffebd2fa18'
* commit '22a154e4363b351dd9f321003de01dffebd2fa18':
  build: Add missing img2.o dependency to apetag.o

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:56:22 +02:00
Michael Niedermayer
1dfb34db6d Merge commit 'bea3d6f4363ff1bbbd99c1717f7498b9fdb12cfc'
* commit 'bea3d6f4363ff1bbbd99c1717f7498b9fdb12cfc':
  ismindex: Replace mkdir ifdeffery by os_support.h #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:50:27 +02:00
Michael Niedermayer
318d7a9638 avcodec/vdpau: include attributes.h, needed for attribute_deprecated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:49:03 +02:00
Michael Niedermayer
66056f74a1 avcodec/vdpau.h: define FF_API_BUFS_VDPAU if its not defined
Similar to 50fb8c1114

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:48:54 +02:00
Michael Niedermayer
9547e3eef3 Merge commit 'f824535a4a79c260b59d3178b8d958217caffd78'
* commit 'f824535a4a79c260b59d3178b8d958217caffd78':
  vdpau: deprecate bitstream buffers within the hardware context

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:30:49 +02:00
Michael Niedermayer
c3b2902320 Merge commit '2852740e23f91d6775714d7cc29b9a73e1111ce0'
* commit '2852740e23f91d6775714d7cc29b9a73e1111ce0':
  vdpau: store picture data in picture's rather than codec's context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:25:26 +02:00
Michael Niedermayer
50fb8c1114 avcodec/vdpau.h: define FF_API_CAP_VDPAU if its not defined
Prevent build failure for applicatins using the old API
This could be replaced be a include of version.h but some applications
would then need extern C wrapers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 14:15:17 +02:00
Michael Niedermayer
3b805dcaa9 Merge commit '549294fbbe1c00fee37dc4d3f291b98945e11094'
* commit '549294fbbe1c00fee37dc4d3f291b98945e11094':
  vdpau: deprecate VDPAU codec capability

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:54:05 +02:00
Michael Niedermayer
4ee0984341 Merge commit 'a0ad5d011318f951ecd4c9ffe1829518c9533909'
* commit 'a0ad5d011318f951ecd4c9ffe1829518c9533909':
  vdpau: deprecate old codec-specific pixel formats

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:45:21 +02:00
Michael Niedermayer
bf36dc50ea Merge commit '578ea75a9e4ac56e0bbbbe668700be756aa699f8'
* commit '578ea75a9e4ac56e0bbbbe668700be756aa699f8':
  vdpau: remove old-style decoders

Conflicts:
	libavcodec/allcodecs.c
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpeg12dec.c
	libavcodec/mpeg4videodec.c
	libavcodec/vc1dec.c
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 13:24:22 +02:00
Christian Schmidt
1c6d2bb9a9 pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-06 13:19:29 +02:00
Michael Niedermayer
b7fc2693c7 Merge commit '488a0fa68973d48e264d54f1722f7afb18afbea7'
* commit '488a0fa68973d48e264d54f1722f7afb18afbea7':
  avconv: support -t as an input option.

Conflicts:
	Changelog
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 12:41:04 +02:00
Michael Niedermayer
6d77279ed8 ffmpeg_opt: Remove support for specifying -t anywhere to set the duration
This would otherwise conflict with the semantics of using -t for the input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 12:06:28 +02:00
Michael Niedermayer
7cbef2ed7e Merge commit '811bd0784679dfcb4ed02043a37c92f9df10500e'
* commit '811bd0784679dfcb4ed02043a37c92f9df10500e':
  avconv: make input -ss accurate when transcoding

Conflicts:
	Changelog
	doc/ffmpeg.texi
	ffmpeg.h
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 11:39:09 +02:00
Diego Biurrun
6fb65973c9 configure: Properly split dv1394 indev dependencies 2013-08-06 11:23:00 +02:00
Diego Biurrun
61c31e4ee7 configure: Properly set zlib dependencies for all components 2013-08-06 11:23:00 +02:00
Diego Biurrun
a7d45e06e9 configure: The W64 demuxer should select the WAV demuxer, not depend on it 2013-08-06 11:23:00 +02:00
Diego Biurrun
406e6c0ba5 configure: Properly split avserver component and system dependencies 2013-08-06 11:23:00 +02:00
Diego Biurrun
255d9c570e riff: Move demuxing code to a separate file. 2013-08-06 11:02:36 +02:00
Diego Biurrun
3dd5c95dee riff: Move muxing code to a separate file 2013-08-06 11:02:35 +02:00
Diego Biurrun
fcc455ff2e avformat/dv: K&R formatting cosmetics 2013-08-06 11:01:44 +02:00
Michael Niedermayer
3fa72de82f Merge commit '56ee3f9de7b9f6090d599a27d33a392890a2f7b8'
* commit '56ee3f9de7b9f6090d599a27d33a392890a2f7b8':
  avconv: distinguish between -ss 0 and -ss not being used

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 10:25:32 +02:00
Michael Niedermayer
84bc317019 Merge commit '2e661f26f8b12195f75ae3b07d9591e395135bc7'
* commit '2e661f26f8b12195f75ae3b07d9591e395135bc7':
  avconv: insert extra filters in the same way for both graph inputs and outputs

Conflicts:
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 10:08:17 +02:00
Martin Storsjö
abe5268c33 tcp: Use a different log message and level if there's more addresses to try
This lowers the level of warnings printed if trying to connect
to a host name that provides both v6 and v4 addresses but the
service only is available on the v4 address (often occurring for
'localhost', with servers that aren't v6-aware).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-06 10:39:39 +03:00
Martin Storsjö
2a0ec47bd7 unix: Convert from AVERROR to errno range before comparing error codes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-06 10:38:14 +03:00
Michael Niedermayer
bb5ef96164 Merge commit '3799376dd3373ee255651ed542c75b15665801a8'
* commit '3799376dd3373ee255651ed542c75b15665801a8':
  lavfi/fifo: fix flushing when using request_samples

Conflicts:
	libavfilter/fifo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 09:35:03 +02:00
Michael Niedermayer
a59a64cbc8 Merge commit '06cd4c5a68e23f5be199c0d2d563da80989f839f'
* commit '06cd4c5a68e23f5be199c0d2d563da80989f839f':
  avconv: fix usage of deprecated lavfi API

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 09:20:22 +02:00
Michael Niedermayer
4131f21f77 Merge commit '612a5049d9b4ac1c2a293daf75fe814b7a94fdc7'
* commit '612a5049d9b4ac1c2a293daf75fe814b7a94fdc7':
  avserver: do not use a static string as a default for a string option

See: 19c41c6d8e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 09:13:51 +02:00
Diego Biurrun
0ba4ea312b avcodec/options: Drop deprecation warning suppression macros
The options table is used in tools built by the host compiler and the
deprecation macros pull in bits that are not safe to use if host and
target compiler differ.
2013-08-06 03:05:03 +02:00
Marton Balint
a7bb12a307 mpegts: add fix_teletext_pts mpegts demuxer option
Changes since v1 of the patch:
- enable option by default
- add documentation
- move up PTS override code after PES header parsing, to ensure we use the
  last PCR before the first packet of the teletext PES packet.

The option overrides teletext packet PTS and DTS values with the timestamps
calculated from the PCR of the first program which the teletext stream is part
of and is not discarded.

Using the same teletext PID for multiple programs is possible, therefore we
need some kind of heuristics to know which program PCR we should synchronize
to. Using the first non-discarded PCR pid among the programs of the teletext
stream seemed like a good choice.

The patch does not do PCR interpolation to estimate the PCR of the teltetext
packet, it just uses the last PCR of the program, which may cause a slight
error (0.1 sec) in the teletext packet pts-es.

Based on a patch by Reimar Döffinger.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131610.html

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-06 02:47:38 +02:00
Carl Eugen Hoyos
4c15f3491f Set bits_per_raw_sample when decoding pnm. 2013-08-06 00:26:21 +02:00
Diego Biurrun
971cce7ebb riff.h: Remove stray extern declaration for non-existing symbol 2013-08-05 22:44:48 +02:00
Wei-Cheng Pan
f646cd4471 rtp: Make ff_rtp_codec_id() case insensitive
Fixes handling of lower case pcmu

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 21:53:52 +02:00
Kostya Shishkov
86f4c59bd6 twinvq: Split VQF-specific part from common TwinVQ decoder core
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-05 20:59:23 +02:00
Diego Biurrun
4d8d16b596 twinvq: Prefix enums and defines shared with VoxWare MetaSound 2013-08-05 20:19:11 +02:00
Kostya Shishkov
bc909626b0 twinvq: move all bitstream reading into single place
This is required for the future addition of VoxWare MetaSound decoder, for its
functions are mostly the same but bitstream reader is completely different
and bitstream format is slightly different too.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-05 19:37:47 +02:00
Ben Avison
a22ae9f0c5 mpegts: Remove one 64-bit integer modulus operation per packet
The common case of the pointer having increased by one packet (which results
in no change to the modulus) can be detected with a 64-bit subtraction,
which is far cheaper than a division on many platforms.

           Before          After
           Mean   StdDev   Mean   StdDev  Change
Divisions   248.3  8.8      51.5   7.4    +381.7%
Overall    2773.2 25.6     2372.5 43.1     +16.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 19:25:55 +03:00
Luca Barbato
43bacd5b7d vc1: check mb_height validity.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-05 16:24:13 +02:00
Luca Barbato
090cd06311 vc1: check the source buffer in vc1_mc functions
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-05 16:24:13 +02:00
Luca Barbato
9991298f2c bink: Bound check the quantization matrix.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-08-05 16:24:13 +02:00
Luca Barbato
bb9378251a network: Use SOCK_CLOEXEC when available 2013-08-05 16:13:36 +02:00
Luca Barbato
605387582b lavf: Support unix sockets 2013-08-05 16:13:35 +02:00
Luca Barbato
bc54c2ae3c libx264: add shortcut for the bluray compatibility option
As for intra-refresh it is just a commodity.
2013-08-05 16:13:35 +02:00
Timothy Gu
3217a706e2 libxvid: Reduce the size of an array
It is not possible to have a plugin[] array with 5 or more elements.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 15:11:17 +02:00
Michael Niedermayer
1ccc2157ff avcodec/libxvid: Partially check plugins array size with assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 15:06:04 +02:00
Michael Niedermayer
412df0a52f avcodec/libxvid: set lumi_aq for lumimasking
Simplifies check and should fix lumi+vari warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 15:06:04 +02:00
Ben Avison
c84ea750cf mpegts: Make discard_pid() faster for single-program streams
When a stream contains a single program, there's no point in doing a
PID -> program lookup. Normally the one and only program isn't disabled,
so no packets should be discarded.

              Before          After
              Mean   StdDev   Mean   StdDev  Change
discard_pid()   73.8  9.4       20.2  1.5    +264.8%
Overall       2300.8 28.0     2253.1 20.6      +2.1%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 15:18:42 +03:00
Ben Avison
cabb168169 mpegts: Remove one memcpy per packet
This was being performed to ensure that a complete packet was held in
contiguous memory, prior to parsing the packet. However, the source buffer
is typically large enough that the packet was already contiguous, so it is
beneficial to return the packet by reference in most cases.

         Before          After
         Mean   StdDev   Mean   StdDev  Change
memcpy    720.7  32.7     649.8  25.1   +10.9%
Overall  2372.7  46.1    2291.7  21.8    +3.5%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 15:14:31 +03:00
Ben Avison
daf1e0d3de avio: Add an internal function for reading without copying
As long as there is enough contiguous data in the avio buffer,
just return a pointer to it instead of copying it to the caller
provided buffer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-05 15:14:25 +03:00
Diego Biurrun
22a154e436 build: Add missing img2.o dependency to apetag.o 2013-08-05 11:38:00 +02:00
Diego Biurrun
bea3d6f436 ismindex: Replace mkdir ifdeffery by os_support.h #include
os_support.h contains more precise workarounds for non-POSIX mkdir().
2013-08-05 11:38:00 +02:00
Rémi Denis-Courmont
f824535a4a vdpau: deprecate bitstream buffers within the hardware context
The bitstream buffers are now private and freed by libavcodec. For
backward compatibility, the hold bitstream buffer pointer is left NULL
(applications were supposed to av_freep() it).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:21:36 +02:00
Rémi Denis-Courmont
2852740e23 vdpau: store picture data in picture's rather than codec's context
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:20:41 +02:00
Rémi Denis-Courmont
549294fbbe vdpau: deprecate VDPAU codec capability
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:20:32 +02:00
Rémi Denis-Courmont
a0ad5d0113 vdpau: deprecate old codec-specific pixel formats
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:16:54 +02:00
Rémi Denis-Courmont
578ea75a9e vdpau: remove old-style decoders
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-05 11:15:49 +02:00
Anton Khirnov
488a0fa689 avconv: support -t as an input option.
It limits the duration of the data read from a given input.
2013-08-05 10:54:19 +02:00
Anton Khirnov
811bd07846 avconv: make input -ss accurate when transcoding
Insert (a)trim filters on the corresponding inputs, so the extra frames
are decoded and discarded.
2013-08-05 10:53:41 +02:00
Anton Khirnov
56ee3f9de7 avconv: distinguish between -ss 0 and -ss not being used
Using -ss 0 to drop frames with negative timestamps is a perfectly valid
use case.
2013-08-05 10:53:12 +02:00
Anton Khirnov
2e661f26f8 avconv: insert extra filters in the same way for both graph inputs and outputs
This will allow using the same code when one filter can be inserted both
on input and output.
2013-08-05 10:52:22 +02:00
Anton Khirnov
3799376dd3 lavfi/fifo: fix flushing when using request_samples
If any samples are still buffered when request_frame returns EOF, they
won't be returned currently.
2013-08-05 10:52:00 +02:00
Anton Khirnov
06cd4c5a68 avconv: fix usage of deprecated lavfi API 2013-08-05 10:51:41 +02:00
James Almer
1ca3902726 fate: Add vorbiscomment cover art test
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:48:37 +02:00
Michael Niedermayer
22458ccbcc avcodec/tta: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:15:03 +02:00
Michael Niedermayer
89c3f5a907 avformat/takdec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:14:42 +02:00
Michael Niedermayer
263da1a8f7 avcodec/eatgq: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:14:14 +02:00
Michael Niedermayer
5dff269998 avcodec/diracdec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:13:48 +02:00
Michael Niedermayer
6ed1aa4f85 avcodec/ra144dec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:13:21 +02:00
Michael Niedermayer
77e37c34cb avformat/latmenc: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 10:12:46 +02:00
Michael Niedermayer
dd98d9d1ff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfenc: switch to av_reallocp_array() and check allocation errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:57:28 +02:00
Michael Niedermayer
d6c36fba0b Merge commit 'a10c4ce24bd4a0dd557d5849aa53a0cc74677808'
* commit 'a10c4ce24bd4a0dd557d5849aa53a0cc74677808':
  aac: Forward errors properly in aac_decode_frame_int

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:52:06 +02:00
Michael Niedermayer
48af87819a Merge commit '71953ebcf94fe4ef316cdad1f276089205dd1d65'
* commit '71953ebcf94fe4ef316cdad1f276089205dd1d65':
  aac: Check init_get_bits return value

Conflicts:
	libavcodec/aacdec.c

See: 73abc3a634

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:46:04 +02:00
Michael Niedermayer
783c674da7 Merge commit '51fc88e7467169031b20b9983d80456b893a9fa3'
* commit '51fc88e7467169031b20b9983d80456b893a9fa3':
  avconv: improve some variable names

Conflicts:
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:32:31 +02:00
Michael Niedermayer
46b3dbf9ca Merge commit '77cc958f60f73963be4281d6e82ef81707e40c26'
* commit '77cc958f60f73963be4281d6e82ef81707e40c26':
  lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 09:22:18 +02:00
Michael Niedermayer
c4f9a4cd2f rdt: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 02:53:16 +02:00
Michael Niedermayer
1787432b23 mp3dec: make const tables static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-05 02:52:41 +02:00
Michael Niedermayer
6bbcae2c16 avcodec/fft: Fix "warning: unused variable"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 22:52:10 +02:00
Michael Niedermayer
62cf5c114a avformat/matroskadec: make sipr_bit_rate static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 21:18:49 +02:00
Anton Khirnov
612a5049d9 avserver: do not use a static string as a default for a string option
Fixes an invalid free.

Bug-id: 448
2013-08-04 18:47:22 +02:00
Alexandra Khirnova
7684a36113 mxfenc: switch to av_reallocp_array() and check allocation errors
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-04 16:49:04 +02:00
Luca Barbato
a10c4ce24b aac: Forward errors properly in aac_decode_frame_int
Incidentally also remove a warning.
2013-08-04 16:05:36 +02:00
Luca Barbato
71953ebcf9 aac: Check init_get_bits return value
Some code paths can call it with invalid length.

CC: libav-stable@libav.org
2013-08-04 16:05:36 +02:00
Anton Khirnov
51fc88e746 avconv: improve some variable names
'filter' is too generic, since the functions in question deal with
several filters.

Also add const qualifiers to those variables.
2013-08-04 15:46:19 +02:00
Anton Khirnov
77cc958f60 lavfi: add const to the AVFilter parameter of avfilter_graph_create_filter()
This function should never modify the filter.
2013-08-04 15:46:19 +02:00
Nedeljko Babic
18d7074b4e libavcodec: Implementation of 32 bit fixed point FFT
Iterative implementation of 32 bit fixed point split-radix FFT.
Max FFT that can be calculated currently is 2^12.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 14:01:41 +02:00
Andrey Utkin
27cc3e72f8 doc/muxers: Document use case of mpegts muxer option tables_version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 13:35:54 +02:00
Timothy Gu
3415058541 vf_scale: add force_original_aspect_ratio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 13:27:01 +02:00
Michael Niedermayer
48188a5120 MAINTAINERS: order libavutil entries alphabetically
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 11:24:57 +02:00
Michael Niedermayer
61af627d56 avfilter/graphparser: remove 256 char limit from create_filter()
Fixes Ticket2803

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-04 00:56:55 +02:00
Michael Niedermayer
c0ef5d6c16 avdevice/vfwcap: make constant arrays static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:24:31 +02:00
Michael Niedermayer
8862ed7340 avdevice/dshow: make constant arrays static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:24:11 +02:00
Michael Niedermayer
f187390907 doc/examples/filtering_audio: make const arrays also static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 22:22:03 +02:00
Andrey Utkin
5b76c3a120 doc/muxers: Document previously undocumented mpegts muxer options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 20:30:33 +02:00
Michael Niedermayer
e43a0a232d avfilter: fix plane validity checks
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 19:15:46 +02:00
Michael Niedermayer
bc4e798562 avdevice/timefilter: 2nd try at avoiding rounding issues
This hopefully fixes fate-timefilter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 16:15:13 +02:00
Michael Niedermayer
d6fd1242f3 avdevice/timefilter-test: provide more space for the printout to allow larger values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 16:11:29 +02:00
Carl Eugen Hoyos
34d48dac25 avcodec/pnmdec: support more pnm files
Fixes Ticket1897

Some hunks that have become unneeded due to previous changes removed by the commiter.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 15:00:20 +02:00
Michael Niedermayer
62738157dd pnmdec: always output native pixel format
This simplifies the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 15:00:15 +02:00
Andrey Utkin
b7ed18b9bd mpegtsenc: add option tables_version
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 12:44:53 +02:00
Michael Niedermayer
5ad4e29337 MAINTAINERS: add myself as maintainer for the interface code to swresample & swscale in libavfilter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 12:36:56 +02:00
Michael Niedermayer
62f616ed58 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for GCC diagnostic pragma support inside of functions

This commit was cherry picked previously already to prevent compilation failure on a previous merge
See: 038c4f65ee

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:55:46 +02:00
Michael Niedermayer
82fdfe8e51 Merge commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a'
* commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a':
  avcodec: Add output_picture_number to AVCodecParserContext

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:48:11 +02:00
Michael Niedermayer
1607a98545 avcodec/mlp: Fix bugs in libavs warning fixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:27:42 +02:00
Michael Niedermayer
20be5e0a0e Merge commit '7950e519bb094897f957b9a9531cc60ba46cbc91'
* commit '7950e519bb094897f957b9a9531cc60ba46cbc91':
  Disable deprecation warnings for cases where a replacement is available

Conflicts:
	libavcodec/avpacket.c
	libavcodec/pthread.c
	libavcodec/utils.c
	libavdevice/v4l2.c
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 10:08:30 +02:00
Diego Biurrun
038c4f65ee configure: Check for GCC diagnostic pragma support inside of functions
The actual usage of the pragma is within functions and older versions
of gcc only support the pragma outside of functions.
2013-08-03 10:08:04 +02:00
Michael Niedermayer
85fc1a18ca Merge commit '3a7050ffed5ce061b114a11e4de4b77aba8efa0b'
* commit '3a7050ffed5ce061b114a11e4de4b77aba8efa0b':
  build: Add _Pragma macro to disable deprecated declaration warnings

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:27:37 +02:00
Michael Niedermayer
fa5410f61a Merge commit '79be2c325c5ee8f7ac9e28399e51986ebe99bb3c'
* commit '79be2c325c5ee8f7ac9e28399e51986ebe99bb3c':
  doc/print_options: Move options headers to a saner place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:22:30 +02:00
Michael Niedermayer
a8e963835a Merge commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e'
* commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e':
  Give less generic names to global library option arrays

Conflicts:
	libavcodec/options_table.h
	libavfilter/avfilter.c
	libavformat/options_table.h
	libswscale/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:16:36 +02:00
Michael Niedermayer
8e970a5861 Merge commit '0d6fa3977b016f1b72b0b24b8834ff9222498548'
* commit '0d6fa3977b016f1b72b0b24b8834ff9222498548':
  rtmp: Add seek support

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 09:01:48 +02:00
Michael Niedermayer
7cd13f618c Merge commit '0d8b943d204bd16fcf2f4a59c742e65a401dd3d0'
* commit '0d8b943d204bd16fcf2f4a59c742e65a401dd3d0':
  h264_sei: Return meaningful values

Conflicts:
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 08:54:54 +02:00
Michael Niedermayer
bdccfc3fc3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Forward interlaced field information from mov to ffv1 decoder.
  Do not suggest to use gas-preprocessor if using it would break compilation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 00:45:08 +02:00
Tim.Nicholson
ae4c912bce Forward interlaced field information from mov to ffv1 decoder.
Only read the information for old ffv1, level/version 3 saves
the information in the bitstream.
Fixes a part of ticket #2190.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-08-02 23:31:40 +02:00
Carl Eugen Hoyos
401f6a7126 Do not suggest to use gas-preprocessor if using it would break compilation.
gas-preprocessor does not work on ppc with pic and on ppc64.
2013-08-02 23:23:58 +02:00
Michael Niedermayer
154c8bf60b avcodec/mdec: make block_index static const 2013-08-02 23:12:26 +02:00
Michael Niedermayer
f19a23bd4f avcodec/mjpeg: make 2 outcommented tables static 2013-08-02 23:11:58 +02:00
Michael Niedermayer
b984c727f5 avcodec/dxtory: make def_lru[8] static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 23:11:31 +02:00
Michael Niedermayer
04c50cb3a0 avcodec/dnxhdenc: make header_prefix static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 23:10:42 +02:00
Diego Biurrun
6da5b57da1 configure: Check for GCC diagnostic pragma support inside of functions
The actual usage of the pragma is within functions and older versions
of gcc only support the pragma outside of functions.
2013-08-02 22:34:03 +02:00
Michael Niedermayer
0553f2c6e5 avformat/matroskaenc: make 2 tables static that are not used outside matroskaenc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 21:14:59 +02:00
Michael Niedermayer
65dd93209d movenc: make uuids static const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 21:14:59 +02:00
Yusuke Nakamura
a8b19271c3 avcodec: Add output_picture_number to AVCodecParserContext
Set output_picture_number in H.264 parser.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-02 20:59:45 +02:00
Diego Biurrun
7950e519bb Disable deprecation warnings for cases where a replacement is available 2013-08-02 19:19:02 +02:00
Diego Biurrun
3a7050ffed build: Add _Pragma macro to disable deprecated declaration warnings 2013-08-02 19:19:02 +02:00
Diego Biurrun
79be2c325c doc/print_options: Move options headers to a saner place 2013-08-02 19:19:02 +02:00
Diego Biurrun
b5a138652f Give less generic names to global library option arrays 2013-08-02 19:19:02 +02:00
Gavriloaie Eugen-Andrei
0d6fa3977b rtmp: Add seek support
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-02 20:11:54 +03:00
Paul B Mahol
bc2187cfdb ttaenc: fix packet size
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-08-02 16:45:58 +00:00
Vittorio Giovara
0d8b943d20 h264_sei: Return meaningful values
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-02 18:19:40 +02:00
Michael Niedermayer
2b9590ebab avdevice/timefilter-test: dont try to optimize par1 for n0=0 case
for the n0=0 case there are multiple solutions and different
platforms pick different ones
This should reduce the issues with fate and the timefilter test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 17:06:13 +02:00
Michael Niedermayer
61a28d00e8 flvdec: silence unused warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 13:05:16 +02:00
Michael Niedermayer
2ae5ac78d8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264_sei: K&R formatting cosmetics

Conflicts:
	libavcodec/h264_sei.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:37:37 +02:00
Michael Niedermayer
da4cd61502 Merge commit '4c7fd58f8ae729b964b6859eace5ab9a55ce3c8c'
* commit '4c7fd58f8ae729b964b6859eace5ab9a55ce3c8c':
  h264_sei: Remove pointless old comment
  twinvq: Add proper twinvq prefixes to identifiers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:23:52 +02:00
Michael Niedermayer
67291ffd63 Merge commit 'f900f35ac8db4ac30df6fda1c27502c2ef9e6ba5'
* commit 'f900f35ac8db4ac30df6fda1c27502c2ef9e6ba5':
  flvdec: Eliminate completely silly goto

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:19:21 +02:00
Michael Niedermayer
ae48547a52 Merge commit 'e4529df944616917ae8462f5102253ff7f983093'
* commit 'e4529df944616917ae8462f5102253ff7f983093':
  flvdec: K&R formatting cosmetics

Conflicts:
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:08:56 +02:00
Michael Niedermayer
cb73f84087 Merge commit '390b4d7088b5cecace245fee0c54a57e24dabdf4'
* commit '390b4d7088b5cecace245fee0c54a57e24dabdf4':
  flvdec: Fix = vs. == typo in sample rate check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 11:00:50 +02:00
Michael Niedermayer
ca1b029108 Merge commit 'fd8f91e3f44a2bdbefaaebead388133c5fdd3423'
* commit 'fd8f91e3f44a2bdbefaaebead388133c5fdd3423':
  rtsp: Simplify code for forming the remote peer url

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 10:39:46 +02:00
Michael Niedermayer
bff371e34c jpeg2000dec: simplify jpeg2000_read_bitstream_packets()
23 lines less
less error prone as theres no more need to update *_size on every read

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:55:07 +02:00
Michael Niedermayer
5936d98244 avcodec/wmaenc: change commented assert to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:54:59 +02:00
Marton Balint
d75d911223 mpegts: save last pcr of pcr pids in PES Context
Based on a patch by Reimar Döffinger.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131610.html

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:27:47 +02:00
Timothy Gu
b3f858b829 libxvid: cosmetics: Realign the code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:21:09 +02:00
Stefano Sabatini
f118b41759 ffmpeg: raise level for message printed in case of auto-select pixel format
Increase visibility, in order to decrease troubleshooting for
users generating non playable H.264 content.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-08-01 21:14:48 +02:00
Carl Eugen Hoyos
fbc0004b4b lavf/movenc: Write disc number and total number of discs as part of metadata.
Fixes ticket #2731.
2013-08-01 16:21:31 +02:00
Carl Eugen Hoyos
bb7f71d9b6 lavf/movenc: Write total number of tracks as part of metadata.
Fixes ticket #2157.
2013-08-01 16:20:58 +02:00
Michael Niedermayer
9408d990c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avframe: have av_frame_get_side_data take const AVFrame*

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:59:50 +02:00
Michael Niedermayer
0f5a40c2a4 Merge commit 'ee37d5811caa8f4ad125a37fe6ce3f9e66cd72f2'
* commit 'ee37d5811caa8f4ad125a37fe6ce3f9e66cd72f2':
  rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_url

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:51:44 +02:00
Vittorio Giovara
b18412171f h264_sei: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-01 13:26:07 +02:00
Diego Biurrun
4c7fd58f8a h264_sei: Remove pointless old comment 2013-08-01 13:26:07 +02:00
Michael Niedermayer
2ee58af53e Merge commit '1851e1d05d06f6ef3436c667e4354da0f407b226'
* commit '1851e1d05d06f6ef3436c667e4354da0f407b226':
  rtpproto: Check the size before reading buf[1]

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:24:57 +02:00
Michael Niedermayer
4f07fcd30b Merge commit '7748dd41be3d6dd6300f14263586af4ee104ead2'
* commit '7748dd41be3d6dd6300f14263586af4ee104ead2':
  avconv: add -n option to immediately exit when output files already exist

Conflicts:
	Changelog
	doc/ffmpeg.texi
	ffmpeg_opt.c

See: 0a4f02117b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 13:21:34 +02:00
Michael Niedermayer
56e682374e Merge commit 'b85dbe68e222586fd77332716eb8ed5724db4e1b'
* commit 'b85dbe68e222586fd77332716eb8ed5724db4e1b':
  avconv: Call exit_program instead of exit in avconv_opt as well

Conflicts:
	ffmpeg_opt.c

See: eeddeb6579

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 12:52:50 +02:00
Diego Biurrun
9ea24e927e twinvq: Add proper twinvq prefixes to identifiers 2013-08-01 12:44:05 +02:00
Diego Biurrun
f900f35ac8 flvdec: Eliminate completely silly goto 2013-08-01 12:43:54 +02:00
Diego Biurrun
e4529df944 flvdec: K&R formatting cosmetics 2013-08-01 12:43:53 +02:00
Diego Biurrun
390b4d7088 flvdec: Fix = vs. == typo in sample rate check 2013-08-01 12:43:53 +02:00
Michael Niedermayer
cca229e75a Merge commit 'c7e921a54ffe7feb9f695c82f0a0764ab8d0f62b'
* commit 'c7e921a54ffe7feb9f695c82f0a0764ab8d0f62b':
  avopt: Check whether the object actually has got an AVClass

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 12:30:30 +02:00
Michael Niedermayer
fcccb4c11d Merge commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5'
* commit 'b7e6da988bfd5def40ccf3476eb8ce2f98a969a5':
  rtpproto: Move rtpproto specific function declarations to a separate header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 12:03:24 +02:00
Michael Niedermayer
d6b37de4d4 Merge commit '892b0be1dfbdeaf71235fb6c593286e4f5c7e4ec'
* commit '892b0be1dfbdeaf71235fb6c593286e4f5c7e4ec':
  rtpproto: Simplify the rtp_read function by looping over the fds

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:58:17 +02:00
Michael Niedermayer
b39f012dee Merge commit '7531588fffbca1f0afdcc06635999c00dfc16ca6'
* commit '7531588fffbca1f0afdcc06635999c00dfc16ca6':
  rtpproto: Remove a misplaced comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:53:54 +02:00
Michael Niedermayer
d2c613dd14 Merge commit '54e03ff6af8a070f1055edd26028f3f7b2e2ca8e'
* commit '54e03ff6af8a070f1055edd26028f3f7b2e2ca8e':
  rtpproto: Support nonblocking reads

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:47:42 +02:00
Michael Niedermayer
57b8ce414b Merge commit '2e814d0329aded98c811d0502839618f08642685'
* commit '2e814d0329aded98c811d0502839618f08642685':
  rtpenc: Simplify code by introducing a macro for rescaling NTP timestamps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:42:30 +02:00
Michael Niedermayer
0c8efe4891 Merge commit '45dd1ae1b3c18331f3db2293a9135bc5851e553f'
* commit '45dd1ae1b3c18331f3db2293a9135bc5851e553f':
  avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs

Conflicts:
	libavfilter/buffer.c
	libavfilter/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:36:54 +02:00
Michael Niedermayer
b326438139 avutil/tree: fix memleaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:29:12 +02:00
Michael Niedermayer
161054f37b Merge commit 'c2e936de07d054bf476e60445b453bf6b4836820'
* commit 'c2e936de07d054bf476e60445b453bf6b4836820':
  tree-test: Refactor and plug memory leaks

Conflicts:
	libavutil/tree.c

Most of this commit is not merged due to bugs in it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 11:29:03 +02:00
Martin Storsjö
fd8f91e3f4 rtsp: Simplify code for forming the remote peer url
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-01 12:11:17 +03:00
Michael Niedermayer
bc47d126bf Merge commit 'a9b04b2c43f95cc17c2291f83c27a3119471d986'
* commit 'a9b04b2c43f95cc17c2291f83c27a3119471d986':
  tree.h: K&R formatting and typo cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 10:41:06 +02:00
Vittorio Giovara
3c8bff0740 avframe: have av_frame_get_side_data take const AVFrame*
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-08-01 09:41:45 +02:00
Martin Storsjö
ee37d5811c rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_url
A separate rtcp port can already be set when opening the rtp
protocol normally, but when doing port setup as in RTSP (where
we first need to open the local ports and pass them to the peer,
and only then receive the remote peer port numbers), we didn't
check the same url parameter as in the normal open routine.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-01 10:26:17 +03:00
Martin Storsjö
1851e1d05d rtpproto: Check the size before reading buf[1]
I doubt that anyone ever would try to send a 1 byte packet
via the RTP protocol, but check just in case - it shouldn't
crash at least.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-08-01 09:41:21 +03:00
Andrey Utkin
11ace70607 doc/protocols: Document file protocol options
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-01 04:08:14 +02:00
Paul B Mahol
69fe25cdca lclenc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:43 +00:00
Paul B Mahol
fe37551249 sunrastenc: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:43 +00:00
Paul B Mahol
678431d3f2 jv: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
ff1c13b133 mss3: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
02fe531afe mss2: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
451b2ca1b4 indeo2: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Paul B Mahol
76e27b1d05 smacker: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-31 20:01:42 +00:00
Vittorio Giovara
7748dd41be avconv: add -n option to immediately exit when output files already exist
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 22:28:54 +03:00
Andrey Utkin
681ad3a5b6 Document new 'blocksize' option of 'pipe' protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 21:17:03 +02:00
Andrey Utkin
a8f171151f file: Add 'blocksize' option
Interruptibility of file operations is strongly desirable in case of
slow storage access, e.g. mounted network share.
This commit introduces possibility to limit data quantity transferred by
'file' protocol at once. By default, old behaviour is preserved and data
is still tried to be transferred without block size limitation.

Note that file I/O operation still may block (or even freeze) inside of
single read(2) or write(2) operation.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 21:16:54 +02:00
Martin Storsjö
b85dbe68e2 avconv: Call exit_program instead of exit in avconv_opt as well
This seems to have been missed in 636ced8e1d.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 22:11:32 +03:00
Martin Storsjö
c7e921a54f avopt: Check whether the object actually has got an AVClass
AVIOContext has got an av_class member that only gets set if
opening the context using avio_open2, but not if allocating a
custom IO context. A caller that wants to read AVOptions from
an AVIOContext (recursively using AV_OPT_SEARCH_CHILDREN) may
not know if the AVIOContext actually has got a class set or not.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:31:14 +03:00
Martin Storsjö
b7e6da988b rtpproto: Move rtpproto specific function declarations to a separate header
Mixing these with the rtp depacketizer functions in rtpdec.h is
no good.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
892b0be1df rtpproto: Simplify the rtp_read function by looping over the fds
This avoids having duplicate code where only the fd parameter
differs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
7531588fff rtpproto: Remove a misplaced comment
The fdset is a pollfd array nowadays, and it is already populated
at this point.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
54e03ff6af rtpproto: Support nonblocking reads
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Martin Storsjö
2e814d0329 rtpenc: Simplify code by introducing a macro for rescaling NTP timestamps
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-31 21:12:34 +03:00
Diego Biurrun
45dd1ae1b3 avfilter: Add some missing FF_API_AVFILTERBUFFER ifdefs 2013-07-31 19:23:00 +02:00
Diego Biurrun
c2e936de07 tree-test: Refactor and plug memory leaks
With the most annoying memory leak found by Derek Buitenhuis.
2013-07-31 18:14:08 +02:00
Diego Biurrun
a9b04b2c43 tree.h: K&R formatting and typo cosmetics 2013-07-31 18:14:08 +02:00
Timothy Gu
3b3c1ed076 libxvid: Add SSIM displaying through a libxvidcore plugin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 12:41:27 +02:00
Timothy Gu
ccb212b6c3 libxvid: add working lumimasking and variance AQ
The old implementation is unusable due to change in the Xvid API.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 11:57:52 +02:00
Michael Niedermayer
95960027a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hls: Call avformat_find_stream_info() on the chained demuxers

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-31 11:01:30 +02:00
Romain Beauxis
38536e5927 Support for shine 3.0.0 2013-07-30 21:12:34 +00:00
Paul B Mahol
d49252721a lavf/webvttenc: use proper printf format for int64_t values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-30 20:32:26 +00:00
Michael Niedermayer
1bbf94d84f avfilter/af_compand: %f is for printing doubles
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 22:24:42 +02:00
Michael Niedermayer
121fc05b4d avcodec/get_bits: place volatile at the right spot
Should fix Ticket2825

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 20:55:54 +02:00
Michael Niedermayer
43411f416f avcodec/get_bits: init_state is used for thread sync, make it volatile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 20:38:19 +02:00
Timothy Gu
6b255e5e70 doc/encoders: add libxvid doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-30 16:24:29 +02:00
Michael Niedermayer
d6686149e2 asfdec: Skip to keyframe after seeking
Fixes Ticket1616

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 15:29:12 +02:00
Michael Niedermayer
66487d73c3 avdevice/timefilter: cleanup the formating of the test output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:35:53 +02:00
Michael Niedermayer
231e33f050 avutil/pixfmt: dont refer to deprecated PIX_FMT in the documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:32:05 +02:00
Michael Niedermayer
e5526a4bae avformat/gxfenc: replace deprecated PIX_FMT constants
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:29:20 +02:00
Michael Niedermayer
000f8bcd03 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Replace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents

Conflicts:
	libavcodec/g2meet.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 12:03:12 +02:00
Michael Niedermayer
870f506cfe Merge commit '1f57d60129b0e297cd197c6031c4439b30a6b503'
* commit '1f57d60129b0e297cd197c6031c4439b30a6b503':
  rtsp: Support RFC4570 (source specific multicast) more properly.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:57:43 +02:00
Michael Niedermayer
0b712f5d5e Merge commit '74972220909787af5a3ffe66f7fa8041827c2bd2'
* commit '74972220909787af5a3ffe66f7fa8041827c2bd2':
  rtpproto: Support more than one SSM include address, support excludes

Conflicts:
	libavformat/rtpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:51:14 +02:00
Michael Niedermayer
42f7c45d7b Merge commit '7d99c92945e4b2d12ed2126365482e1900340da0'
* commit '7d99c92945e4b2d12ed2126365482e1900340da0':
  udp: Keep track of include and exclude sources separately

Conflicts:
	libavformat/udp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:40:05 +02:00
Michael Niedermayer
15ca3ab825 Merge commit '3357bccc5cb31795f248cd72dc480025f3075a5b'
* commit '3357bccc5cb31795f248cd72dc480025f3075a5b':
  udp: Allow specifying multicast include/blocks as host names as well

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:31:17 +02:00
Michael Niedermayer
9696740af7 hls: Call avformat_find_stream_info() on the chained demuxers
This allows the chained demuxer (or more precisely, the lavf
utility code) to better fill in timestamps on packets from
these, especially for cases where one stream is a raw ADTS
stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-30 12:31:08 +03:00
Michael Niedermayer
c7d1717957 Merge commit '0e8c6f221a8ddb7dfb3c9e9bd0b33cb12e9391b8'
* commit '0e8c6f221a8ddb7dfb3c9e9bd0b33cb12e9391b8':
  avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo

Conflicts:
	doc/general.texi
	libavformat/avisynth.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:26:39 +02:00
Michael Niedermayer
5fae467894 Merge commit '4822ee3ca620a92cd2b0a9a03ea9e34288192c79'
* commit '4822ee3ca620a92cd2b0a9a03ea9e34288192c79':
  configure: Detect AIX ar command instead of hardcoding it in the OS section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:20:12 +02:00
Michael Niedermayer
dc737f0bfa Merge commit '711c4da1af71e0d26ca93626a3c2dd48821f1cc7'
* commit '711c4da1af71e0d26ca93626a3c2dd48821f1cc7':
  fate: Add tree test

Conflicts:
	tests/fate/libavutil.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:13:34 +02:00
Michael Niedermayer
1f5755d869 Merge commit 'd99a2b6d0a4d0b2f5ba6a1f1637d6cb88c5c9184'
* commit 'd99a2b6d0a4d0b2f5ba6a1f1637d6cb88c5c9184':
  avutil/tree: Drop debug messages that clutter the output

Conflicts:
	libavutil/tree.c

Merge for metadata only, a better solution has been commited that allows the
debug output to be turned on and off

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:06:03 +02:00
Michael Niedermayer
db75537e25 avutil/tree: allow adjusting the log level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:04:48 +02:00
Michael Niedermayer
647836608c avutil/tree: change debug output to AV_LOG_DEBUG level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 11:04:39 +02:00
Michael Niedermayer
93b3a5edff Merge commit '10db1a9bca46b0f760a1263d47142b2f57e195d7'
* commit '10db1a9bca46b0f760a1263d47142b2f57e195d7':
  avutil/tree: K&R formatting cosmetics

Conflicts:
	libavutil/tree.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:42:40 +02:00
Michael Niedermayer
4cf6e00081 Merge commit 'c47037c7a17e4026d38dfa41da27b9f91506725b'
* commit 'c47037c7a17e4026d38dfa41da27b9f91506725b':
  fate: Add timefilter test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:36:04 +02:00
Michael Niedermayer
7dfe798d14 Merge commit '06205b5efdcf0bc4c5463bfdd02f09b5f79fc4cd'
* commit '06205b5efdcf0bc4c5463bfdd02f09b5f79fc4cd':
  hls: Free packets when skipping packets when seeking

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:26:04 +02:00
Michael Niedermayer
ef1544740e Merge commit 'a2b7eeeb06471979ee39fd3075a04633222678a6'
* commit 'a2b7eeeb06471979ee39fd3075a04633222678a6':
  hlsproto: Store all durations in AV_TIME_BASE

Conflicts:
	libavformat/hlsproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:19:20 +02:00
Michael Niedermayer
4971551fd2 Merge commit 'c44191039944526dd7eb6e536990b555837961f5'
* commit 'c44191039944526dd7eb6e536990b555837961f5':
  hls: Store all durations in AV_TIME_BASE

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:12:48 +02:00
Michael Niedermayer
5a270296cb Merge commit 'e1d5b244761cf69db655ad7ece1dbf2c13dd4fce'
* commit 'e1d5b244761cf69db655ad7ece1dbf2c13dd4fce':
  hls: Store first_timestamp in units of AV_TIME_BASE

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 10:03:02 +02:00
Michael Niedermayer
947f2d4d34 Merge commit '55c4cba2a7037161ea56b2d55b347c8381df7f1e'
* commit '55c4cba2a7037161ea56b2d55b347c8381df7f1e':
  huffyuvenc: BGRA support

Conflicts:
	libavcodec/huffyuvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 09:50:26 +02:00
Michael Niedermayer
6df20d0d35 asfdec: remove "ignoring invalid packet_obj_size" code
The code is no longer needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 03:19:39 +02:00
Michael Niedermayer
465aa53f21 asfdec: move packet_obj_size to ASFStream
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 03:19:39 +02:00
Michael Niedermayer
cb6d02df4c asfdec: avoid using AVStream->priv_data
This ensures that we dont write into one struct and read the other without
realizing that they arent identical.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-30 03:19:39 +02:00
Diego Biurrun
78b4bfdb84 Replace remaining obsolete PIX_FMT names with AV_PIX_FMT equivalents 2013-07-29 23:46:51 +02:00
Paul B Mahol
c96b3ae8db doc/filters: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-29 20:05:21 +00:00
Ed Torbett
1f57d60129 rtsp: Support RFC4570 (source specific multicast) more properly.
Add support for domain names, for multiple source addresses,
for exclusions, and for session level specification of addresses.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:56 +03:00
Ed Torbett
7497222090 rtpproto: Support more than one SSM include address, support excludes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:55 +03:00
Ed Torbett
7d99c92945 udp: Keep track of include and exclude sources separately
This allows us to explicitly fail if the caller tried to set
both inclusions and exclusions at the same time.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:54 +03:00
Ed Torbett
3357bccc5c udp: Allow specifying multicast include/blocks as host names as well
Previously this only allowed literal IP addresses. When these
are conveyed in a SDP file as in RFC4570, host names are allowed
as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 22:58:53 +03:00
Paul B Mahol
6b68e2a43b lavfi: add compand filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-29 19:11:50 +00:00
Michael Niedermayer
3cd8aaa2b2 avcodec/kmvc: fix MV checks
Fixes Ticket2813
Fixes regression since 70b5583

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 20:58:20 +02:00
Diego Biurrun
0e8c6f221a avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
Also fix some similar typos in comments and documentation.
2013-07-29 20:09:59 +02:00
Diego Biurrun
4822ee3ca6 configure: Detect AIX ar command instead of hardcoding it in the OS section 2013-07-29 19:43:37 +02:00
Diego Biurrun
711c4da1af fate: Add tree test 2013-07-29 19:20:28 +02:00
Diego Biurrun
d99a2b6d0a avutil/tree: Drop debug messages that clutter the output 2013-07-29 19:20:27 +02:00
Diego Biurrun
10db1a9bca avutil/tree: K&R formatting cosmetics 2013-07-29 19:20:27 +02:00
Diego Biurrun
c47037c7a1 fate: Add timefilter test 2013-07-29 19:20:27 +02:00
Martin Storsjö
06205b5efd hls: Free packets when skipping packets when seeking
This fixes memory leaks present since 2b3d041cdc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Martin Storsjö
a2b7eeeb06 hlsproto: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Martin Storsjö
c441910399 hls: Store all durations in AV_TIME_BASE
Also parse segment durations as floating point, which is allowed
since HLS version 3.

This is based on a patch by Zhang Rui.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Martin Storsjö
e1d5b24476 hls: Store first_timestamp in units of AV_TIME_BASE
When first_timestamp was stored as-is, its actual time base
wasn't known later in the seek function.

Additionally, the logic (from 795d9594cf) for scaling it
based on stream_index is flawed - stream_index in the seek
function only specifies which stream the seek timestamp refers
to, but obviously doesn't say anything about which stream
first_timestamp belongs to.

In the cases where stream_index was >= 0 and all streams had the
same time base, this didn't matter in practice.

Seeking taking first_timestamp into account is problematic
when one variant is mpegts (with real timestamps) and one variant
is raw ADTS (with timestamps only being accumulated packet
duration), where the variants start at totally different timestamps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 20:15:50 +03:00
Michael Niedermayer
55c4cba2a7 huffyuvenc: BGRA support
Bug-Id: 452

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-29 18:21:05 +02:00
Carl Eugen Hoyos
f2118d44c9 Fix compilation with --disable-everything --enable-shared.
Compilation with --disable-everything --enable-shared failed
on systems with VAAPI support with the following undefined
symbol in libavcodec/vaapi.o:
libavcodec/libavcodec.so: undefined reference to `ff_mpeg_draw_horiz_band'
2013-07-29 17:52:40 +02:00
Michael Niedermayer
f80ccf074a avcodec/ff_init_vlc_sparse: use a local array for static vlcs avoiding malloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 16:48:41 +02:00
Michael Niedermayer
6af8326354 avcodec/ff_init_vlc_sparse: use a spinlock for thread sync
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 16:48:41 +02:00
Michael Niedermayer
a9903f7ec1 Revert "bitstream: make vlc init of static tables thread safe."
This reverts commit 4b6869d6e0.

Conflicts:

	libavcodec/bitstream.c

This code can cause assertion failures on artificial OOM situations
It will be replaced by a solution that doesnt have this issue in the
following commits.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 16:48:41 +02:00
Paul B Mahol
2786ac777d zmbv: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-29 14:45:02 +00:00
Michael Niedermayer
994e09345e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hls: Create an AVProgram for each variant

Conflicts:
	libavformat/hls.c

See: 23db5418ed
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:35:40 +02:00
Michael Niedermayer
65dcb54493 Merge commit '9d64f236292ba28018dd9afd2d57f8f944b33f81'
* commit '9d64f236292ba28018dd9afd2d57f8f944b33f81':
  hls: Respect the different stream time bases when comparing dts

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:18:37 +02:00
Michael Niedermayer
2f9e97b32a Merge commit 'c11e33a3d9665dd1fc5dbdecdd03a4860ac6a622'
* commit 'c11e33a3d9665dd1fc5dbdecdd03a4860ac6a622':
  hls: Set stream offset before opening a chained demuxer

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:11:21 +02:00
Michael Niedermayer
d31c0fcfa5 Merge commit 'cdd2d73d315ecaf19ff49e64c91923275f1bda68'
* commit 'cdd2d73d315ecaf19ff49e64c91923275f1bda68':
  hls: Don't check discard flags until the parent demuxer's streams actually exist
  hls: Copy the time base from the chained demuxer

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 14:04:27 +02:00
Michael Niedermayer
07440c9380 Merge commit 'eb33ba04e03d9f36e23fffd442510c824be709c3'
* commit 'eb33ba04e03d9f36e23fffd442510c824be709c3':
  hls: Return all packets from a previous variant before moving on to the next one

Conflicts:
	libavformat/hls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:59:27 +02:00
Michael Niedermayer
f7bc03bcaf Merge commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34'
* commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34':
  lavf: Don't interpret just slightly broken timestamps as wraparound

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:14:29 +02:00
Michael Niedermayer
5fb652dddb Merge commit '2219e27b5b17d146e4ab71a3ed86dfc013fb7a93'
* commit '2219e27b5b17d146e4ab71a3ed86dfc013fb7a93':
  oma: correctly mark and decrypt partial packets

Conflicts:
	libavformat/omadec.c

See: dcd013a535
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 13:01:20 +02:00
Michael Niedermayer
9d8fb23747 Merge commit '9d0b45ade864f3d2ccd8610149fe1fff53c4e937'
* commit '9d0b45ade864f3d2ccd8610149fe1fff53c4e937':
  oma: check geob tag boundary

Conflicts:
	libavformat/omadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:41:32 +02:00
Michael Niedermayer
bc672a016f Merge commit '4f03a77e52596cbe9ec179666ddb3e0345a8133a'
* commit '4f03a77e52596cbe9ec179666ddb3e0345a8133a':
  oma: refactor seek function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:21:52 +02:00
Michael Niedermayer
6561aae8a9 Merge commit '3ca1dd2502a860989ee5289316af6b9816cee78f'
* commit '3ca1dd2502a860989ee5289316af6b9816cee78f':
  xl: Make sure the width is valid

Conflicts:
	libavcodec/xl.c

See: 94b42da696
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:09:38 +02:00
Michael Niedermayer
39a69d9dfb Merge commit '0f51c398beac87682b2249662b97e30512f7868c'
* commit '0f51c398beac87682b2249662b97e30512f7868c':
  http: Support reading gzip/deflate compressed data
  utvideoenc: use av_image_copy_plane()

Conflicts:
	libavformat/http.c
See: b09d86c636
See: 6bab3430a7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 12:00:17 +02:00
Michael Niedermayer
0c6f382e85 Merge commit '62b1e3b1031e901105d78e831120de8e4c3e0013'
* commit '62b1e3b1031e901105d78e831120de8e4c3e0013':
  aasc: Check minimum buffer size

Conflicts:
	libavcodec/aasc.c

See: e1631f8ebe
See: 8a57ca5c6a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:46:28 +02:00
Michael Niedermayer
5f312139df Merge commit '45ee556d51ef04d79d52bf6b0b7f28a4d231cb0c'
* commit '45ee556d51ef04d79d52bf6b0b7f28a4d231cb0c':
  qdm2: Whitespace cosmetics
  flac: use meaningful return values

Conflicts:
	libavcodec/flacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:34:07 +02:00
Michael Niedermayer
03853b1091 Merge commit 'f1cb490d6d7391ff7e28cc376908cc98a652228d'
* commit 'f1cb490d6d7391ff7e28cc376908cc98a652228d':
  xl: Fix the buffer size check

Conflicts:
	libavcodec/xl.c

See: 8c59e0c362
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:30:28 +02:00
Michael Niedermayer
688331c51c Merge commit 'e13a929314e4a9a09d3146648f876f162f46cc32'
* commit 'e13a929314e4a9a09d3146648f876f162f46cc32':
  xl: K&R formatting cosmetics

Conflicts:
	libavcodec/xl.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-29 11:08:02 +02:00
LYF
c110cbf6b5 hls: Create an AVProgram for each variant
Without the information, an application may choose audio from one
variant and video from another variant, which leads to fetching two
variants from the network. This enables av_find_best_stream() to find
matching audio and video streams, so that only one variant is fetched.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:09 +03:00
Michael Niedermayer
9d64f23629 hls: Respect the different stream time bases when comparing dts
Also adjust the streams timestamps according to their start
timestamp when comparing. This helps getting correctly interleaved
packets if one stream lacks timestamps (such as a plain ADTS
stream when the other variants are full mpegts) when the others
have timestamps that don't start from zero.

This probably doesn't work properly if such a stream is
temporarily disabled (via the discard flags) and then reenabled,
and such streams are hard to correctly sync against the other
streams as well - but this works better than before at least.

The segment number restriction makes sure all variants advance
roughly at the same pace as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:08 +03:00
Martin Storsjö
c11e33a3d9 hls: Set stream offset before opening a chained demuxer
This makes sure we don't accidentally check discard flags
for the wrong stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:06 +03:00
Michael Niedermayer
cdd2d73d31 hls: Don't check discard flags until the parent demuxer's streams actually exist
If passing the end of one segment while initializing the
chained demuxer, the parent demuxer's streams aren't set up
yet, so we can't recheck the discard flags.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:05 +03:00
Michael Niedermayer
82bf8c8783 hls: Copy the time base from the chained demuxer
When a variant stream isn't mpegts but e.g. raw adts, the
default time base (90k) isn't correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:03 +03:00
Martin Storsjö
eb33ba04e0 hls: Return all packets from a previous variant before moving on to the next one
This serves as a safeguard; normally we want to use the dts
comparison to interleave packets from all active variants. If that
dts comparison for some reason doesn't work as intended, make sure
that all packets in all variants for a certain sequence number have
been returned before moving on to the next one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:50:02 +03:00
Michael Niedermayer
c5b46a064d lavf: Don't interpret just slightly broken timestamps as wraparound
This avoids breaking some slightly incorrect (dts > pts) timestamps
in sample HLS streams from Apple.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-29 09:49:58 +03:00
Paul B Mahol
19da86f3ff targaenc: remove unused TargaContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:42:40 +00:00
Paul B Mahol
e999f2339a truemotion2: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:42:40 +00:00
Paul B Mahol
a5155294e5 pnm: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:27:36 +00:00
Paul B Mahol
329221eee7 pnm: fix 255 < maxval < 65535 for pam with depth 1
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-28 22:27:36 +00:00
Carl Eugen Hoyos
2c046c718a Revert "Avoid overflows when reading pgm files with maxval != 255 and != 65535."
The patch worked on little endian because pgm decoding was broken
but it was not correct in any way.

This reverts commit 7651c0e49b.
2013-07-29 00:05:43 +02:00
Paul B Mahol
768e40b451 Revert "pnm: remove nonsense code"
Breaks decoding pgms with 256 < maxval < 65535.

Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>.

This reverts commit a0348d0966.
2013-07-28 21:45:37 +00:00
Luca Barbato
2219e27b5b oma: correctly mark and decrypt partial packets
Incomplete crypted files would lead to a read after buffer boundary
otherwise.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 22:54:55 +02:00
Luca Barbato
9d0b45ade8 oma: check geob tag boundary
Prevent read after buffer boundary on corrupted tag.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 22:54:55 +02:00
Luca Barbato
4f03a77e52 oma: refactor seek function
Properly propagate seek errors from avio and the generic pcm seek.
2013-07-28 22:54:55 +02:00
James Almer
ac8e70d735 oggenc: Write stream metadata if available
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 21:10:51 +02:00
Luca Barbato
3ca1dd2502 xl: Make sure the width is valid
And undo the wrong commit f1cb490d6d

CC: libav-stable@libav.org
2013-07-28 19:36:44 +02:00
Carl Eugen Hoyos
7651c0e49b Avoid overflows when reading pgm files with maxval != 255 and != 65535.
libjpeg v6b apparently does not initialize the most significant bits
to zero when writing 12bit pgm's with maxval 4095.
2013-07-28 19:07:06 +02:00
Carl Eugen Hoyos
7e8e8ba9cc Assume gray8 if 1 < maxval <= 255 in pgm. 2013-07-28 18:12:23 +02:00
Zhang Rui
0f51c398be http: Support reading gzip/deflate compressed data
Derived from VLC's http module.
Original authors:
  Antoine Cellerier <dionoea@videolan.org>
  Sébastien Escudier <sebastien-devel@celeos.eu>
  Rémi Duraffort <ivoire@videolan.org>
  Rémi Denis-Courmont <remi@remlab.net>
  Francois Cartegnie <fcvlcdev@free.fr>

Normally, http servers shouldn't send this to us since we
don't advertise it with an Accept-Encoding header, but some
servers still do it anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-28 18:39:49 +03:00
Carl Eugen Hoyos
ae4dc0b37a Set bits_per_raw_sample when decoding mjpeg / ljpeg.
The ljpeg decoder also supports gray images with
8 - 15 bits per component.
2013-07-28 17:13:01 +02:00
Matthieu Bouron
8a09195545 lavf/movenc: improve psp check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 17:05:05 +02:00
Matthieu Bouron
ee4ef139e3 lavf/movenc: remove useless checks on AVOutputFormat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 17:05:01 +02:00
Paul B Mahol
b09d86c636 utvideoenc: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-07-28 10:57:51 -04:00
Florent Tribouilloy
2186a7e547 ffprobe: add -show_programs option
The option is used to sort the streams by program.

Signed-off-by: Florent Tribouilloy <florent.tribouilloy@smartjog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-28 16:39:06 +02:00
Stefano Sabatini
2fcd400669 ffprobe: do not treat array elements as nested in the compact writer
This fixes rendering of sections containing nested elements followed by
an array, for example as in the case:
programs->streams->stream

enabled by the -show_programs option.
2013-07-28 16:38:50 +02:00
Stefano Sabatini
18df69d238 doc/ffprobe.xsd: specify tag elements in stream after disposition element
Fix XML schema validation, since elements must appear in the same order
as specified in the schema.
2013-07-28 16:38:49 +02:00
Luca Barbato
62b1e3b103 aasc: Check minimum buffer size
Prevent some overreads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 15:41:59 +02:00
Luca Barbato
45ee556d51 qdm2: Whitespace cosmetics 2013-07-28 14:58:19 +02:00
Luca Barbato
0e78ef0f94 flac: use meaningful return values 2013-07-28 14:58:18 +02:00
Michael Niedermayer
f0308af5fa Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: cosmetics: Consistently format list and table items

Conflicts:
	doc/developer.texi
	doc/fate.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 14:21:11 +02:00
Michael Niedermayer
b0edd59994 Merge commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2'
* commit 'bf4b0ed1d5d323050a87c9f0ad1dd40860eb3da2':
  Add missing deprecation attributes

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:44:34 +02:00
Michael Niedermayer
8ff23f0e3c Merge commit '5b097399baa2e38cc513939cfab3a9b6fdbc33df'
* commit '5b097399baa2e38cc513939cfab3a9b6fdbc33df':
  eval: Explicitly ignore return value of strtod() in parse_db()

Conflicts:
	libavutil/eval.c

See: 3cd9849d9c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:37:46 +02:00
Michael Niedermayer
2655c1ac12 Merge commit '6ff15cd569e1345bc3612fb69ad3003b104fe50d'
* commit '6ff15cd569e1345bc3612fb69ad3003b104fe50d':
  Remove unreachable returns

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:23:54 +02:00
Michael Niedermayer
3afcddcff2 Merge commit 'c8f0b20b4a6bb6691928789d83e4b02896969848'
* commit 'c8f0b20b4a6bb6691928789d83e4b02896969848':
  avidec: Let the inner dv demuxer take care of discarding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:15:21 +02:00
Michael Niedermayer
d781220991 Merge commit '10aa44aa675e05067845e3e55fac37642cbbdae4'
* commit '10aa44aa675e05067845e3e55fac37642cbbdae4':
  avidec: K&R formatting cosmetics

Conflicts:
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 13:06:38 +02:00
Luca Barbato
f1cb490d6d xl: Fix the buffer size check
Also make it the first check.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-28 12:45:05 +02:00
Luca Barbato
e13a929314 xl: K&R formatting cosmetics 2013-07-28 12:45:05 +02:00
Michael Niedermayer
1ecf380223 Merge commit '37063714c0a064808f9671ec4d376955d664f463'
* commit '37063714c0a064808f9671ec4d376955d664f463':
  build: Only check FATE dependencies when running FATE tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 11:54:27 +02:00
Michael Niedermayer
102397d2c1 Merge commit '16c22122c788b5e54a2f2e224bd0106429f0714c'
* commit '16c22122c788b5e54a2f2e224bd0106429f0714c':
  h264: K&R formatting cosmetics

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 11:40:49 +02:00
Michael Niedermayer
edab63a406 Merge commit '966689442ed843019dc0722a49bfb0ac51755d19'
* commit '966689442ed843019dc0722a49bfb0ac51755d19':
  buffersink: K&R formatting cosmetics

Conflicts:
	libavfilter/buffersink.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-28 11:26:57 +02:00
Marton Balint
63c0113588 lavc: do not override format if neither text nor bitmap codec prop is set
Some decoders may output both, this way the decoder can set it.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 23:03:00 +02:00
Paul B Mahol
94ad38e2e8 dpx: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:51:14 +00:00
Paul B Mahol
6a57494204 dpxenc: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:45:48 +00:00
Paul B Mahol
9d099b9ae4 targa_y216dec: remove empty function
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:27:15 +00:00
Paul B Mahol
0909f3edbd zmbv: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:21:33 +00:00
Paul B Mahol
60a7fac61b utvideoenc: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 20:07:48 +00:00
Tim.Nicholson
84e345b38e Forward interlaced field information from mov to v210 decoder.
Reported and tested by Dave Rice.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-27 18:57:28 +02:00
Stefano Sabatini
b4bd21b7fe doc/codecs: fix dangling reference to codec-options chapter 2013-07-27 16:50:19 +02:00
Diego Biurrun
270d7e3a18 doc: cosmetics: Consistently format list and table items 2013-07-27 16:24:55 +02:00
Diego Biurrun
bf4b0ed1d5 Add missing deprecation attributes 2013-07-27 16:08:49 +02:00
Diego Biurrun
5b097399ba eval: Explicitly ignore return value of strtod() in parse_db()
The return value is not needed.  This fixes the warning:
libavutil/eval.c:353:15: warning: ignoring return value of ‘strtod’
2013-07-27 16:00:41 +02:00
Diego Biurrun
6ff15cd569 Remove unreachable returns 2013-07-27 16:00:41 +02:00
Luca Barbato
c8f0b20b4a avidec: Let the inner dv demuxer take care of discarding
CC: libav-stable@libav.org
2013-07-27 16:00:11 +02:00
Luca Barbato
10aa44aa67 avidec: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-27 16:00:11 +02:00
Diego Biurrun
37063714c0 build: Only check FATE dependencies when running FATE tests
Only check dependencies if invoking the make targets 'check'
or anything matching 'fate%' except 'fate-rsync'.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-27 16:50:21 +03:00
Michael Niedermayer
3adf054b22 avcodec/vorbisenc: change 6 asserts to av_asserts()
speed relevant ones use av_assert2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 15:23:13 +02:00
Michael Niedermayer
5e763920a4 avcodec/mpegvideo: update disabled assert() to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 15:23:13 +02:00
Paul B Mahol
88b071a473 exr: set pict_type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:19 +00:00
Paul B Mahol
d9954ccff0 targa: set pict_type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:18 +00:00
Paul B Mahol
3ea5d01a12 escape130: make "chroma_vals" static
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:18 +00:00
Paul B Mahol
6dbcecd78e lclenc: allocate FF_INPUT_BUFFER_PADDING_SIZE for extradata
Also check return value.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:02:18 +00:00
Paul B Mahol
573018c61f lclenc: cosmetics: reindent
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Paul B Mahol
86e722ab97 sgidec: safer check for buffer overflow
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Paul B Mahol
997e2b59e3 sgidec: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Paul B Mahol
5efa5103b0 sgidec: simplify return path
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-27 12:00:25 +00:00
Diego Biurrun
16c22122c7 h264: K&R formatting cosmetics 2013-07-27 10:47:38 +02:00
Diego Biurrun
966689442e buffersink: K&R formatting cosmetics 2013-07-27 10:47:38 +02:00
Michael Niedermayer
e8023dbaf0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wtv: Drop some casts that now are unnecessary

Conflicts:
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:43:29 +02:00
Michael Niedermayer
9027928522 Merge commit '86f042dcabde2a5386dbd95ab0451b274987d253'
* commit '86f042dcabde2a5386dbd95ab0451b274987d253':
  wtv: Make WTV_SECTOR_BITS a 64 bit constant

Conflicts:
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:19:58 +02:00
Michael Niedermayer
e64dc86a13 Merge commit '80ade7985cd95156e2156f50adc7b86d0e43a07a'
* commit '80ade7985cd95156e2156f50adc7b86d0e43a07a':
  AIX: add support for shared builds

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:13:07 +02:00
Michael Niedermayer
103b8d876a Merge commit 'b512360184ade835fba621f5042d643fc9e2ee9d'
* commit 'b512360184ade835fba621f5042d643fc9e2ee9d':
  avio: Don't set the seekable flag if no seek function is provided

See: 650355089c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 09:06:21 +02:00
Michael Niedermayer
5cb3d35dcc Merge commit '1297f7b87f8a84930a23eca705765c7c353dfcd5'
* commit '1297f7b87f8a84930a23eca705765c7c353dfcd5':
  rtpenc: Fix some odd comments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 08:58:26 +02:00
Michael Niedermayer
2fffc05f42 Merge commit '779e6c2b985f2ad461a1ae704160822f97709ba7'
* commit '779e6c2b985f2ad461a1ae704160822f97709ba7':
  lavfi: add attribute_align_arg to all public entry points

Conflicts:
	libavfilter/buffersink.c

See: af2a196e66
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 08:53:09 +02:00
Michael Niedermayer
8720d3ac21 avfilter/vf_scale: set in_color_matrix default to "auto" 2013-07-27 01:16:07 +02:00
Michael Niedermayer
8efe96ee6f swscale/fill_rgb2yuv_table: fix default detection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-27 01:11:37 +02:00
Michael Niedermayer
f3f4e133d6 avfilter/vf_scale: use sws_getCoefficients()
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 23:07:19 +02:00
Michael Niedermayer
205f423e28 libavcodec/mpegvideo: change some asserts to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 22:29:55 +02:00
Michael Niedermayer
c88bbc01eb avcodec/mpegvideo: replace assert about interlaced EC by debug av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 22:29:47 +02:00
Martin Storsjö
979e9e8f36 wtv: Drop some casts that now are unnecessary
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 23:05:18 +03:00
Martin Storsjö
86f042dcab wtv: Make WTV_SECTOR_BITS a 64 bit constant
This makes sure that values that are left-shifted by this constant
end up casted to 64 bit before shifting, avoiding overflow if the
value ends up larger than 2 GB.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 23:05:14 +03:00
Michael Kostylev
80ade7985c AIX: add support for shared builds
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-26 21:12:36 +02:00
Hendrik Schreiber
b512360184 avio: Don't set the seekable flag if no seek function is provided
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 21:46:18 +03:00
Martin Storsjö
1297f7b87f rtpenc: Fix some odd comments
Some weird comments stem from the fact that the rtpdec and rtpenc
code was shared earlier.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 21:43:29 +03:00
Paul B Mahol
1fa0284c57 qcelpdec: change asserts to av_asserts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 18:32:27 +00:00
Paul B Mahol
fdf9296df7 sgienc: remove unused SgiContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 18:21:44 +00:00
Paul B Mahol
be7d6710b4 lavfi/frei0r: use AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 17:16:26 +00:00
Hendrik Leppkes
779e6c2b98 lavfi: add attribute_align_arg to all public entry points
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.

Instead, add it to all public entry points to avoid these problems.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-26 19:51:04 +03:00
Paul B Mahol
7ac736afbd lavfi/frei0r: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:24:55 +00:00
Paul B Mahol
2634af575c avdevice/fbdev: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:21:25 +00:00
Paul B Mahol
0addc82880 avdevice/x11grab: use AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:21:21 +00:00
Paul B Mahol
a4b899f588 lavfi/gradfun: remove nv21/nv12 as they are not supported
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 15:07:12 +00:00
Paul B Mahol
2868035d95 pcxenc: get rid of unused PCXContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 14:00:40 +00:00
Paul B Mahol
3838637bbb yop: check return value of av_frame_alloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 13:51:26 +00:00
Paul B Mahol
9437259276 vmnc: check return values of reallocation
Also avoid memory leaks.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 13:49:36 +00:00
Paul B Mahol
cf5ab8b6f7 vmnc: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 13:39:40 +00:00
Hendrik Leppkes
af2a196e66 lavfi: add attribute_align_arg to all public entry points
Previously it was partly only added to central functions called
internally, however if GCC would inline these into the public fuction, the
alignment attribute would not take effect.

Instead, add it to all public entry points to avoid these problems.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 13:59:30 +02:00
Paul B Mahol
2a1a599bcb lavfi/buffersrc: remove unused item from BufferSourceContext
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-26 11:43:43 +00:00
Michael Niedermayer
6663205338 avformat/dtsdec: Improve probe, reject things looking like analoge signals
Fixes Ticket2810

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 11:19:43 +02:00
Michael Niedermayer
46ad2d9e44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  miscellaneous typo fixes

Conflicts:
	configure
	libavformat/avisynth.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 11:12:11 +02:00
Michael Niedermayer
5dc2c99055 Merge commit '93a51984a27f3ba84d4e6f13d0c704ee9891603e'
* commit '93a51984a27f3ba84d4e6f13d0c704ee9891603e':
  mpeg12: Ignore slice threading if hwaccel is active

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:57:51 +02:00
Michael Niedermayer
bbc7d33a0d Merge commit '582963a8156522582e55466be4a59974a8d909a5'
* commit '582963a8156522582e55466be4a59974a8d909a5':
  vdpau: Fix VC-1 interlaced mode

Conflicts:
	libavcodec/vdpau_vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:51:42 +02:00
Michael Niedermayer
af7949fdea Merge commit '4a2ef39442bf7f0150db07a1fbfcf8286e4d44a3'
* commit '4a2ef39442bf7f0150db07a1fbfcf8286e4d44a3':
  cosmetics: Add '0' to float constants ending in '.'.

Conflicts:
	libavcodec/ra288.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:43:12 +02:00
Michael Niedermayer
e28fabb4cb Merge commit '6c145ecf785dc3d26ba3fed3ea9892cc80244625'
* commit '6c145ecf785dc3d26ba3fed3ea9892cc80244625':
  twinvq: K&R formatting cosmetics

Conflicts:
	libavcodec/twinvq.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-26 10:30:47 +02:00
Michael Niedermayer
1af921196f Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Show max bitrate for mpeg2 video streams in avcodec_string().
  Allow native compilation on the iPhone.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 22:50:51 +02:00
Paul B Mahol
fd84b6fd33 lavu/opt: show default values for AV_OPT_TYPE_PIXEL_FMT and AV_OPT_TYPE_SAMPLE_FMT too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-25 20:41:39 +00:00
Reuben Martin
4a60df2d35 avformat/gxfenc: Added support for writing correct auxiliary data for DV streams.
Different aux data is written for DVCAM and DVPRO formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 22:01:12 +02:00
Diego Biurrun
03039f4c8c miscellaneous typo fixes 2013-07-25 19:43:32 +02:00
Rémi Denis-Courmont
93a51984a2 mpeg12: Ignore slice threading if hwaccel is active
Slice threading does not work with hardware acceleration, as decoding
is per-picture.  This fixes Bugzilla #542.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-25 19:43:32 +02:00
Carl Eugen Hoyos
9375879d57 Show max bitrate for mpeg2 video streams in avcodec_string().
See also 25b7aa9
2013-07-25 19:08:19 +02:00
Carl Eugen Hoyos
8ca3766f00 Allow native compilation on the iPhone. 2013-07-25 19:08:19 +02:00
Michael Niedermayer
de0a1f63df avfilter/can_merge_formats: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 16:54:04 +02:00
Michael Niedermayer
6bde1e9d14 avfilter/avfiltergraph: fix check using the wrong variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 16:53:39 +02:00
Rainer Hochecker
582963a815 vdpau: Fix VC-1 interlaced mode
VDPAU expects the bitstream value (0, 2 or 3).
libavcodec uses an enum (0, 1 or 2).

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-07-25 14:19:17 +02:00
Diego Biurrun
4a2ef39442 cosmetics: Add '0' to float constants ending in '.'. 2013-07-25 11:33:23 +02:00
Diego Biurrun
6c145ecf78 twinvq: K&R formatting cosmetics 2013-07-25 11:17:06 +02:00
Michael Niedermayer
0815b23062 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Comment out unused labels in simple_idct_arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 10:15:08 +02:00
Michael Niedermayer
5156d482cd avfilter/vf_scale: use the inputs color range when its set and its not overridden
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 02:50:46 +02:00
Michael Niedermayer
a7e45cfa11 swscale/sws_getColorspaceDetails: dont fail for non yuv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 02:50:46 +02:00
Michael Niedermayer
6db57fa8bc avcodec/mjpegdec: Support RGBA lpegs
Fixes Ticket896

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-25 00:32:44 +02:00
Michael Niedermayer
436616fd42 swscale: exchange src & dst chroma pos
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 22:43:50 +02:00
Martin Storsjö
54ba52077c arm: Comment out unused labels in simple_idct_arm
When building for iOS in thumb mode, gas-preprocessor.pl doesn't
mark unused labels as thumb functions (as it does for other
local labels, where it can figure out that they are functions
due to being referenced in branch instructions). This leads to
linker warnings for some of those local labels, such as:

ld: warning: ARM function not 4-byte aligned: __a_evaluation from
libavcodec/libavcodec.a(simple_idct_arm.o)

Therefore, comment them out since they don't have any function.
They do still have a value in documenting key points in the
assembly source though.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-24 22:43:21 +03:00
Michael Niedermayer
24a4367ae9 vf_scale: add input h/v_chr_pos parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 18:33:58 +02:00
Michael Niedermayer
e31d20255d vf_scale: add output h/v_chr_pos parameterss
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 18:27:10 +02:00
Timothy Gu
11cb697501 doc/encoders: partially rewrite and reformat libx264 docs
Format is based on the thread:
"[PATCH] doc/encoders: Add libopus encoder doc" (06-28-2013)
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/165368/

Also merge the two option sections (Mapping and Private options).

Patch partially edited by Stefano Sabatini.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-24 16:29:12 +02:00
Bernie Habermeier
c5f3cc40e3 matroskaenc: implement CueRelativePosition
This is a minimal change to matroskaenc that implements CueRelativePosition in the output.
Most players will probably ignore this additional information, but it is in the
matroska spec, and it'd be nice to be able to make use of it.

Signed-off-by: Bernt Habermeier <bernt@wulfram.com>
Tested-by:  wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 14:08:52 +02:00
Michael Niedermayer
101c7ea906 avcodec/mpeg12dec: remove commented out assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 13:00:04 +02:00
Anshul Maheshwari
a553cb4683 documented that av_codec_close is required to call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 12:49:01 +02:00
Michael Niedermayer
800637709c alsdec: minor simplification in read_block()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 12:36:52 +02:00
Michael Niedermayer
7dec8512be Merge remote-tracking branch 'qatar/master'
* qatar/master:
  8bps: Make the bound-checks consistent

Conflicts:
	libavcodec/8bps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 12:01:29 +02:00
Michael Niedermayer
da0f67b177 Merge commit 'bd7b4da0f4627bb6c4a7c2575da83fe6b261a21c'
* commit 'bd7b4da0f4627bb6c4a7c2575da83fe6b261a21c':
  8bps: Bound-check the input buffer

Conflicts:
	libavcodec/8bps.c

See: 66ff90f4a3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 11:45:54 +02:00
Michael Niedermayer
82654172ce Merge commit '2f034f255c49050e894ab9b88087c09ebe249f3f'
* commit '2f034f255c49050e894ab9b88087c09ebe249f3f':
  4xm: Reject not a multiple of 16 dimension

The newly added checks are redundant and thus replaced by asserts

See: db5b487551
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 11:31:14 +02:00
Michael Niedermayer
a550926705 Merge commit 'ca488ad480360dfafcb5766f7bfbb567a0638979'
* commit 'ca488ad480360dfafcb5766f7bfbb567a0638979':
  alsdec: Clean up error paths

Conflicts:
	libavcodec/alsdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 10:31:10 +02:00
Michael Niedermayer
865f34823c Merge commit '70ecc175c7b513a153ac87d1c5d219556ca55070'
* commit '70ecc175c7b513a153ac87d1c5d219556ca55070':
  alsdec: Fix the clipping range

Conflicts:
	libavcodec/alsdec.c

See: feaff427c0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 10:15:50 +02:00
Zhang Rui
6bab3430a7 avformat/http: support reading compressed data
Derived from VLC's http module.
Original authors:
  Antoine Cellerier <dionoea@videolan.org>
  Sébastien Escudier <sebastien-devel@celeos.eu>
  Rémi Duraffort <ivoire@videolan.org>
  Rémi Denis-Courmont <remi@remlab.net>
  Francois Cartegnie <fcvlcdev@free.fr>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 04:15:15 +02:00
Michael Niedermayer
274a50ab57 avcodec/utils: Warn the user about the lack of a lock manager if insufficient locks are detected
A lock manager is not the only possibility to avoid open/close locking
issues but its easier and more robust than maintaining a lot of lock/unlock
calls.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-24 01:11:09 +02:00
Luca Barbato
6fd221e5f8 8bps: Make the bound-checks consistent 2013-07-23 23:03:37 +02:00
Luca Barbato
bd7b4da0f4 8bps: Bound-check the input buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Luca Barbato
2f034f255c 4xm: Reject not a multiple of 16 dimension
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Luca Barbato
ca488ad480 alsdec: Clean up error paths
Fix at least a memory leak.

CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Luca Barbato
70ecc175c7 alsdec: Fix the clipping range
mcc_weightings is only 32 elements.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-23 23:03:37 +02:00
Michael Niedermayer
55db06af64 avcodec/utils: use av_assert0() to check validity of input pointers for start code search
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 21:23:09 +02:00
Michael Niedermayer
6a0b72f94f avfilter/avfiltergraph: minor cosmetic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 20:58:21 +02:00
Michael Niedermayer
fe328f0807 avfilter: Dont partially merge lists
This prevents the unneeded insertion of multiple aresample filters in some cases

The format merging is moved to avoid having to call the channel layout
merge twice. The channel layout merge code uses different structures and
is not compatible with the added dry run wrappers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 19:14:04 +02:00
Hendrik Schreiber
650355089c avformat/aviobuf/ffio_init_context: set seekable automatically
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 17:19:32 +02:00
Michael Niedermayer
7dc77613f6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Mangle external symbols properly in new vfp assembly files

See: 47d57f24e3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 10:30:54 +02:00
Michael Niedermayer
abc8110f7e avcodec: add avcodec_chroma_pos_to_enum()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 03:11:28 +02:00
Michael Niedermayer
b7397857e2 avcodec: add avcodec_enum_to_chroma_pos()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-23 03:07:30 +02:00
clook
4443213d2e avcodec/libopenjpegen: XYZ 12 bit support for libopenjpeg encoder 2013-07-23 01:02:41 +02:00
clook
b9b1a2c3e4 libswscale: Adding RGB => XYZ support 2013-07-23 01:02:41 +02:00
Michael Niedermayer
419a3d8a43 avformat/hls: avoid floating point arithmetic
Should make things more reproducable across platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 19:36:33 +02:00
Zhang Rui
2a5891bb9d avformat/hls: parse EXTINF duration as floating-point number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 19:34:47 +02:00
Martin Storsjö
69e6702c01 arm: Mangle external symbols properly in new vfp assembly files
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 14:48:30 +03:00
Martin Storsjö
47d57f24e3 arm: Mangle external symbols properly in new vfp assembly files
Reviewed-by: Kostya Shishkov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 13:16:21 +02:00
Michael Niedermayer
23f250d2bc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Add VFP-accelerated version of qmf_32_subbands

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:11:23 +02:00
Michael Niedermayer
366e415836 Merge commit '800ffab48a7844dd5dc0a33b8f6b8e5ed718cf2e'
* commit '800ffab48a7844dd5dc0a33b8f6b8e5ed718cf2e':
  dcadsp: Add a new method, qmf_32_subbands

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:10:59 +02:00
Michael Niedermayer
c30eb74d18 Merge commit '8b9eba664edaddf9a304d3acbf0388b5c520781d'
* commit '8b9eba664edaddf9a304d3acbf0388b5c520781d':
  arm: Add VFP-accelerated version of fft16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:05:39 +02:00
Michael Niedermayer
bacba8e5d1 Merge commit 'ba6836c966debc56314ce2ef133c7f0c1fdfdeac'
* commit 'ba6836c966debc56314ce2ef133c7f0c1fdfdeac':
  arm: Add VFP-accelerated version of dca_lfe_fir

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 12:04:28 +02:00
Michael Niedermayer
2305a6775d Merge commit 'b63bb251ea6d6ba23295294e37a92625c0192206'
* commit 'b63bb251ea6d6ba23295294e37a92625c0192206':
  arm: Add VFP-accelerated version of imdct_half

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:57:05 +02:00
Michael Niedermayer
3cab228005 Merge commit 'd6e4f5fef0d811e180fd7541941e07dca9e11dc0'
* commit 'd6e4f5fef0d811e180fd7541941e07dca9e11dc0':
  arm: Add VFP-accelerated version of int32_to_float_fmul_array8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:55:40 +02:00
Michael Niedermayer
1573274b91 Merge commit '26ffcc7de1d98f77400a2ebe4e75055515c54587'
* commit '26ffcc7de1d98f77400a2ebe4e75055515c54587':
  dcadec: Use int32_to_float_fmul_array8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:48:43 +02:00
Michael Niedermayer
0d3400ec53 Merge commit '31c6f6f65c0ed5a894e26ce44ab0c3e89c82b9a2'
* commit '31c6f6f65c0ed5a894e26ce44ab0c3e89c82b9a2':
  fmtconvert: Add a new method, int32_to_float_fmul_array8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:48:06 +02:00
Michael Niedermayer
877bbe05ce Merge commit 'ce9ed10ac27b9cf32a6257e083ea2f052692d971'
* commit 'ce9ed10ac27b9cf32a6257e083ea2f052692d971':
  arm: Add VFP-accelerated version of int32_to_float_fmul_scalar

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:42:19 +02:00
Michael Niedermayer
0129026c4e Merge commit '41ef1d360bac65032aa32f6b43ae137666507ae5'
* commit '41ef1d360bac65032aa32f6b43ae137666507ae5':
  arm: Add VFP-accelerated version of synth_filter_float

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 11:41:37 +02:00
Michael Niedermayer
9d4dece6b6 Merge commit '8000206abcc82491c2a8c71e494c5477ede7264c'
* commit '8000206abcc82491c2a8c71e494c5477ede7264c':
  libspeexdec: fix detection of final terminator code

See: f3c9d66baf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 10:56:33 +02:00
Michael Niedermayer
2ca6a13b52 Merge commit '7ef760d95c73dfee021b8fdee04f65126eb7edd1'
* commit '7ef760d95c73dfee021b8fdee04f65126eb7edd1':
  configure: generate full msvc debug symbols when linking in debug mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 10:34:48 +02:00
Michael Niedermayer
b909428dab Merge commit '4719040cd1b54381796b22056a9ae37bd2b4668d'
* commit '4719040cd1b54381796b22056a9ae37bd2b4668d':
  libx264: Define X264_API_IMPORTS on MSVC/ICL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 10:23:46 +02:00
Ben Avison
ff30d12159 arm: Add VFP-accelerated version of qmf_32_subbands
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1323.0  98.0      746.2  60.6   +77.3%
Overall        15400.0 336.4    14147.5 288.4    +8.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:44 +03:00
Ben Avison
800ffab48a dcadsp: Add a new method, qmf_32_subbands
This does most of the work formerly carried out by
the static function qmf_32_subbands() in dcadec.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:42 +03:00
Martin Storsjö
8b9eba664e arm: Add VFP-accelerated version of fft16
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1389.3  4.2       967.8  35.1   +43.6%
Overall        15577.5 83.2     15400.0 336.4    +1.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:41 +03:00
Martin Storsjö
ba6836c966 arm: Add VFP-accelerated version of dca_lfe_fir
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function    868.2  33.5      436.0  27.0   +99.1%
Overall        15973.0 223.2    15577.5  83.2    +2.5%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:39 +03:00
Martin Storsjö
b63bb251ea arm: Add VFP-accelerated version of imdct_half
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   2653.0  28.5     1108.8  51.4   +139.3%
Overall        17049.5 408.2    15973.0 223.2     +6.7%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:37 +03:00
Ben Avison
d6e4f5fef0 arm: Add VFP-accelerated version of int32_to_float_fmul_array8
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function    366.2  18.3      277.8  13.7   +31.9%
Overall        18420.5 489.1    17049.5 408.2    +8.0%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:36 +03:00
Ben Avison
26ffcc7de1 dcadec: Use int32_to_float_fmul_array8
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:35 +03:00
Ben Avison
31c6f6f65c fmtconvert: Add a new method, int32_to_float_fmul_array8
This is similar to int32_to_float_fmul_scalar, but
loads a new scalar multiplier every 8 input samples.
This enables the use of much larger input arrays, which
is important for pipelining on some CPUs (such as
ARMv6).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:33 +03:00
Ben Avison
ce9ed10ac2 arm: Add VFP-accelerated version of int32_to_float_fmul_scalar
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   1175.0   4.4      366.2  18.3   +220.8%
Overall        19285.5 292.0    18420.5 489.1     +4.7%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:30 +03:00
Ben Avison
41ef1d360b arm: Add VFP-accelerated version of synth_filter_float
Before           After
               Mean    StdDev   Mean    StdDev  Change
This function   9295.0 114.9     4853.2 83.5    +91.5%
Overall        23699.8 397.6    19285.5 292.0   +22.9%

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-22 10:15:17 +03:00
Michael Niedermayer
5feaa451bb doc: add "rematrix_maxval"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:37:55 +02:00
Michael Niedermayer
7ac12599fe swresample: fix negative rematrix volumns
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:24:22 +02:00
Michael Niedermayer
e2b718464e swresample: Make rematrix maxvalue user settable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 03:23:54 +02:00
Michael Niedermayer
5169111145 avfilter/REDUCE_FORMATS: fix bug that ended reducing too early
Prior to this it was possible that format reduction was ended
before it fully propagated leading to failure later in picking
formats.
No testcase with unmodified source exists, the case was reproduced
with less aggressive list merging though.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 02:48:13 +02:00
Michael Niedermayer
682e8a694f avcodec/h264_sei: Try to make code more robust by jumping to the specified SEI ends
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 02:48:13 +02:00
Justin Ruggles
8000206abc libspeexdec: fix detection of final terminator code 2013-07-21 16:36:31 -04:00
Stefano Sabatini
f9f7f4c9bb ffplay: improve error message in case of failure, mention filtergraph configuration 2013-07-21 19:20:46 +02:00
Hendrik Leppkes
7ef760d95c configure: generate full msvc debug symbols when linking in debug mode
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-21 19:59:15 +03:00
Michael Niedermayer
9042c8a4db Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: fix build with disabled avfilter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 18:03:27 +02:00
Michael Niedermayer
118a1c2f4c avcodec/ff_h264_decode_sei: use skip_bits_long()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
45da7a0e8f avcodec/ff_h264_decode_sei: Check SEI size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
80c873a87e avcodec/ff_h264_decode_sei: fix integer overflow with size.
This issue is hypothetical and no testcase is available.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
800ffa1fc0 avcodec/h264_sei/ff_h264_decode_sei: fix error codes for insufficient data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
37ecd67b5e Revert "avformat/utils: Close codec context since it is allocated by avformat_new_stream in refrence to ticket 2716"
This causes a race condition with VLC. Its plausible that other
applications also would have races with it and its just fixing a memleak when
the user application forgets to free the codec. It causes more
problems than it solves in its current form, thus the revert.
Better solutions are welcome

This reverts commit 0f229f9b91.
2013-07-21 17:57:15 +02:00
Joakim Plate
8710a634a5 h264: add frame packing as stereo_mode frame metadata
This matches the matroska defintion of stereo_mode, with
no metadata written if no info exist in sei

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 16:04:02 +02:00
Anshul Maheshwari
0f229f9b91 avformat/utils: Close codec context since it is allocated by avformat_new_stream in refrence to ticket 2716
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 15:52:50 +02:00
Derek Buitenhuis
4719040cd1 libx264: Define X264_API_IMPORTS on MSVC/ICL
libx264 has a few data exports which require X264_API_IMPORTS
to be defined if we link to libx264 dynamically on Windows.

In a similar fashion to how we handle our compat snprintf
implementation, if we define it all the time, the compiler
will first try and link to __imp_x264_symbol_name, and failing
that, as in the case of a static libx264, will attempt to link
to the non-prefixed symbol, which has already been pulled in by
other x264 functions' object files.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-07-21 08:56:25 -04:00
Michael Niedermayer
db0384c9c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsicinav: Clip the source size to the expected maximum

Clipping the compressed size based on the uncompressed size is not correct
thus this commit is not merged, and the merge is for git metadata only

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 12:58:26 +02:00
Marton Balint
b198e33ad8 ffplay: fix build with disabled avfilter
Got broken in b383498e.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-21 12:00:22 +02:00
Michael Niedermayer
0a28a52d53 Merge commit 'dd0bfc3a6a310e3e3674ce7742672d689a9a0e93'
* commit 'dd0bfc3a6a310e3e3674ce7742672d689a9a0e93':
  dsicinav: Bound-check the source buffer when needed

Conflicts:
	libavcodec/dsicinav.c

See: 47f0beadba
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 11:59:16 +02:00
Michael Niedermayer
75fbe41fc6 Merge commit 'fcae3ff124ee97c9265e3b93f3d41238b2aee9bd'
* commit 'fcae3ff124ee97c9265e3b93f3d41238b2aee9bd':
  dsicinav: K&R formatting cosmetics

Conflicts:
	libavcodec/dsicinav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 11:45:48 +02:00
Michael Niedermayer
1f7acf3cff vfilter/vf_scale: avoid using "{}"
Should fix compile issues with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:47:09 +02:00
Michael Niedermayer
953c7550f8 avcodec/snowenc: convert speed relevant asserts to av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:40:12 +02:00
Michael Niedermayer
7b79c84b40 avcodec/snowdec: remove assert.h include, its unused
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:36:32 +02:00
Michael Niedermayer
1434df3b93 jpeg2000dec: Support non subsampled 9-16bit planar pixel formats
This applies changes similar to fc6de70c44
to the >8bit codepath

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:16:53 +02:00
Michael Niedermayer
0c480bcfd9 doc/filters: document vf_scales color range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 23:24:13 +02:00
Michael Niedermayer
3242747df3 avfilter/vf_scale; fix indent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 22:20:25 +02:00
Michael Niedermayer
835eee88ec avfilter/vf_scale: add in/out color range option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 22:13:23 +02:00
Michael Niedermayer
bbf6cb754c avfilter/vf_scale: Add in/out yuv color matrix option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 22:11:50 +02:00
Nicolas George
c25d1ba556 lavu/log: print prefix after \r.
Should fix trac ticket #2797 because of the progress line.
2013-07-20 11:06:19 +02:00
Michael Niedermayer
b67401797e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: filtfmts: use newer avfilter APIs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 10:50:51 +02:00
Michael Niedermayer
4835332537 Merge commit '36fb0d02a1faa11eaee51de01fb4061ad6092af9'
* commit '36fb0d02a1faa11eaee51de01fb4061ad6092af9':
  rtsp: Support multicast source filters (RFC 4570)
  rtpproto: Check the source IP if one single source has been specified
  rtpproto: Support IGMPv3 source specific multicast inclusion

Conflicts:
	libavformat/rtpproto.c
	libavformat/rtsp.c
	libavformat/rtsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 10:39:53 +02:00
Marton Balint
73b2043d72 ffplay: use start_time as next audio pts on flush when seeking is not supported
Theoretically using start_time should also work if seeking is available and we
could determine that the next packet after a flush packet is the first packet
of a stream, but I could not think of an easy and clean way to do that, that is
why I sticked to the no seeking available condition for now.

Fixes ticket #2647.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-20 02:32:43 +02:00
Marton Balint
b383498ea8 ffplay: estimate audio frame pts from the previous frame pts values
Previously we estimated the audio packet pts instead of the frame pts,
therefore it only worked within a single packet (containing multiple frames).

The new method works accross seperate audio packets as well and also handles
better the case if a decoder buffers several packets before outputting a
decoded frame.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-20 02:32:43 +02:00
Marton Balint
782e06e292 ffplay: simplify audio decoding
Also use negative stream_index for signaling obsolete audio packets. Using the
size alone is not enough, because size is 0 for null packets as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-20 02:32:43 +02:00
Michael Niedermayer
74561680cd avfilter/vf_separatefields: fix ;;
Found-by: llogan
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-20 00:44:09 +02:00
Michael Niedermayer
07704c61dd avformat/matroskaenc: Only change chapter ids if needed.
This also fixes the case where negative chapter ids where input
And fixes the case where remuxing from mkv changed chapter ids

Found-by: Luca Barbato
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 23:32:04 +02:00
Luca Barbato
fd81899321 dsicinav: Clip the source size to the expected maximum
A packet larger than cin->bitmap_size does not make sense.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-19 22:14:07 +02:00
Luca Barbato
dd0bfc3a6a dsicinav: Bound-check the source buffer when needed
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-19 22:14:07 +02:00
Luca Barbato
fcae3ff124 dsicinav: K&R formatting cosmetics 2013-07-19 22:14:07 +02:00
wm4
122536e01a avfilter: fix preprocessor condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 22:10:16 +02:00
Lukasz Marek
a289f418e4 doc/filters: add sepia example for colorchannelmixer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-19 19:36:37 +00:00
Michael Niedermayer
56123fc721 avutil/softfloat: remove unneeded include assert.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:56:33 +02:00
Michael Niedermayer
ca857c86bd tests/tiny_psnr: remove unneeded include assert.h
This is the only such occurance on tests/

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:55:49 +02:00
Michael Niedermayer
8589d7a61c avfilter/vf_yadif:remove unneeded include assert.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:53:57 +02:00
Michael Niedermayer
6d323ff57a swscale: remove unneeded include assert.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 18:52:41 +02:00
Michael Niedermayer
db33010483 jpeg2000dec: silence unused variable warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 17:54:57 +02:00
Piotr Bandurski
5f39992ed9 bmp: fix decoding of flipped rle4
Fixes ticket #2794

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 17:42:34 +02:00
Michael Niedermayer
a4b55bbb6f swscale/input: fix 16bit gbrp input
Fixes Ticket2793

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 12:49:27 +02:00
wm4
72f5a6d067 examples: demuxing: print ffplay command even if sample format is planar
Adjust the code so that a working ffplay command is printed in the
planar audio case.
2013-07-19 12:14:54 +02:00
wm4
9f31c1608c examples: demuxing: simplify audio output
There is no reason why this should copy the audio data in a very
complicated way. Also, strictly write the first plane, instead of
writing the whole buffer. This is more helpful in context of the
example. This way a user can clearly confirm that it works by playing
the written data as raw audio.
2013-07-19 12:14:46 +02:00
wm4
06b269dacb examples: demuxing: do partial audio packet decoding
This assumes one audio packet is decoded one time. This is not true:
packets can be partially decoded. Then you have to "adjust" the packet
and pass the undecoded part of the packet to the decode function again.
2013-07-19 12:14:23 +02:00
Vittorio Giovara
6756d98cec lavfi: filtfmts: use newer avfilter APIs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:22:30 +03:00
Michael Niedermayer
25ffaf5277 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  compat: Add missing license boilerplates

Conflicts:
	compat/tms470/math.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 11:08:38 +02:00
Ed Torbett
36fb0d02a1 rtsp: Support multicast source filters (RFC 4570)
This supports inclusion of one single IP address for now,
at the media level. Specifying the filter at the session level
(instead of at the media level), multiple source addresses,
exclusion, or using FQDNs instead of plain IP addresses is not
supported (yet at least).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:02:13 +03:00
Martin Storsjö
4d97ca040b rtpproto: Check the source IP if one single source has been specified
If another peer is sending unicast packets to the same port that
we are listening on, those packets can end up being received despite
using source specific multicast. For those cases, manually check the
source address of received packets against the intended source address.

This only handles the case when the source list is one single IP
address for now, which probably is the most common case.

Based on a patch by Ed Torbett.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:02:09 +03:00
Ed Torbett
336353deaa rtpproto: Support IGMPv3 source specific multicast inclusion
Blocking/exclusion is not supported yet.

The rtp protocol parameter takes the same form as the existing
sources parameter for the udp protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-19 12:00:49 +03:00
Michael Niedermayer
c88503e3f6 Merge commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da'
* commit '439902e0d68a0f0d800c21b5e6b598d5fa0c51da':
  Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/

Conflicts:
	compat/aix/math.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 10:56:10 +02:00
Michael Niedermayer
8740762c43 Merge commit 'd010e95f86089abe9a3d4d4a66ac8102312d28a4'
* commit 'd010e95f86089abe9a3d4d4a66ac8102312d28a4':
  avserver: Remove unused loadable module support

Conflicts:
	configure
	ffserver.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 10:26:07 +02:00
Ramiro Polla
454c89dde3 img2enc: add option to use strftime() for filename
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 01:45:37 +02:00
Michael Niedermayer
fc6de70c44 jpeg2000dec: Support non subsampled 8bit planar pixel formats
Fixes file2.jp2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 21:50:32 +02:00
Michael Niedermayer
99de97cabf jpeg2000dec: parse CDEF
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Conflicts:

	libavcodec/jpeg2000dec.c

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 21:43:42 +02:00
Diego Biurrun
910042072a compat: Add missing license boilerplates 2013-07-18 18:12:38 +02:00
Diego Biurrun
439902e0d6 Employ consistent LIBAV_COMPAT_ multiple inclusion guards in compat/
Also fix a comment and an #endif comment.
2013-07-18 18:12:38 +02:00
Michael Niedermayer
ed8c34a766 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix pix_fmt detection in the native jpeg2000 decoder.
  lavf/concat: Never fail for sample aspect ratio 0:1.
  lut3d: Fix reading 3dl files with leading comments.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 18:10:45 +02:00
Ed Torbett
7203dbde39 avformat/rt*p: Joining a SSM multicast group using an SDP (Issue #2171)
Passes Source-Specific Multicast parameters read from an sdp file through to the UDP socket code,
allowing source-specific multicast streams to be correctly received. As an integral part of this
change, additional checking (currently only enabled in the case of SSM streams, but probably
useful in similar scenarios) has been added to the RTP protocol handler to distinguish UDP packets
arriving from multiple sources to the same port and process only the expected packets
(those transmitted from the expected UDP source address). This resolves an issue identified
when multiple instances of FFmpeg subscribe to different Source-Specific Multicast streams
but with each sharing the same destination port.

Signed-off-by: Edward Torbett <ed.torbett@simulation-systems.co.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 18:01:31 +02:00
Martin Storsjö
d010e95f86 avserver: Remove unused loadable module support
There is no record of this ever being used at all, anywhere,
since the feature was added in 2effd27446.

This gets rid of extra linker tricks just to support a feature
that isn't used, simplifying portability to other platforms.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-18 17:25:49 +03:00
Carl Eugen Hoyos
b39a6bbe7f Fix pix_fmt detection in the native jpeg2000 decoder.
Based on b7a928b by Michael Bradshaw.
Fixes ticket #2683.

Reviewed-by: Nicolas Bertrand
2013-07-18 13:51:24 +02:00
Carl Eugen Hoyos
36b21e17a2 lavf/concat: Never fail for sample aspect ratio 0:1.
Fixes ticket #2456.

Reviewed-by: Nicolas George
2013-07-18 13:51:23 +02:00
Carl Eugen Hoyos
42272e86fe lut3d: Fix reading 3dl files with leading comments.
Fixes ticket #2787.
2013-07-18 13:51:23 +02:00
Nicolas George
ebaf20e94b lavfi/scale: allocate interlaced scalers only if needed.
Fix "Value 0.000000 for parameter 'srch' out of range"
error message when source or destination height is 1.

Note: since the av_opt_set_int() calls are not checked for
failure and the interlaced scalers are not actually used,
this error has no consequence apart from a frightening message
in the log.
2013-07-18 12:08:25 +02:00
James Almer
630fc7dcfc vorbiscomment: Add DESCRIPTION to ff_vorbiscomment_metadata_conv
It's the official (or recommended) name for comment/description entries.
See https://www.xiph.org/vorbis/doc/v-comment.html

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 12:03:21 +02:00
James Almer
562fb9c540 lavf/riff: Add ITRK tag
Some players, like foobar2000 or modern versions of WMP, create WAV
files using the ITRK tag for track instead of IPRT

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 10:55:23 +02:00
Michael Niedermayer
9d01bf7d66 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Consistently use "cpu_flags" as variable/parameter name for CPU flags

Conflicts:
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/h264dsp_init.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/motion_est.c
	libavcodec/x86/mpegvideo.c
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 09:53:47 +02:00
Michael Niedermayer
1816f5509e Merge https://github.com/lukaszmluki/ffmpeg
* https://github.com/lukaszmluki/ffmpeg:
  ftp: warning about pure-ftp server used as and output
  ftp: comments
  ftp: remove unused headers
  ftp: fix interrupt callback misuse

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 01:40:49 +02:00
Michael Niedermayer
37ded53037 vf_scale: use sws_init_context()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 01:21:27 +02:00
Fabian Neundorf
353f302250 lavf/matroskaenc: using valid chapter ids
Fixes ticket 2790, by starting the ChapterUIDs in mkv files with 1 instead of a 0.
 

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 01:02:31 +02:00
Diego Biurrun
3ac7fa81b2 Consistently use "cpu_flags" as variable/parameter name for CPU flags 2013-07-18 00:31:35 +02:00
Michael Niedermayer
a0b7e73f8b swscale/options: fix copy and paste typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 16:59:29 +02:00
Lukasz Marek
816c579cf3 ftp: warning about pure-ftp server used as and output 2013-07-17 14:42:20 +02:00
Lukasz Marek
2217243e12 ftp: comments 2013-07-17 14:42:20 +02:00
Lukasz Marek
db72b7742a ftp: remove unused headers 2013-07-17 14:42:20 +02:00
Lukasz Marek
247e658784 ftp: fix interrupt callback misuse
FTP protocol used interrupt callback to simulate nonblock
operation which is a misuse of this callback.

This commit make FTP protocol fully blocking and removes
invalid usage of interrutp callback

Also adds support for multiline responses delimited with dashes
2013-07-17 14:42:20 +02:00
Vignesh Venkatasubramanian
33968c201c Fixing a stride issue in VP8 Alpha encode
When encoding alpha channel in libvpx, the stride isn't set
properly for the alpha encoder. Fixing it.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 13:38:26 +02:00
Michael Niedermayer
066111bf19 matroskaenc: simplify mkv_check_tag()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 13:30:36 +02:00
James Almer
088ed53146 lavf/matroskaenc: Check for valid metadata before creating tags
Tags must have at least one SimpleTag element to be spec conformant.
Updated lavf-mkv and seek-lavf-mkv FATE references as the tests were affected by
this.

Fixes ticket #2785

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 12:18:27 +02:00
Michael Niedermayer
b4fe41c981 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fmtconvert: Explicitly use int32_t instead of int

Conflicts:
	libavcodec/ac3dec.c
	libavcodec/fmtconvert.c
	libavcodec/fmtconvert.h

See: f49564c607
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 10:48:56 +02:00
Michael Niedermayer
10336ca640 Merge commit '50612484e058e8b241f0528584d64d9d2ccebf12'
* commit '50612484e058e8b241f0528584d64d9d2ccebf12':
  pthread: Rename thread_init to avoid symbol collision

Conflicts:
	libavcodec/pthread.c
	libavfilter/pthread.c

See: 674d8a9629
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 10:40:15 +02:00
Christophe Gisquet
b6293e2798 fmtconvert: Explicitly use int32_t instead of int
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-17 11:02:47 +03:00
Stefano Sabatini
9836f47cf8 doc/filters: update/correct mp documentation 2013-07-17 09:34:05 +02:00
Stefano Sabatini
34322ab27a doc/bitstream_filters: document dump_extra 2013-07-17 09:31:02 +02:00
Michael Niedermayer
b405f4e916 swscale: Add support to specify chroma position
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 01:59:10 +02:00
Stefano Sabatini
53c853e049 lavc/h264_mp4toannexb: improve feedback in case of invalid bitstream 2013-07-17 01:17:32 +02:00
Michael Niedermayer
a80e622924 avcodec/avutil: Add AVColorSpace and AVColorRange to AVFrames
This also moves AVColorSpace and AVColorRange from avcodec to avutil

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-17 01:15:31 +02:00
Stefano Sabatini
0092bcdf06 lavc/avcodec.h: fix various typos in av_bitstream_filter_filter() docs 2013-07-17 00:51:43 +02:00
Sean McGovern
50612484e0 pthread: Rename thread_init to avoid symbol collision
The AIX threads library exposes a function with the same name.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-17 00:13:31 +03:00
Paul B Mahol
5ceffb1bf6 matroskaenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-16 19:25:13 +00:00
Alexis Ballier
8d9c1b325e mastroka audio muxer: Set long_name to Matroska Audio so that it differs from the long_name of matroska video.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 02:53:38 +02:00
Michael Niedermayer
37f4aa133d swscale: move default colorspace setup to sws_init_filter()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 02:44:25 +02:00
Michael Niedermayer
4f1d3e0212 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: Make sure avg_frame_rate can be calculated without integer overflow

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 00:55:07 +02:00
Michael Niedermayer
13eed267f8 Merge commit '31931520df35a6f9606fe8293c8a39e2d1fabedf'
* commit '31931520df35a6f9606fe8293c8a39e2d1fabedf':
  mov: Do not allow updating the time scale after it has been set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 00:12:24 +02:00
Michael Niedermayer
38b701a349 Merge commit '5b4eb243bce10a3e8345401a353749e0414c54ca'
* commit '5b4eb243bce10a3e8345401a353749e0414c54ca':
  mov: Seek back if overreading an individual atom

Conflicts:
	libavformat/mov.c
See: 6093960ae3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-16 00:02:39 +02:00
Michael Niedermayer
0b95f01140 Merge commit '8f24c12be7a3b3ea105e67bba9a867fe210a2333'
* commit '8f24c12be7a3b3ea105e67bba9a867fe210a2333':
  ac3dec: Don't consume more data than the actual input packet size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 23:42:58 +02:00
Martin Storsjö
e740929a07 lavf: Make sure avg_frame_rate can be calculated without integer overflow
If either of the deltas is too large for the multiplications to
succeed, don't use this for setting the avg frame rate.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:39:24 +03:00
Martin Storsjö
31931520df mov: Do not allow updating the time scale after it has been set
The time scale is set in mdhd, and later validated in the
enclosing trak atom once all of its children have been parsed.

A loose mdhd atom outside of a trak atom could update the time
scale of the last stream without any validation.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:38:58 +03:00
Martin Storsjö
5b4eb243bc mov: Seek back if overreading an individual atom
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:37:44 +03:00
Martin Storsjö
8f24c12be7 ac3dec: Don't consume more data than the actual input packet size
This was handled properly in the normal return case at the end
of the function, but not in this special case.

Returning a value larger than the input packet size can cause
problems for certain library users.

Returning the actual input buffer size unconditionally, since
it is not guaranteed that frame_size is set to a sensible
value at this point.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-15 21:37:21 +03:00
Paul B Mahol
95126728a5 mxfenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-15 17:51:12 +00:00
Alexis Ballier
69383d055e ra144enc: set supported channel layouts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 18:04:33 +02:00
Paul B Mahol
5999db97cf lavfi/scale: remove av_opt_free()
Generic code calls it already.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-15 15:27:19 +00:00
Michael Niedermayer
6158a3bcdf avformat/matroskadec: Detect conflicting sample rate/default_duration
Fixes Ticket2508

Thanks-to: Moritz Bunkus
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 17:13:45 +02:00
Michael Niedermayer
3ea765b033 avfilter/avf_concat: fix AVOption flags typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 14:15:15 +02:00
Michael Niedermayer
fcbf16a76f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo: Reject impossible FRAMETYPE_NULL

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 14:08:06 +02:00
Michael Niedermayer
c4b904caea Merge commit 'f9e5261cab067be7278f73d515bc9b601eb56202'
* commit 'f9e5261cab067be7278f73d515bc9b601eb56202':
  indeo: Do not reference mismatched tiles

Conflicts:
	libavcodec/ivi_common.c

See: dab70c62d2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:58:38 +02:00
Michael Niedermayer
8e4ecd8774 Merge commit '28dda8a691f1c723a4a9365ab85f9625f1330096'
* commit '28dda8a691f1c723a4a9365ab85f9625f1330096':
  indeo: Sanitize ff_ivi_init_planes fail paths

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:45:36 +02:00
Michael Niedermayer
e3b13c1081 Merge commit 'b0eeb9d442e4b7e82f6797d74245434ea33110a5'
* commit 'b0eeb9d442e4b7e82f6797d74245434ea33110a5':
  indeo5: return proper error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:18:29 +02:00
Michael Niedermayer
1cd74a9b4d Merge commit '25a6666f6c07c6ac8449a63d7fbce0dfd29c54cd'
* commit '25a6666f6c07c6ac8449a63d7fbce0dfd29c54cd':
  indeo: Bound-check before applying motion compensation

The added checks and one previously added check are replaced by asserts,
the conditions can only be
true when vectors are invalid or there are worse inconsistencies.
We are checking the vectors validity and there should be no
inconsistencies, thus the checks should not be needed.
Also no files are known to cause any anomalies in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 13:13:52 +02:00
Michael Niedermayer
2fe5e3e970 Merge commit '1dd1b2332ebbac710d8e0214cec7595e118f2105'
* commit '1dd1b2332ebbac710d8e0214cec7595e118f2105':
  rtsp: Include an User-Agent header field in all requests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 12:38:24 +02:00
Stefano Sabatini
4aa2874ab1 lavc/avcodec.h: extend documentation for AVPicture API 2013-07-15 12:24:47 +02:00
Luca Barbato
5b2a29552c indeo: Reject impossible FRAMETYPE_NULL
A frame marked FRAMETYPE_NULL cannot be scalable and requires a
previous frame successfully decoded.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:46:50 +02:00
Luca Barbato
f9e5261cab indeo: Do not reference mismatched tiles
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:46:30 +02:00
Luca Barbato
28dda8a691 indeo: Sanitize ff_ivi_init_planes fail paths
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:29:59 +02:00
Luca Barbato
b0eeb9d442 indeo5: return proper error codes 2013-07-15 11:29:59 +02:00
Luca Barbato
25a6666f6c indeo: Bound-check before applying motion compensation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-15 11:29:59 +02:00
Michael Niedermayer
5fe5f020b6 MAINTAINERS: drop 1.1 from the releases that i maintain
There seems to be no need to continue maintaining it, people can easily
upgrade to 1.2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-15 02:30:36 +02:00
Paul B Mahol
85a22099a7 lavfi/stereo3d: subsampled yuv support for non-anaglyph outputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 21:57:03 +00:00
James Almer
04b9836274 oggparsevorbis: Support official chapter extension
Fixes ticket #1833

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 22:15:55 +02:00
Michael Niedermayer
17b98c1abd fate: fix stereo3d
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 22:10:38 +02:00
Paul B Mahol
d5598c0963 lavfi/drawutils: set subsampling for rgb too
Otherwise it is incorrectly set to 1.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 17:59:25 +00:00
Martin Storsjö
1dd1b2332e rtsp: Include an User-Agent header field in all requests
Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it.

Based on a patch by Carl Eugen Hoyos.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-14 20:53:04 +03:00
Paul B Mahol
ed448efe61 lavfi/mp: remove mp=perspective
The filter was ported to a native libavfilter filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 16:27:18 +00:00
Paul B Mahol
80c6445932 lavfi: port perspective filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-14 16:27:17 +00:00
Stefano Sabatini
ab5f581625 doc/bitstream_filters: amend name of some bitstream filters 2013-07-14 16:06:36 +02:00
Michael Niedermayer
febbddbdd5 indeo4: print an error message if ref_mb is needed but unavailable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 15:18:03 +02:00
Michael Niedermayer
76d0a6656b indeo: print errors if transform and block size mismatch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 14:20:42 +02:00
Michael Niedermayer
a8e5fac1fb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo: Bound-check before applying transform

Conflicts:
	libavcodec/indeo4.c
	libavcodec/indeo5.c
	libavcodec/ivi_common.c

See: af38823709, 0846719dd1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 13:37:40 +02:00
Michael Niedermayer
ccb422a697 Merge commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6'
* commit 'cd78e934c246d1b2510f8fba0abfe40bb75795f6':
  indeo4: Validate scantable dimension

See: 92f7f1db42
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 13:08:13 +02:00
Michael Niedermayer
8c0bb19522 Merge commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489'
* commit '6255ccf7d51c82ab79bf0cd47a921f572dda4489':
  indeo4: Check the quantization matrix index

Conflicts:
	libavcodec/indeo4.c

See: 8a20774a24

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:43:45 +02:00
Michael Niedermayer
5462361937 Merge commit '8435bca087c0e79385763c51de009fd89390b6a5'
* commit '8435bca087c0e79385763c51de009fd89390b6a5':
  indeo4: Do not access missing reference MV

Conflicts:
	libavcodec/indeo4.c

See: 5216245a, aae44fb4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:38:54 +02:00
Michael Niedermayer
ac20ba35e3 Merge commit '031be5b41b54c3b666f31d83fe3ad41c194af8c5'
* commit '031be5b41b54c3b666f31d83fe3ad41c194af8c5':
  ac3dec: Consistently use AC3_BLOCK_SIZE and sizeof

Conflicts:
	libavcodec/ac3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:10:38 +02:00
Michael Niedermayer
198e10b55c Merge commit '68e57cde68f3da4c557ca15491fda74d1ea6321e'
* commit '68e57cde68f3da4c557ca15491fda74d1ea6321e':
  ac3dec: Increment channel pointers only once per channel

Conflicts:
	libavcodec/ac3dec.c

See: 7aabeea9ba

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 12:08:38 +02:00
Michael Niedermayer
b24e8f566d Merge commit '886e1b36f5044d3ceccbb01f64619acaf288fb7c'
* commit '886e1b36f5044d3ceccbb01f64619acaf288fb7c':
  jpeg2000: Remove unused passes array in Jpeg200Cblk structure

The array is left as its used by our encoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 11:44:23 +02:00
Michael Niedermayer
c75dde6074 swscale: call handle_format() from the functions that need it
This should fix some hypothetical issues with alloc/init_context() usage

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 03:36:19 +02:00
Michael Niedermayer
0fc11e7bad swscale: make handle_formats() safe to be called multiple times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 03:36:19 +02:00
Michael Niedermayer
d5f5e51662 swscale: move format handling to its own function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-14 03:36:19 +02:00
Paul B Mahol
fc6ca37316 lavfi/aecho: fix invalid free
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 23:45:05 +00:00
Paul B Mahol
f486d7e924 lavfi/silencedetect: unbreak for unknown channel layouts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 22:23:09 +00:00
Paul B Mahol
099dfcaa0e lavfi/ashowinfo: unbreak for >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 22:04:14 +00:00
Paul B Mahol
729709b890 lavfi/asetnsamples: unbreak for >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 21:59:13 +00:00
Paul B Mahol
e9678631f1 lavfi/trim: fix sample copy for >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 21:54:02 +00:00
Paul B Mahol
6347824d53 lavfi/showwaves: fix floating exception with >8 channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 21:46:27 +00:00
Michael Niedermayer
aac57c765f avfilter/asrc_aevalsrc: fix cases of unknown channel layout
Fixes >8 channels

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 23:10:15 +02:00
Michael Niedermayer
f3d138ab22 avdevice/lavfi: fix input with unknown channel layout
Fixes handling of >8 channels

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 23:10:05 +02:00
Luca Barbato
dc79685195 indeo: Bound-check before applying transform
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
cd78e934c2 indeo4: Validate scantable dimension
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
6255ccf7d5 indeo4: Check the quantization matrix index
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Luca Barbato
8435bca087 indeo4: Do not access missing reference MV
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-13 19:11:18 +02:00
Martin Storsjö
031be5b41b ac3dec: Consistently use AC3_BLOCK_SIZE and sizeof
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-13 19:06:52 +03:00
Martin Storsjö
68e57cde68 ac3dec: Increment channel pointers only once per channel
If the channel mapping map multiple output channels to one
input channel, we should only increment the actual pointer once.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-13 18:55:07 +03:00
Nicolas Bertrand
886e1b36f5 jpeg2000: Remove unused passes array in Jpeg200Cblk structure
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-13 14:28:48 +02:00
Nicolas Bertrand
f56fe04de3 jpeg2000: Initialize only once mqc arrays
Improves decoding speed.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-13 07:54:12 +02:00
Paul B Mahol
673d4e82d4 fate: add tests for stereo3d filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-13 05:41:04 +00:00
Michael Niedermayer
0a06e6e49b av_frame_get_buffer: Do not fail when the channel layout is unknown
Fixes handling of cases with unknown layouts but known channel counts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 21:09:20 +02:00
Carl Eugen Hoyos
289737c8be configure: Disable avresample if an old version of yasm is used.
The avresample maintainers decided not to support old versions of yasm.
Supporting old yasm in FFmpeg was no big effort in the last months,
so keep it for the time being.
2013-07-13 17:16:44 +02:00
Carl Eugen Hoyos
aecb9d39bc rmdec: Forward error messages from rm_assemble_video_frame() to the caller.
Fixes the cause of a null pointer dereference on oom
described in ticket #2724.
2013-07-13 17:16:30 +02:00
Carl Eugen Hoyos
8e3c5c70ca g726: Do not try to decode more than one channel.
Ask for a sample instead.

Reviewed-by: Derek Buitenhuis
2013-07-13 17:16:30 +02:00
Carl Eugen Hoyos
149def7781 configure: Only build ffserver if SA_RESAMPLE is available.
QNX does not define SA_RESAMPLE (because it is not implemented).
Fixes ticket #2780.

Reviewed-by: Nicolas George
2013-07-13 17:16:30 +02:00
Jean Delvare
9e4bb09140 lavfi/delogo: Document where parameter show=1 draws its rectangle
It is not completely obvious where delogo's parameter show=1 draws its
rectangle. Document it so that the user can more easily tune the
parameters.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 17:05:39 +02:00
Jean Delvare
b6d0bb6086 lavfi/delogo: Fix sign extension issue
Coverity complains about a possible sign extension issue in
apply_delogo(). While it is extremely unlikely to happen, it is easy
to fix so let's just do that. Using unsigned variables even makes the
binary code smaller.

Fixes Coverity CID 1046439.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 17:05:03 +02:00
Michael Niedermayer
4cdb42b428 avcodec/012v: improve stride selection
Fixes decoding some files
Fixes Ticket2126

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 16:23:31 +02:00
Michael Niedermayer
786b0968dd ffplay: remove explicit idct option
this allows named idct options to be used

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 15:01:05 +02:00
Michael Niedermayer
f57119b8e5 jpeg2000: fix overflow in dequantization
Fixes decoding of file generated with:
ffmpeg -f lavfi -i smptehdbars=hd720 -pix_fmt rgb48 /tmp/o.jp2

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 12:44:37 +02:00
Michael Niedermayer
dc072c9867 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  jpeg2000: Initialize only once mqc arrays

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 12:22:22 +02:00
Nicolas Bertrand
dd1382ac95 jpeg2000: Initialize only once mqc arrays
Increases encoding and decoding speed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 23:43:09 +02:00
Paul B Mahol
7f4a1fddd3 lavf: add missing build dependency for tta demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-12 19:51:48 +00:00
Andrey Utkin
34fd21120d retry_transfer_wrapper(): check for interrupt before operation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 21:27:27 +02:00
Andrey Utkin
1e85b5e077 ff_network_wait_fd_timeout(): check for interrupt before operation
Reviewed-by: Lukasz M <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 21:27:27 +02:00
Michael Niedermayer
9219ec93b1 avfilter/trim: add compatibility layer to not break ABI used by ffmpeg
This is a hotfix to fix -t / -ss
a different solution might be choosen later, i just dont want to leave
this broken

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 21:27:26 +02:00
Carl Eugen Hoyos
6476967f21 Fix compilation with --disable-everything --enable-demuxer=aac. 2013-07-12 21:27:21 +02:00
Paul B Mahol
b3405b1bda lavfi/trim: use AV_OPT_TYPE_DURATION
Workarounds for rounding differences between platforms should not be
needed any more.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-12 15:58:22 +00:00
Michael Niedermayer
8aea97a49d avcodec/jpeglsdec: Implement the 4th (lossy) transform
Fixes remainder of Ticket893

Std deviation from the intended image is 0.11, max sample error +-1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 17:52:03 +02:00
Paul B Mahol
937cfebd72 lavfi/aevalsrc: remove hard limit on number of channels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-12 15:51:47 +00:00
Michael Niedermayer
86d1a5d80f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_interlace: better handling of odd video size

Conflicts:
	libavfilter/vf_interlace.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:58:41 +02:00
Michael Niedermayer
bc82405188 Merge commit '52ea29867070243385220a223d7512ea7d4ae2d2'
* commit '52ea29867070243385220a223d7512ea7d4ae2d2':
  fate: use current syntax for the scale filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:51:24 +02:00
Michael Niedermayer
cce254373c Merge commit '3802833bc1f79775a1547c5e427fed6e92b77e53'
* commit '3802833bc1f79775a1547c5e427fed6e92b77e53':
  dca: Respect the current limits in the downmixing capabilities

Conflicts:
	libavcodec/dcadec.c

See: 8e77c3846e

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:49:27 +02:00
Michael Niedermayer
107a56c1ed Merge commit 'f261e508459e28beca59868a878e1519a44bb678'
* commit 'f261e508459e28beca59868a878e1519a44bb678':
  dca: Error out on missing DSYNC

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:13:22 +02:00
Michael Niedermayer
73f940e4d9 Merge commit 'c82da343e635663605bd81c59d872bee3182da73'
* commit 'c82da343e635663605bd81c59d872bee3182da73':
  pcm: always use codec->id instead of codec_id

This is not merged as we consistently use codec_id, while libav against what
the comit message might hint at mixes both in the decoder.
Its fine to use either but it should be consistent.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 14:08:32 +02:00
Michael Niedermayer
0da0caa9a9 Merge commit 'c0d973c41b4568d5bad1295879e35cfa611bdcf2'
* commit 'c0d973c41b4568d5bad1295879e35cfa611bdcf2':
  vdpau: use the correct namespace for the union

Conflicts:
	libavcodec/vdpau.h

See: 68dfe530e0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 13:47:37 +02:00
Michael Niedermayer
e9348e107b Merge commit 'e9d394f3fad7e8fd8fc80e3b33cb045bbaceb446'
* commit 'e9d394f3fad7e8fd8fc80e3b33cb045bbaceb446':
  mlpdec: Do not set invalid context in read_restart_header

Conflicts:
	libavcodec/mlpdec.c

See: a9cd12ee2a

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 13:28:40 +02:00
Michael Niedermayer
9d47333e3e Merge commit '2b379a925162b6783bd9a81dc03e647e8b65494c'
* commit '2b379a925162b6783bd9a81dc03e647e8b65494c':
  mlpdsp: x86: Respect cpuflags

Conflicts:
	libavcodec/x86/mlpdsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 13:10:53 +02:00
Michael Niedermayer
50617fce07 Merge commit '3abde1a3b49cf299f2aae4eaae6b6cb5270bdc22'
* commit '3abde1a3b49cf299f2aae4eaae6b6cb5270bdc22':
  pcx: Do not overread source buffer in pcx_rle_decode

Conflicts:
	libavcodec/pcx.c

See: 8cd1c0febe
Bytestream based system is left in place and not switched to buf+end, such switch would be
a step backward

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 12:58:13 +02:00
Michael Niedermayer
54bbb90568 Merge commit '170fb593c617cd797d00cf05bfb8d8c21d612893'
* commit '170fb593c617cd797d00cf05bfb8d8c21d612893':
  pcx: K&R formatting cosmetics

Conflicts:
	libavcodec/pcx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 12:36:04 +02:00
Michael Niedermayer
c6953589f9 Merge commit 'ef5b70affc6376bfeadd1ff649b79bad9a124fa8'
* commit 'ef5b70affc6376bfeadd1ff649b79bad9a124fa8':
  configure: Check for support for labels in the inline assembly

The timer code is not placed under ifdef as ours does not use labels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 12:07:14 +02:00
Michael Niedermayer
bec509db43 vf_interlace: better handling of odd video size
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-12 11:40:56 +03:00
Sean McGovern
52ea298670 fate: use current syntax for the scale filter
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-12 11:08:25 +03:00
Luca Barbato
3802833bc1 dca: Respect the current limits in the downmixing capabilities
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
f261e50845 dca: Error out on missing DSYNC
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
c82da343e6 pcm: always use codec->id instead of codec_id
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
c0d973c41b vdpau: use the correct namespace for the union
Vdp is used by libvdpau, use AVVDPAU as used for the rest.

Reported-by: Alexis Ballier <aballier@gentoo.org>
2013-07-12 04:34:49 +02:00
Luca Barbato
e9d394f3fa mlpdec: Do not set invalid context in read_restart_header
The faulty values rippled further down the codepath causing a
hard-to-track segfault in the assembly code.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
2b379a9251 mlpdsp: x86: Respect cpuflags 2013-07-12 04:34:49 +02:00
Luca Barbato
3abde1a3b4 pcx: Do not overread source buffer in pcx_rle_decode
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-12 04:34:49 +02:00
Luca Barbato
170fb593c6 pcx: K&R formatting cosmetics 2013-07-12 04:34:49 +02:00
Piotr Bandurski
161047f010 rmdec: fix crash in case of oom
Fixes ticket #2724

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 04:24:35 +02:00
Thierry Foucu
38ce775eea libavformat/mov.c: Skipped duplicated MOOV atom
This should fix ticket 1378
 If we have parsed a moov atom, and found another one, just skip it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 02:41:34 +02:00
Carl Eugen Hoyos
0fff7f039c Supply a User-Agent header when opening rtsp streams.
Some rtsp servers like the IP Cam IcyBox IB-CAM2002 need it.
Fixes ticket #2761.
Reported, analyzed and tested by trac user imavra.
2013-07-11 23:05:53 +02:00
Dan Flett
43d36599fe lavd/fbdev.c: Support RGB565 input colour space.
Tested on a Raspberry Pi.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-11 18:16:07 +02:00
Martin Storsjö
ef5b70affc configure: Check for support for labels in the inline assembly
Use this for enabling the ppc timer.h implementation only on
assemblers that support labels in the inline assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-11 18:53:02 +03:00
Michael Niedermayer
0ef40446a8 mjpegdec: print length too in APPx debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:28:55 +02:00
Michael Niedermayer
8024b4880c avcodec/jpeglsdec: support xfrm 1-3
Fixes 75% of Ticket893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:10:18 +02:00
Michael Niedermayer
96747e6cbe mjpegdec: parse app-xfrm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:08:49 +02:00
Michael Niedermayer
7afa68d37d mjpegdec: parse app-colr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 16:08:36 +02:00
Michael Niedermayer
531f016944 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmavoice: conceal clearly corrupted blocks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:50:18 +02:00
Michael Niedermayer
45cc62f0a0 Merge commit 'f5c48f5adaead5259660d4eaab2e695d1bac3a08'
* commit 'f5c48f5adaead5259660d4eaab2e695d1bac3a08':
  wmavoice: use init_static_data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:41:34 +02:00
Michael Niedermayer
5698f6bd73 Merge commit '04e9853a210e07b1a150aa2b8e9af0aa3601ff21'
* commit '04e9853a210e07b1a150aa2b8e9af0aa3601ff21':
  wmavoice: return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:33:19 +02:00
Michael Niedermayer
2efc2b53be Merge commit '7d65e960c72f36b73ae7fe84f8e427d758e61da9'
* commit '7d65e960c72f36b73ae7fe84f8e427d758e61da9':
  iff: Do not read over the source buffer

Conflicts:
	libavcodec/iff.c

See: 2fbb37b51b

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:32:36 +02:00
Michael Niedermayer
56090b5b80 Merge commit '3865ba7b21aef5d60183719e238361ec8797ab5a'
* commit '3865ba7b21aef5d60183719e238361ec8797ab5a':
  iff: K&R formatting cosmetics

Conflicts:
	libavcodec/iff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 11:12:48 +02:00
Michael Niedermayer
15cee5e562 mjpegdec: Fix used quant index for gbr
Fixes Ticket1651

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 02:31:58 +02:00
Michael Niedermayer
94e86ae15a mjpegdec: initialize source variables before gbr remap
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-11 02:31:58 +02:00
Stefano Sabatini
71a2e5245c lavf/segment: use AV_OPT_TIME_DURATION for time_delta
Simplify.
2013-07-11 00:36:53 +02:00
Stefano Sabatini
459dc81a64 lavf/segment: reindent after last commit 2013-07-11 00:36:41 +02:00
Stefano Sabatini
19ea08a11a lavf/segment: add initial_offset option
Should address trac ticket #2224.
2013-07-11 00:36:24 +02:00
Stefano Sabatini
b3ac8a2a60 doc/formats: add section describing stream specifiers 2013-07-11 00:35:35 +02:00
Stefano Sabatini
e7a6962e76 doc/developer: update sections about external development
Replace the sections "API" and "Integrating libavcodec or libavformat"
with updated / more accurate text.

See thread:
Subject: [FFmpeg-devel] [PATCH] doc/developer: merge and update sections about external development
Date: Fri,  5 Jul 2013 11:07:07 +0200
2013-07-11 00:01:19 +02:00
Paul B Mahol
db4e191d88 lavfi/aevalsrc: do not free AVOption variables in uninit()
The generic code frees them already.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:22:07 +00:00
Paul B Mahol
badbd2414d lavfi/aevalsrc: use AV_OPT_TYPE_DURATION
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:16:00 +00:00
Paul B Mahol
1e89f74902 lavfi/afade: use av_rescale()
Should not make a difference, but its good idea.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:13:28 +00:00
Derek Buitenhuis
2ea60971dc fate: Always enable avresample
There's no reason we shouldn't be testing it.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-07-10 15:12:05 -04:00
Paul B Mahol
4511973901 wmalosslessdec: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 19:11:12 +00:00
Michael Niedermayer
07206deed1 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Suggest recompilation with openssl or gnutls if the https protocol is not found.
  lavf/utils.c: Avoid a null pointer dereference on oom after duration_error allocation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 19:58:19 +02:00
Michael Niedermayer
0a3a0edd52 avfilter/af_earwax: Fix out of array accesses on odd packets
Found-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:46:13 +02:00
Michael Niedermayer
8f09957194 avcodec/qdm2: initialize sign_bits
Fixes non deterministic output

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:21:33 +02:00
Carl Eugen Hoyos
1db88c33f2 Suggest recompilation with openssl or gnutls if the https protocol is not found.
Fixes ticket #2765.
2013-07-10 16:20:40 +02:00
Carl Eugen Hoyos
c9eb5c9751 lavf/utils.c: Avoid a null pointer dereference on oom after duration_error allocation. 2013-07-10 16:20:40 +02:00
Michael Niedermayer
fbe159e850 avcodec/qdm2: store bits in an integer instead of float variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:18:52 +02:00
Piotr Bandurski
b050956334 avformat/utils: avformat_find_stream_info set value for ret in case of oom
without it FFmpeg didn't display any error message when oom event occured

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:07:45 +02:00
Michael Niedermayer
2e6338b472 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qdm2: Conceal broken samples

See: 5ee008e01d

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 16:00:57 +02:00
Luca Barbato
d14a26edb7 wmavoice: conceal clearly corrupted blocks
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-10 15:50:06 +02:00
Luca Barbato
f5c48f5ada wmavoice: use init_static_data 2013-07-10 15:49:58 +02:00
Luca Barbato
04e9853a21 wmavoice: return meaningful error codes 2013-07-10 15:49:51 +02:00
Luca Barbato
7d65e960c7 iff: Do not read over the source buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-10 15:24:42 +02:00
Luca Barbato
3865ba7b21 iff: K&R formatting cosmetics 2013-07-10 15:23:51 +02:00
Paul B Mahol
bc95b94289 lavfi/aconvert: unbreak
Even if its deprecated, it should still work correctly.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 13:16:24 +00:00
Michael Niedermayer
564909093a Merge commit 'adadc3f2443d25b375e21e801516ccfd78e0b080'
* commit 'adadc3f2443d25b375e21e801516ccfd78e0b080':
  qdm2: refactor joined stereo support

Conflicts:
	libavcodec/qdm2.c

See: 2b12d1ffd8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 15:07:20 +02:00
Michael Niedermayer
2c0ec526e2 fate/crc fix after master:410192e36958: add crc24 tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 14:58:52 +02:00
Paul B Mahol
884c890535 lavfi: add aecho filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:10:58 +00:00
Paul B Mahol
4977e467a5 lavf/takdec: check metadata blocks checksum
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:07:53 +00:00
Paul B Mahol
8491f40500 tak: use crc table from lavu
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:07:53 +00:00
Paul B Mahol
410192e369 add crc24 tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-10 12:07:53 +00:00
Michael Niedermayer
067c9c3b63 Merge commit '12576afe206d35231ccd61f9033c5fdab6a11e80'
* commit '12576afe206d35231ccd61f9033c5fdab6a11e80':
  adpcm: Write the correct number of samples for ima-dk4

Conflicts:
	libavcodec/adpcm.c

See: f18c873ab5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 12:56:55 +02:00
Michael Niedermayer
a3d9a21683 Merge commit 'bbf6a4aa20bfe3d7869b2218e66063602dfb8aa7'
* commit 'bbf6a4aa20bfe3d7869b2218e66063602dfb8aa7':
  imc: Catch a division by zero
  atrac3: Error on impossible encoding/channel combinations

See: 13451f5520

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 12:28:07 +02:00
Michael Niedermayer
40e8967ee1 Merge commit '22e76ec635bafdd1d1ec35581a7ac09e69e3c43e'
* commit '22e76ec635bafdd1d1ec35581a7ac09e69e3c43e':
  atrac3: set the getbits context the right buffer_end
  atrac3: fix error handling

Conflicts:
	libavcodec/atrac3.c

No change as these issues have been fixed previously
See: c8f25cafd2
See: 5eaed6d336

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 12:23:17 +02:00
Piotr Bandurski
ccf9211e29 avformat/utils: avformat_find_stream_info fix a crash in case of oom
fixes ticket #2767

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 03:42:06 +02:00
Michael Niedermayer
0574fe76b8 Changelog: add back the <next> placeholder for new changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 03:14:33 +02:00
Michael Niedermayer
a37e42b3ee Update back for git master
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 03:14:23 +02:00
Michael Niedermayer
2b8b2ba19f Changelog: replace next by 2.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 02:47:10 +02:00
Michael Niedermayer
1ebb95d5f1 Update for 2.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 02:15:43 +02:00
Luca Barbato
5eaed6d336 atrac3: fix error handling
decode_tonal_components returns a proper AVERROR.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 02:15:43 +02:00
Eugene Dzhurinsky
09f59d6adf avformat/gif: Do not write GIF89a header if loop is set to -1.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 01:18:59 +02:00
Michael Niedermayer
9e214900ad Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: assume 0 stream start time if start time is unset in duration check
  ffplay: do not update audio clock with old audio pts if current frame is AV_NOPTS_VALUE

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:57:04 +02:00
Michael Niedermayer
49f441ea89 MAINTAINERS: Update which releases are supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:47:01 +02:00
Alexis Ballier
c3ca70204b codec_desc: fix typo in rv20 long_name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:27:34 +02:00
Michael Niedermayer
3aa2257d24 doc/RELEASE_NOTES: add a note about AVISynth
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-10 00:24:04 +02:00
Michael Niedermayer
233177a4ec jpegdec: clear EOBRUN on restarts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 23:49:06 +02:00
Michael Niedermayer
1c032e94d0 jpegdec: give handle_rstn() a return code that indicates if restart did happen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 23:45:31 +02:00
Michael Niedermayer
776155ca29 mjpeg_decode_scan: reset restart state
Fixes Ticket2082
Fixes progressive/refinement + restart jpegs

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 23:43:36 +02:00
Michael Niedermayer
e9be4675b8 doc/ffmpeg: document -override_ffserver
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 22:19:10 +02:00
Michael Niedermayer
325411a687 snowenc: check minimum resolution
Fixes Ticket1855

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 21:10:45 +02:00
Marton Balint
f07cb53ab9 ffplay: assume 0 stream start time if start time is unset in duration check
Fixes ticket #2103 and #2743.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-09 20:19:54 +02:00
Marton Balint
3886572a83 ffplay: do not update audio clock with old audio pts if current frame is AV_NOPTS_VALUE
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-09 20:19:54 +02:00
Piotr Bandurski
aa74810fc6 bitstream: fix a crash in case of oom
fixes ticket #2766

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:41:22 +02:00
James Almer
193782216f vorbiscomment: Add support for embedded cover art
Fixes ticket #2655

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:21:23 +02:00
James Almer
1e5bbbfcf3 lavf/flacdec: Share the function to parse cover art blocks
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:19:42 +02:00
Michael Niedermayer
f9d7431272 avformat/AVFormatContext: Move fields down to match the fork
avconv uses private and internal fields from libavformat, we thus must
match the layout even of the fields marked non public.
Otherwise ffmpegs libavformat could not be used as a dropin replacement
on debian/ubuntu

The current soname of libavformat was not part of any release nor are any
fields marked public moved thus in theory
no installed shared lib ABI breakage should occur. Still the need for this
change is unfortunate and chilling.
If you installed shared libs from a recent development version of libavformat
that is more recent than the last release. You probably want to check or rebuild
applications that linked to it.

minor versions of avformat & avdevice are bumped to allow detecting this
as both use the updated struct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:06:32 +02:00
Michael Niedermayer
d5de123195 avfilter/graphparse: Fix build with --enable-incompatible-fork-abi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 19:06:32 +02:00
Paul B Mahol
c5a1b18f18 lavfi/drawtext: add support for printing frame metadata
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-09 15:21:01 +00:00
Luca Barbato
87fb18c3e4 imc: Catch a division by zero
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Kostya Shishkov
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 16:20:50 +02:00
Luca Barbato
4ecdb5ed44 qdm2: Conceal broken samples
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 15:57:46 +02:00
Luca Barbato
adadc3f244 qdm2: refactor joined stereo support
qdm2 does support only two channels. Loop over the run once.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 15:57:32 +02:00
Michael Niedermayer
7d9cb12689 avcodec/wmaprodec: Check block_align
Fixes undefined behavior
Its not known if this condition can be triggered through crafted input.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 15:32:21 +02:00
Michael Niedermayer
694550f18e Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Force correct extradata for AVID AVCI50 in mov.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 13:04:51 +02:00
Michael Niedermayer
0dd99628ea ff_lpc_calc_coefs: assert that the type is levinson or cholesky
Otherwise the code could misbehave (and there are no other types anyway)
Fixes CID700759

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 11:57:45 +02:00
Carl Eugen Hoyos
9a1ec1f2f2 Force correct extradata for AVID AVCI50 in mov.
Fixes ticket #2106.

Reviewed-by: Kieran Kunhya
2013-07-09 11:43:33 +02:00
Paul B Mahol
3c5071db88 lavfi/psnr: rename 's' parameter to match documentation
Also removes some irrelevant lines in documentation.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-09 09:40:53 +00:00
Michael Niedermayer
d0a7933991 ffmpeg_opt: do not warn about unused gop_timecode
The option is injected by generic code and being sometimes unused is normal.

Fixes Ticket2762

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 10:54:40 +02:00
Luca Barbato
12576afe20 adpcm: Write the correct number of samples for ima-dk4
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
bbf6a4aa20 imc: Catch a division by zero
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
22e76ec635 atrac3: set the getbits context the right buffer_end
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
50cf5a7fb7 atrac3: Error on impossible encoding/channel combinations
Joint stereo encoded mono is impossible.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Luca Barbato
874c8a17ac atrac3: fix error handling
decode_tonal_components returns a proper AVERROR.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-09 10:49:29 +02:00
Michael Niedermayer
e914a21ada Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Rename the timestamp parameter to dts in write_hint_packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 10:07:23 +02:00
Michael Niedermayer
848295c2ee Merge commit 'a87a0acf9b5d27aad032e61eef4973e62a4a6830'
* commit 'a87a0acf9b5d27aad032e61eef4973e62a4a6830':
  movenc: Make sure the RTP hint tracks have nondecreasing DTS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 10:01:17 +02:00
Michael Niedermayer
00b1401df6 avcodec/h264_ps: try to support Ambarella AVC
Fixes Ticket2763

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 05:21:26 +02:00
Matthew Heaney
509642b4bd WebM muxer writes WebVTT subtitle track
The Matroska muxer now allows WebVTT subtitle tracks to be written
while in WebM muxing mode.

WebVTT subtitle tracks have four kinds: "subtitles", "captions",
"descriptions", and "metadata". Each text track kind has a distinct
Mastroska CodecID and track type, as described in the temporal
metadata guidelines here:

http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm

When the stream has codec id AV_CODEC_ID_WEBVTT, the stream packet is
serialized per the temporal metadata guidelines cited above. The
WebVTT cue is written as a Matroska block group. The block frame
comprises the WebVTT cue id, followed by the cue settings, followed by
the cue text.  (The block timestamp is synthesized from the cue
timestamp.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 03:09:12 +02:00
Michael Niedermayer
a20f049c2a avcodec/libvpxenc: make class names unique
This should fix an infinite loop with -h full

Found-by: <Foofie>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 03:04:31 +02:00
Michael Niedermayer
d1e8d4b055 ffmpeg: Allow overriding ffservers input
Fixes Ticket1970

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 01:50:32 +02:00
Michael Niedermayer
d7fbe926d3 ffmpeg: move creation_time for ffserver setting up
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-09 01:50:32 +02:00
Paul B Mahol
a03e79ed5a lavfi: fix broken logic in metadata handling
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 20:13:56 +00:00
Michael Niedermayer
970c8df735 mpeg12dec: avoid reinitializtation on PS changes when possible.
Fixes Ticket2574

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 21:55:04 +02:00
Michael Niedermayer
7dee9c2268 tests/fate/filter-audio: update asyncts reference
The new reference matches the one used by qatar

Fixes: fate-filter-asyncts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 19:44:27 +02:00
Paul B Mahol
19c8f22714 lavfi/rotate: switch to new drawutils
Get rid of ugly hacks, also add support for more pixel formats.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 16:40:49 +00:00
Paul B Mahol
55c94f48ce lavfi/drawutils: fix planar rgb
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 16:40:49 +00:00
Paul B Mahol
d2dd1e075c lavfi/pad: use FFSIGN
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 16:40:48 +00:00
Alexandre Sicard
70b922f371 avformat/mov: read stream bitrates from isml manifest
This allows to read a live isml movie and segment it using the
smoothstreaming muxer, which requires the bitrates to be known for each stream.

Signed-off-by: Alexandre Sicard <alexandre.sicard@smartjog.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 17:36:45 +02:00
Michael Niedermayer
e096283ea5 mp3dec: detect CBR and use CBR axiom to seek
This should also work reasonable with truncated and growing mp3s.
Fixes Ticket2590

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 17:12:51 +02:00
Paul B Mahol
6150bec3f8 lavfi: add psnr filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-08 14:58:04 +00:00
Michael Niedermayer
1ba01d3d46 swscale: treat gray as a fullrage (0-255) format
Fixes Ticket2684

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 15:21:48 +02:00
Carl Eugen Hoyos
b86651a208 Check the return value of ff_rv34_decode_init() in rv30.c and rv40.c
Avoids possible null pointer dereferences on oom.

Fixes ticket #2727.
2013-07-08 11:56:16 +02:00
Martin Storsjö
0677ddebc6 movenc: Rename the timestamp parameter to dts in write_hint_packets
This matches its actual intended use better.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-08 12:44:25 +03:00
Martin Storsjö
a87a0acf9b movenc: Make sure the RTP hint tracks have nondecreasing DTS
The RTP timestamps can be decreasing for codecs with B-frames. For
these cases, make sure the timestamps in the MP4 file track itself
are nondecreasing, and add an offset to the RTP packet hint instead
to produce the intended RTP timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-08 12:43:42 +03:00
Michael Niedermayer
5d3c3035b7 cmdutils: replace exit() by exit_program()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 11:12:32 +02:00
Michael Niedermayer
eeddeb6579 ffmpeg_opt: replace exit() by exit_program()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 11:12:32 +02:00
Michael Niedermayer
efce76a80d ffmpeg_filter: replace exit() by exit_program()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 11:09:22 +02:00
Michael Niedermayer
44d0e520f8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qdm2: check and reset dithering index per channel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:26:17 +02:00
Michael Niedermayer
e1f98f2231 Merge commit '76efedeadb1f6bf79020c44a71dd0cee13d932ad'
* commit '76efedeadb1f6bf79020c44a71dd0cee13d932ad':
  qdm2: formatting cosmetics

Conflicts:
	libavcodec/qdm2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:10:06 +02:00
Michael Niedermayer
d28a8ad8f3 Merge commit 'f054e309c58894450a5d18cce9799ef58aab9f14'
* commit 'f054e309c58894450a5d18cce9799ef58aab9f14':
  qdm2: use init_static_data
  westwood_vqa: do not free extradata on error in read_header

Conflicts:
	libavformat/westwood_vqa.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 05:02:52 +02:00
Michael Niedermayer
b5a87dc193 Merge commit 'c4abc9098cacb227dba39bac6aea16b2bceba0d0'
* commit 'c4abc9098cacb227dba39bac6aea16b2bceba0d0':
  vqavideo: check the version

Conflicts:
	libavcodec/vqavideo.c

See: b226af3910

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:53:52 +02:00
Michael Niedermayer
f982d006bb Merge commit '636ced8e1dc8248a1353b416240b93d70ad03edb'
* commit '636ced8e1dc8248a1353b416240b93d70ad03edb':
  cmdutils: wrap exit explicitly

Conflicts:
	avprobe.c
	cmdutils.c
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:34:11 +02:00
Michael Niedermayer
4cd066b69c Merge commit '21732063a346475eb22c332b27e8216b79f9ad4a'
* commit '21732063a346475eb22c332b27e8216b79f9ad4a':
  movenc: K&R formatting cosmetics

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 04:08:07 +02:00
Michael Niedermayer
7023715e88 Merge commit '38e9585de993c32899588ab037180f2c930ce74c'
* commit '38e9585de993c32899588ab037180f2c930ce74c':
  Makefile: Remove stray tabs
  vp8: Wait for prev_frame to parse segment_map before reading it
  yuv4mpeg: Correctly round chroma up for odd luma sizes
  rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
  avio: Handle AVERROR_EOF in the same way as the return value 0

Conflicts:
	libavformat/rmdec.c
	libavformat/yuv4mpeg.c

No change as all the commits where already in before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 03:42:03 +02:00
Michael Niedermayer
5312c319be avformat_find_stream_info: fallback to timestamps in analyzeduration check in more cases
This fixes speex in rtmp
Fixes Ticket2409

the nellymoser in flv case actually needs larger analyzeduration. The code
previously just failed to calculate the duration

If this causes any problems, like premature analyze/probe end, please report!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-08 02:37:24 +02:00
Paul B Mahol
099e57bc38 zmbvenc: remove unused AVFrame from encoder private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 23:50:54 +00:00
Paul B Mahol
3bec6a44ea zmbvenc: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 23:45:17 +00:00
Paul B Mahol
ec4e042f33 gif: remove unused AVFrame from encoder private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 23:06:06 +00:00
Paul B Mahol
bd03f99d05 gif: do not set avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-07 22:57:17 +00:00
Luca Barbato
744a11c996 qdm2: check and reset dithering index per channel
Checking per subband would have the index exceed the
dithering noise table size.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 22:06:35 +02:00
Luca Barbato
76efedeadb qdm2: formatting cosmetics
Apply the usual style plus drop few unnecessary return at the end
of void functions.
2013-07-07 22:06:28 +02:00
Luca Barbato
f054e309c5 qdm2: use init_static_data 2013-07-07 22:06:20 +02:00
Luca Barbato
76f5dfbfd9 westwood_vqa: do not free extradata on error in read_header
The extradata is already freed by avformat_open_input on
failure.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 22:04:43 +02:00
Luca Barbato
c4abc9098c vqavideo: check the version
Prevent out of buffer write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 22:04:05 +02:00
Luca Barbato
636ced8e1d cmdutils: wrap exit explicitly
Some C runtime implementations deadlock when calling threading functions
on the atexit() handler.

Use a simpler wrapper similar to av_log to call the cleanup function
before exit.

Bug-Id: 523
2013-07-07 21:43:23 +02:00
Martin Storsjö
21732063a3 movenc: K&R formatting cosmetics
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 21:34:31 +03:00
Michael Niedermayer
38e9585de9 Makefile: Remove stray tabs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 19:29:19 +03:00
Ronald S. Bultje
46d208e1e0 vp8: Wait for prev_frame to parse segment_map before reading it
This fixes occasional failures of vp8-test-vector-010 with frame-level
multithreading enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:29 +03:00
Ronald S. Bultje
6c86a63bad yuv4mpeg: Correctly round chroma up for odd luma sizes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:22 +03:00
Michael Niedermayer
d35b6cd377 rmdec: Use the AVIOContext given as parameter in rm_read_metadata()
This fixes crashes when playing back certain RealRTSP streams.

When invoked from the RTP depacketizer, the full realmedia
demuxer isn't invoked, but only certain functions from it, where
a separate AVIOContext is passed in as parameter (for the buffer
containing the data to parse). The functions called from within
those entry points should only be using that parameter, not
s->pb. In the depacketizer case, s is the RTSP context, where ->pb
is null.

Cc: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:12 +03:00
Michael Niedermayer
5d876be87a avio: Handle AVERROR_EOF in the same way as the return value 0
This makes sure the ffurl_read_complete function actually
returns the number of bytes read, as the documentation of the
function says, even if the underlying protocol uses AVERROR_EOF
instead of 0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-07-07 13:30:01 +03:00
Luca Barbato
f5e646a00a wtv: Mark attachment with a negative stream id
A sid 0 would be mismatched to the attachment.

Prevent NULL pointer dereference.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-07 04:28:51 +02:00
Luca Barbato
a4baf96abd avprobe: rename the prettyprint structures 2013-07-07 04:28:51 +02:00
Paul B Mahol
19436308b4 dxa: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-06 16:33:59 +00:00
Michael Niedermayer
be25614177 mmsh: reimplement seeking
Fixes Ticket2682

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 18:50:03 +02:00
Michael Niedermayer
c7cfd4cce9 avformat_find_stream_info: use fps_dts as last resort to determine duration
Fixes long delay with some hardware generated h264 in ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 15:25:34 +02:00
Michael Niedermayer
19d4163331 avformat/mp3dec: read TOC even if not all needed information is available
This fixes hyothetical bugs with parsing of elements after the TOC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 12:50:41 +02:00
Michael Niedermayer
4cc32e5cad avformat/mp3dec: read xing toc independant of usetoc, only skip filling index if requested
Fixes hypothetical parsing bug with -usetoc 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 12:49:37 +02:00
Michael Niedermayer
a71832f826 avformat/Makefile: remove stray tab
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:56:02 +02:00
Michael Niedermayer
b9d55a07f3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wtv: Mark attachment with a negative stream id

Conflicts:
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:48:05 +02:00
Michael Niedermayer
b7ce510003 Merge commit 'a4baf96abd64cda68e3e4692b182bdf60745a14d'
* commit 'a4baf96abd64cda68e3e4692b182bdf60745a14d':
  avprobe: rename the prettyprint structures
  tools: Wording and formatting cosmetics

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:35:59 +02:00
Michael Niedermayer
7bd417c22a Merge commit '6516632967da5e6bd7d6136e8678f826669ed26e'
* commit '6516632967da5e6bd7d6136e8678f826669ed26e':
  tests: Only run noproxy test if networking is enabled
  fifo: K&R formatting cosmetics

Conflicts:
	libavformat/Makefile
	libavutil/fifo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:26:28 +02:00
Michael Niedermayer
2adf8a9c09 Merge commit '4e7f0b082d8c4b360312216b9241bec65ff63b35'
* commit '4e7f0b082d8c4b360312216b9241bec65ff63b35':
  kmvc: Clip pixel position to valid range

The added clip should make no difference, there are already checks for
the index.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 11:17:53 +02:00
Michael Niedermayer
1aeddc3cbf Merge commit '8f689770548c86151071ef976cf9b6998ba21c2a'
* commit '8f689770548c86151071ef976cf9b6998ba21c2a':
  kmvc: use fixed sized arrays in the context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 10:54:39 +02:00
Michael Niedermayer
dc2a13aa80 avformat/mov: Fix duration of fragmented mov
Fixes Ticket2757

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 04:11:14 +02:00
Michael Niedermayer
104dfaadaa dct_unquantize_h263_intra_c: fix assert condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 01:50:59 +02:00
Michael Niedermayer
707b2135fd libavcodec/x86/mpegvideo: Move mmx functions under HAVE_MMX_INLINE
should fix ticket2755

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 01:50:59 +02:00
Michael Niedermayer
abce6dfd9e avcodec/x86/vp3dsp_init: move mmx functions under HAVE_MMX_INLINE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-07 01:50:59 +02:00
Michael Niedermayer
9a6e814be7 oggparseskeleton: avoid header parsing failure
Based on description by James Almer and the xiph wiki

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 23:53:19 +02:00
Michael Niedermayer
7f25050289 nutdec: use ff_find_last_ts()
Fixes finding the duration for nut files that are truncated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 22:27:35 +02:00
Michael Niedermayer
8ca5d277d8 avformat/utils: factor ff_find_last_ts() out of ff_gen_search()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 22:27:35 +02:00
Diego Biurrun
cd7b6deeaa tools: Wording and formatting cosmetics 2013-07-06 15:36:57 +02:00
Diego Biurrun
6516632967 tests: Only run noproxy test if networking is enabled 2013-07-06 15:36:57 +02:00
Luca Barbato
73142e7533 fifo: K&R formatting cosmetics 2013-07-06 14:28:06 +02:00
Luca Barbato
4e7f0b082d kmvc: Clip pixel position to valid range
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-06 14:12:45 +02:00
Luca Barbato
8f68977054 kmvc: use fixed sized arrays in the context
Avoid some boilerplate code to dynamically allocate and then free the
buffers.
2013-07-06 14:12:42 +02:00
Paul B Mahol
d64f3b72e0 replace some deprecated defines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-06 05:43:24 +00:00
Paul B Mahol
9635806265 lavfi/blend: use dual input helpers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-06 04:58:34 +00:00
Michael Niedermayer
66537c7efd avcodec/x86/cabac: Disable get_cabac_bypass_x86() on broken llvm/clang
This should fix fate on these platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 16:24:27 +02:00
Michael Niedermayer
32de28053d avcodec/x86/cabac: factorize broken llvm/clang check out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 16:24:27 +02:00
James Almer
63d7684fef oggparseskeleton: Replace avpriv_report_missing_feature() with a normal av_log() call
since there should not be more than one fisbone for a given stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 13:30:51 +02:00
James Almer
3960992f0a oggparseskeleton: Fix fisbone header parsing
start_granule should be applied to the stream referenced in the fisbone packet, not to the
Skeleton stream.
This was broken in d1f05dd183 and produced bogus warnings about
multiple fisbone in the same stream on files with more than one stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 13:30:51 +02:00
Stefano Sabatini
2aa2b4ac65 examples/muxing: add support to audio resampling
Allows to encode to output in case the destination sample format is
different from AV_SAMPLE_FMT_S16.
2013-07-06 12:31:16 +02:00
Timothy Gu
561e05136f doc/encoders: add libopus encoder doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-06 12:27:45 +02:00
Michael Niedermayer
98277fd1a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  bitstream_filter: K&R formatting cosmetics

Conflicts:
	libavcodec/bitstream_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 12:08:43 +02:00
Michael Niedermayer
0844630e6b avformat/mp3dec: Add usetoc option to allow dlsabling the use of the xing TOC
The toc is inexact and not using it can thus make sense.
Using it is faster though, thus the opposite can similarly makes sense

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 05:43:48 +02:00
Michael Niedermayer
68b7b534be tcp: Use a default timeout of 5 sec for opening a connection but not for receiving packets
This should be closer to how tcp behaved longer ago and should
fix the issue with idle connections timing out.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 01:33:19 +02:00
Michael Niedermayer
efa9e6b423 ff_network_wait_fd_timeout: do not break with timeout < 0
Most code treats timeout < 0 like 0 already

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 01:31:37 +02:00
Michael Niedermayer
390aabb2a1 tcp: Fix the default timeout
Fixes Ticket2694

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-06 00:17:31 +02:00
Nigel Touati-Evans
ef8cc06d6e avformat/avidec: Fix incorrect detection of badly interleaved avi
The method guess_ni_flag needs to divide timestamps in the index
by sample_size if it is set in order to compare different streams correctly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 22:07:48 +02:00
Paul B Mahol
6516a25f04 ADPCM IMA WAV 2, 3 and 5 bits decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 18:10:27 +00:00
Luca Barbato
4972e5a186 bitstream_filter: K&R formatting cosmetics 2013-07-05 19:38:24 +02:00
Paul B Mahol
48f2750de8 get_bits: add get_bits_le()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 16:51:08 +00:00
Jean Delvare
4e10d87f38 lavfi/delogo: band width must be at least 1
We need at least one pixel around the logo to use as known points to
interpolate from. So properly declare the band/t attribute has having
a minimum value of 1.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 18:02:11 +02:00
Jean Delvare
72abce3c46 lavfi/delogo: option show shouldn't affect band
Options "show" and "band" are unrelated and should thus be
independent. However, setting "show" to 1 currently resets "band" to
its default value of 4. While this is documented, this still
surprising and confusing IMHO.

Change this behavior and make "show" and "band" independent from each
other. Update the documentation accordingly.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 18:02:11 +02:00
Paul B Mahol
413f865a9a lavfi/blackdetect: support 2 more pixels formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 15:30:37 +00:00
Paul B Mahol
9dd1447788 lavfi/cropdetect: export cropdetect info to frame metadata
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-05 15:07:33 +00:00
Jean Delvare
4e8d6b315c lavfi/delogo: remember left and right samples when interpolating
The left and right samples are the same for the whole line, so store
their values and don't recompute them for every iteration of "y".

This simple optimization results in a speed improvement between 15%
and 20% in my tests (depending on the logo geometry.)

Result is obviously the same.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:53:37 +02:00
Jean Delvare
6fc8c4cc0e lavfi/delogo: don't recompute the same difference again and again
The top left hand corner pixel coordinates are already stored in
logo_x1 and logo_y1 so don't recompute each of them 6 times for every
iteration.

This is a simple code optimization, result is obviously the same. The
performance gain is small (about 2% in my tests) but still good to
have, and the new code is clearer.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by; Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:52:59 +02:00
Peter Große
c6c2231227 libavcodec: use 64bit counter in deprecated audio encoder API to prevent problems regarding negative dts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:40:13 +02:00
Michael Niedermayer
47ca9f041c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  compat: wrap math.h to avoid AIX-specific clashes

Conflicts:
	configure

See: bf18abb2eb, 0915b531bc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 13:11:06 +02:00
Michael Niedermayer
8fdec02fd1 Merge commit '0420c810ceb430003f9f2793c5cfa1fe84657f3d'
* commit '0420c810ceb430003f9f2793c5cfa1fe84657f3d':
  log: pass the correct parameters to missing_feature_sample

Conflicts:
	libavutil/log.c

See: 572e38a513

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:43:57 +02:00
Stefano Sabatini
d880b2bdff doc/filters: clarify documentation for overlay repeatlast option
Suggested-By: Oliver Fromme <oliver@fromme.com>
2013-07-05 12:35:12 +02:00
Michael Niedermayer
9f89bebb7b Merge commit '6a10142faa1cca8ba2bfe51b970754f62d60f320'
* commit '6a10142faa1cca8ba2bfe51b970754f62d60f320':
  indeo: reject negative array indexes

Conflicts:
	libavcodec/ivi_common.c

See: 93927eb334, a93c7ca6ef

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:26:25 +02:00
Michael Niedermayer
7d3b55c6a4 Merge commit '6dfacd7ab126aea1392949d1aa10fdc3d3eeb911'
* commit '6dfacd7ab126aea1392949d1aa10fdc3d3eeb911':
  indeo: Cosmetic formatting

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:08:22 +02:00
Michael Niedermayer
9b10440dcd Merge commit '62256010e9bc8879e2bf7f3b94af8ff85e239082'
* commit '62256010e9bc8879e2bf7f3b94af8ff85e239082':
  indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 12:02:53 +02:00
Michael Niedermayer
0e2056056f Merge commit 'f6f36ca8ca1b2526d3abff7d7c627322d3bce912'
* commit 'f6f36ca8ca1b2526d3abff7d7c627322d3bce912':
  indeo: Refactor ff_ivi_dec_huff_desc

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 11:50:46 +02:00
Michael Niedermayer
cced6f4d58 Merge commit 'e6d8acf6a8fba4743eb56eabe72a741d1bbee3cb'
* commit 'e6d8acf6a8fba4743eb56eabe72a741d1bbee3cb':
  indeo: use a typedef for the mc function pointer
  cabac: x86 version of get_cabac_bypass
  aic: use chroma scan tables while decoding luma component in progressive mode

Conflicts:
	libavcodec/aic.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 11:41:30 +02:00
Stefano Sabatini
0f85c96091 lavc/avcodec.h: document bitstream filter API 2013-07-05 11:03:56 +02:00
Michael Niedermayer
b009267910 mpegts: only reopen pmt_cb filter if its different from the previous.
Fixes Ticket2632

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-05 04:02:02 +02:00
Stefano Sabatini
d06ae0d791 lavf: fix documentation for avoid_negative_ts
Prefer "non-negative" over "positive", the former is more accurate.
2013-07-05 00:58:03 +02:00
Stefano Sabatini
41fe750f4b lavc/bitstream_filter: do not crash in case the argument of av_bitstream_filter_close() is NULL 2013-07-05 00:58:03 +02:00
Michael Niedermayer
46ad287a2a avutil/rational: avoid llrint() and rint()
This should workaround issues with these functions on ia64 and sparc64

Fixes Ticket2713

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 23:50:58 +02:00
Michael Niedermayer
65abce67b5 avformat/movenc: allow negative TS for the ipod muxer
Fixes Ticket2708

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 23:14:31 +02:00
Paul B Mahol
35b02732b9 configure: fix webp decoder dependency
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 20:41:54 +00:00
Michael Niedermayer
cb678cc2cf avcodec/svq1enc: fix frame rotation code
Fixes Ticket2747

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 22:22:04 +02:00
Paul B Mahol
d1c96b28d7 libstagefright: port to refcounted frames
Untested.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 20:17:38 +00:00
Paul B Mahol
dda8afc391 libstagefright: unbreak compilation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 20:07:12 +00:00
Luca Barbato
d3635f3ab0 compat: wrap math.h to avoid AIX-specific clashes
AIX defines a class() function in its math.h header without any
guard.
2013-07-04 21:54:32 +02:00
Luca Barbato
0420c810ce log: pass the correct parameters to missing_feature_sample
CC:libav-stable@libav.org
2013-07-04 21:25:11 +02:00
Matthieu Bouron
621ab4e4ef lavf/movenc: check ff_mov_init_hinting() return
Fixes a crash when the codec stream is not supported by the rtp muxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:51:40 +02:00
Michael Niedermayer
8a8d9a7385 mpegts: use ffio_ensure_seekback()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:13:39 +02:00
Michael Niedermayer
186ec17843 avformat/aviobuf: Add ffio_ensure_seekback()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:13:38 +02:00
Michael Niedermayer
2ca48e4666 avformat: Append data in fill_buffer() when possible
Data is appended in fill_buffer() when there is sufficient space left
and the data pointer only reset when needed.
Previously the data pointer was more often reset, loosing more seekback
space than otherwise needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 19:13:38 +02:00
Sean McGovern
bf18abb2eb Rename "AVClass class" as "AVClass component_class" for external codecs.
The aix header math.h defines "extern int class()" for C.
This fixes compilation on aix with external libraries enabled.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-07-04 18:02:17 +02:00
Carl Eugen Hoyos
f32b8130f4 Fix opacity and increase colour dynamics of initial vmd palette. 2013-07-04 18:01:08 +02:00
Zhang Rui
4a4c93cb3f avformat/http: support relative url redirection
see also http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-17#section-9.5

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 16:16:03 +02:00
Luca Barbato
6a10142faa indeo: reject negative array indexes
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-04 16:06:11 +02:00
Luca Barbato
6dfacd7ab1 indeo: Cosmetic formatting
Trim some overly long lines.
2013-07-04 16:06:10 +02:00
Luca Barbato
62256010e9 indeo: Refactor ff_ivi_init_tiles and ivi_decode_blocks
Spin large and mostly self contained blocks into stand alone
functions.
2013-07-04 16:06:10 +02:00
Luca Barbato
f6f36ca8ca indeo: Refactor ff_ivi_dec_huff_desc
Spare an indentation level.
2013-07-04 16:06:10 +02:00
Luca Barbato
e6d8acf6a8 indeo: use a typedef for the mc function pointer 2013-07-04 16:06:10 +02:00
Jason Garrett-Glaser
d222f6e39e cabac: x86 version of get_cabac_bypass
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-04 16:06:10 +02:00
Paul B Mahol
253e155251 lavfi/crop: support more pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 11:46:06 +00:00
Michael Niedermayer
6d05039c7e avcodec/sonic: Fix usage of init_get_bits() and use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Michael Niedermayer
b237e6282e avformat/h261dec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Michael Niedermayer
8c707a129a avcodec/svq1dec: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Michael Niedermayer
df6acc81a8 avcodec/ra288: use init_get_bits8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 13:40:08 +02:00
Paul B Mahol
d2ce3b3857 riff: remove invalid fourcc 'exr '
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-04 11:39:58 +00:00
Kostya Shishkov
410066986f aic: use chroma scan tables while decoding luma component in progressive mode
For some unclear reason Apple decided to use the same scan tables for luma and
chroma in the progressive mode while using different ones for luma in the
interlaced mode.
2013-07-04 12:09:45 +02:00
Carl Eugen Hoyos
565140da17 avcodec/rawdec: Fix 2bpp and 4bpp rawvideo in mov
Restores carefully the old behaviour
(and does not break decoding avi samples).
Fixes Ticket2536

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-04 02:54:27 +02:00
Jean Delvare
f0bcb13aed lavfi/delogo: avoid propagation of rounding errors in chroma planes
When operating on subsampled chroma planes, some rounding is taking
place. The left and top borders are rounded down while the width and
height are rounded up, so all rounding is done outward to guarantee the
logo area is fully covered.

The problem is that the width and height are counted from the
unrounded left and top borders, respectively. So if the left or top
border position has indeed been rounded down, and the width or height
needs no rounding (up), the position of the the right or bottom border
will be effectively rounded down, i.e. inward.

The issue can easily be seen with a yuv240p input and
  -vf delogo=45:45:60:40:show=1 -vframes 1 delogo-bug.png
(or virtually any logo area with odd x and y and even width and
height.) The right and bottom chroma borders (in green) are clearly
off.

In order to fix this, the width and height must be adjusted to include
the bits lost in the rounding of the left and top border positions,
respectively, prior to being themselves rounded up.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 23:10:57 +02:00
Jean Delvare
99f1d74933 lavfi/delogo: take SAR into account
When interpolating, weights are based on relative distances, which
assume square pixels. If a non-1:1 sample aspect ratio is used, it
should be taken into account when comparing distances, because the
human eye and brain care about the picture as it is displayed, not
stored.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 23:10:46 +02:00
Paul B Mahol
a64248d1ec lavu/opt: show default values
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-03 20:32:30 +00:00
Matthieu Bouron
4943eff2cd lavf/movenc: fix writing of some iTunes metadata tag
Fix metadata display under iTunes for files using pgap, hdvd, stick,
tvsn and tves tags.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 17:18:49 +02:00
Michael Niedermayer
13f86baa1d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  jpeg2000: Use the matching coding style struct for transform selection
  jpeg2000: Merge rescaling with interleaving in 9/7 IDWT

No change, all commits & hunks where already in.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:42:33 +02:00
Michael Niedermayer
5eb23e6b0a Merge commit '22e18ea39e371030cc78973d1b46aae45a7ea215'
* commit '22e18ea39e371030cc78973d1b46aae45a7ea215':
  jpeg2000: Optimize output sample conversion
  jpeg2000: Reset s->numX/Ytiles on tile deallocation
  jpeg2000: Optimize dequantization
  jpeg2000: Do not assume a single tile
  jpeg2000: Speed up jpeg2000_decode_tile()
  jpeg2000: Use EBCOT's CAUSAL and BYPASS mode in decode_cblk()

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:36:05 +02:00
Michael Niedermayer
19ff6f55e8 Merge commit 'd57c737ac30cf079a342fa649fd4888c2d059dd9'
* commit 'd57c737ac30cf079a342fa649fd4888c2d059dd9':
  jpeg2000: Simplify jpeg2000_decode_packets()
  jpeg2000: Do not crash on NULL node in tag_tree_decode
  jpeg2000: Refactor SOT marker parsing

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:26:01 +02:00
Michael Niedermayer
1abb875c98 Merge commit 'daeb4e3042f2ecae2d41aaa4cae0bed932539788'
* commit 'daeb4e3042f2ecae2d41aaa4cae0bed932539788':
  jpeg2000: Proper cleanup on failure in decode_frame()

Conflicts:
	libavcodec/jpeg2000.c

See: 9d56ccf5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:11:01 +02:00
Michael Niedermayer
ee7da5bacc Merge commit '589e5b52f634f6b2d307a167a19eef7e7328cb08'
* commit '589e5b52f634f6b2d307a167a19eef7e7328cb08':
  jpeg2000: Use the correct sizeof in memset for T1 data
  jpeg2000: Simplify init_tile()
  jpeg2000: Update pixel format support

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:45:03 +02:00
Michael Niedermayer
4474111325 Merge commit 'db13e02c6f0355fabd540e77b61ade127d6411ff'
* commit 'db13e02c6f0355fabd540e77b61ade127d6411ff':
  jpeg2000: Compute corrections of sub-band coordinates
  jpeg2000: Remove unneeded variable initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:38:55 +02:00
Michael Niedermayer
2328e7e865 Merge commit '5bf208f659703895df7926238dcfa8a8175de36b'
* commit '5bf208f659703895df7926238dcfa8a8175de36b':
  jpeg2000: Use separate fields for int and float codepaths
  jpeg2000: Split int/float codepaths depending on the DWT

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:30:05 +02:00
Michael Niedermayer
11cf4b7247 Merge commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea'
* commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea':
  jpeg2000: Improve reduced resolution decoding
  jpeg2000: Compute quantization for 'scalar derived' in the correct case.
  jpeg2000: Calculate code-block coord in ff_jpeg2000_init_component()

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:20:37 +02:00
Michael Niedermayer
c7a092cb2d Merge commit '4cbd5ed11b0161a6a192174934b241e0cc0599a9'
* commit '4cbd5ed11b0161a6a192174934b241e0cc0599a9':
  jpeg2000: Fix compute precedence error in lut_gain index
  jpeg2000: Initialize code blocks structures in precincts to 0
  jpeg2000: Check that we have enough components for MCT

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:03:08 +02:00
Michael Niedermayer
273f600b03 Merge commit 'b564784a207b1395d2b5a41e580539df04651096'
* commit 'b564784a207b1395d2b5a41e580539df04651096':
  jpeg2000: Check that there is a SOT before SOD
  jpeg2000: Remove unneeded returns

Conflicts:
	libavcodec/jpeg2000.c
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:59:35 +02:00
Michael Niedermayer
ac3ca3d311 Merge commit 'ef35d6dbc6c3b7ba6b13ac13fc8e797cc1268c8f'
* commit 'ef35d6dbc6c3b7ba6b13ac13fc8e797cc1268c8f':
  jpeg2000: Propagate error code from get_cox()
  jpeg2000: Check that nreslevels2decode has been initialized before use

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:50:51 +02:00
Michael Niedermayer
9dfa5ea5dc Merge commit '86a2602e16171ddc10c3ec655c23b16ffa595059'
* commit '86a2602e16171ddc10c3ec655c23b16ffa595059':
  jpeg2000: Drop unused and writeonly fields
  jpeg2000: Correctly calculate sgnd

Conflicts:
	libavcodec/jpeg2000.h
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:46:10 +02:00
Michael Niedermayer
a4a16821d7 Merge commit 'fd54dd028bc9f7bfb80ebf823a533dc84b73f936'
* commit 'fd54dd028bc9f7bfb80ebf823a533dc84b73f936':
  jpeg2000: check len before parsing header
  jpeg2000: Check component number in get_coc() and get_qcc()

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:38:37 +02:00
Michael Niedermayer
2cad1ea29e Merge commit '17e5d614a8647d51b9795cb8bccf97ee33ca2d58'
* commit '17e5d614a8647d51b9795cb8bccf97ee33ca2d58':
  jpeg2000: Check zero bit-plane validity

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:30:17 +02:00
Michael Niedermayer
db5c93a1a9 Merge commit '7e201d575dc4385eb67314b0419d4d77185e65f4'
* commit '7e201d575dc4385eb67314b0419d4d77185e65f4':
  jpeg2000: Validate block lengthinc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:28:51 +02:00
Michael Niedermayer
f0358dc1d3 Merge commit '278a923c51187d37445d88a6b21082036ec9568d'
* commit '278a923c51187d37445d88a6b21082036ec9568d':
  jpeg2000: Validate SIZ parsing

Conflicts:
	libavcodec/jpeg2000dec.c

This commit is not exactly merged due to bugs in it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:19:35 +02:00
Michael Niedermayer
2e85737b0e Merge commit 'd3cb302b88503c3111e25add196622110c056188'
* commit 'd3cb302b88503c3111e25add196622110c056188':
  jpeg2000: Validate SOT parsing

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 13:28:35 +02:00
Stefano Sabatini
838bd73139 lavfi: create Libav-API compatibility layer for avfilter_graph_parse() at the next bump
Add function avfilter_graph_parse_ptr() and favor it in place of
avfilter_graph_parse(), which will be restored with the old/Libav
signature at the next bump.

If HAVE_INCOMPATIBLE_LIBAV_API is enabled it will use the
Libav-compatible signature for avfilter_graph_parse().

At the next major bump the current implementation of
avfilter_graph_parse() should be dropped in favor of the Libav/old
implementation.

Should address trac ticket #2672.
2013-07-03 13:21:42 +02:00
Stefano Sabatini
5efbeae38c configure: rename have_incompatible_fork_abi -> have_incompatible_libav_abi
"Fork" is an ambiguous term, since there may be more than one fork, also
"fork" could be confused with the corresponding function. Also it seems
important to point the name of the referenced fork in the symbol.

Note: the old --enable-incompatible-fork-abi command is retained for
compatibility, although it should be considered deprecated.
2013-07-03 13:16:33 +02:00
Michael Niedermayer
7c71ef4f17 Merge commit '57bc64e'
* commit '57bc64e':
  jpeg2000: Use bytestream2
  jpeg2000: Clean up return paths and error messages
  jpeg2000: Define the maximum decomposition levels
  jpeg2000: Check code-block size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 13:07:45 +02:00
Michael Niedermayer
ffed7227c3 Revert "doc: add script to compute texi files dependencies"
This reverts commit 628ceac652.

The commit broke out of tree builds
2013-07-03 12:59:59 +02:00
Michael Niedermayer
57bc64e235 Merge commit '1a3598aae768465a8efc8475b6df5a8261bc62fc'
* commit '1a3598aae768465a8efc8475b6df5a8261bc62fc':
  jpeg2000: Use bytestream2

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:54:01 +02:00
Michael Niedermayer
26f6acc66b Merge commit '5efadcb8cdef6fc5ca5f1f72e45ef3b23016b1c4'
* commit '5efadcb8cdef6fc5ca5f1f72e45ef3b23016b1c4':
  jpeg2000: Clean up return paths and error messages

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:16:24 +02:00
Michael Niedermayer
b0448e5123 Merge commit 'be3271009ef893fbed9640e8edbd771685fd957b'
* commit 'be3271009ef893fbed9640e8edbd771685fd957b':
  jpeg2000: Define the maximum decomposition levels

Conflicts:
	libavcodec/jpeg2000.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:02:11 +02:00
Michael Niedermayer
3f0364327c Merge commit 'fbcc03db8f3919e2ea46d6ad11a00906b1c0ef0e'
* commit 'fbcc03db8f3919e2ea46d6ad11a00906b1c0ef0e':
  jpeg2000: Check code-block size

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 11:55:45 +02:00
Stefano Sabatini
759dfd5684 examples/muxing: make more compact audio/video_time computation 2013-07-03 11:31:34 +02:00
Timothy Gu
4ec46b1160 doc/muxers: Add AIFF doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-03 11:25:45 +02:00
Stefano Sabatini
628ceac652 doc: add script to compute texi files dependencies
Replace the inline awk script with a Perl script which tracks the
dependencies recursively.

This allows to correctly track dependencies for files including files
with a second level include (for example: ffmpeg-devices.texi ->
devices.texi -> outdevs.texi).

This also adds a dependency on perl for computing the dependencies, which
should not be a problem since perl is already required all the way for
building documentation.
2013-07-03 11:25:45 +02:00
Michael Niedermayer
37a970bbb6 Merge commit '5650e331a733711b809bc27f968500f0f5530126'
* commit '5650e331a733711b809bc27f968500f0f5530126':
  jpeg2000: Validate resolution levels

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 11:20:39 +02:00
Stefano Sabatini
b2498dcf5c lavc/avcodec.h: fix prolems -> problems typo 2013-07-03 10:15:30 +02:00
Michael Niedermayer
e0be3cbd2b MAINTAINERS: add address to contact "AvxSynth Team"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 02:26:13 +02:00
Tudor Suciu
820ffaed0f avformat/matroskaenc: Allow VP9 and Opus in webm
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 00:10:50 +02:00
Michael Niedermayer
95a57d26d8 jpeg2000: Use the matching coding style struct for transform selection
Fixes a null pointer dereference.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer
22e18ea39e jpeg2000: Optimize output sample conversion
67935 -> 29984 kcycles

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer
c4604b8792 jpeg2000: Merge rescaling with interleaving in 9/7 IDWT
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer
f0552e63a6 jpeg2000: Reset s->numX/Ytiles on tile deallocation
Keep the structure fields more consistent after cleanup.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer
d57c737ac3 jpeg2000: Simplify jpeg2000_decode_packets()
Raise PATCHWELCOME error in case of non-implemented progression order.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Luca Barbato
daeb4e3042 jpeg2000: Proper cleanup on failure in decode_frame()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
e11099db20 jpeg2000: Optimize dequantization
Float:   4700 -> 2700 cycles
Integer: 4400 -> 2800 cycles

(sandybridge  i7)

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
09d5929f37 jpeg2000: Do not crash on NULL node in tag_tree_decode
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
c1dcbc590d jpeg2000: Do not assume a single tile
In preparation of supporting multiple tiles.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
aa16bbaf9b jpeg2000: Refactor SOT marker parsing
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
53d5d89c1b jpeg2000: Speed up jpeg2000_decode_tile()
Skip processing bands with dimension set to 0.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
64f6570c6e jpeg2000: Use EBCOT's CAUSAL and BYPASS mode in decode_cblk()
Speed it up a bit.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
589e5b52f6 jpeg2000: Use the correct sizeof in memset for T1 data
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
db13e02c6f jpeg2000: Compute corrections of sub-band coordinates
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
5bf208f659 jpeg2000: Use separate fields for int and float codepaths
Split stepsize and data into int and float variants.
Eliminates a number of casts and simplifies spotting errors.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
f9581f1414 jpeg2000: Improve reduced resolution decoding
Correctly scale down the component coordinates and
clean up some redundant code.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
5b73916d34 jpeg2000: Simplify init_tile()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
690c8af97b jpeg2000: Remove unneeded variable initialization
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
a458b91cf4 jpeg2000: Split int/float codepaths depending on the DWT
DWT53 is always int, DWT97 is always float.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
33e665a6ab jpeg2000: Update pixel format support
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:46 +02:00
Michael Niedermayer
4cbd5ed11b jpeg2000: Fix compute precedence error in lut_gain index
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
b564784a20 jpeg2000: Check that there is a SOT before SOD
Avoid overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
ef35d6dbc6 jpeg2000: Propagate error code from get_cox()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
952f7ed3c0 jpeg2000: Compute quantization for 'scalar derived' in the correct case.
Scalar derived case is represented by the JPEG2K_QSTY_SI define.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
b44925ae6b jpeg2000: Initialize code blocks structures in precincts to 0
Prevent use of uninitialized memory / valgrind failure.

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
2c3901b2c3 jpeg2000: Remove unneeded returns
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
78962d3df4 jpeg2000: Check that nreslevels2decode has been initialized before use
Avoid buffer overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
4e11b15534 jpeg2000: Calculate code-block coord in ff_jpeg2000_init_component()
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
cf04af2086 jpeg2000: Check that we have enough components for MCT
Avoid overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:45 +02:00
Michael Niedermayer
86a2602e16 jpeg2000: Drop unused and writeonly fields
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer
fd54dd028b jpeg2000: check len before parsing header
Avoid overread.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer
17e5d614a8 jpeg2000: Check zero bit-plane validity
Prevent integer overflows.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Luca Barbato
7e201d575d jpeg2000: Validate block lengthinc
Currently we are using an array with a static data size.

Similar to a patch with the same purpose by Michael Niedermayer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer
278a923c51 jpeg2000: Validate SIZ parsing
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer
d3cb302b88 jpeg2000: Validate SOT parsing
Avoid some overreads.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer
ac921338a4 jpeg2000: Correctly calculate sgnd
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer
eae63e3c15 jpeg2000: Check component number in get_coc() and get_qcc()
Avoid overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:44 +02:00
Michael Niedermayer
1a3598aae7 jpeg2000: Use bytestream2
Prevent a number of overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Luca Barbato
5efadcb8cd jpeg2000: Clean up return paths and error messages
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Luca Barbato
be3271009e jpeg2000: Define the maximum decomposition levels
And define the resolution levels according.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Michael Niedermayer
fbcc03db8f jpeg2000: Check code-block size
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Luca Barbato
5650e331a7 jpeg2000: Validate resolution levels
There are 32 maximum decomposition levels, thus 33 resolution levels.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
wm4
c3316ddb83 lavf: add support for libgme
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 18:52:45 +02:00
Jean Delvare
0472f64c55 Add a maintainer for the delogo filter
I volunteer to maintain the delogo filter for at least the year to
come.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
patch/commit split by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 16:39:27 +02:00
Jean Delvare
de8d56c6e3 MAINTAINERS: clarify the expected format in the document header
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Patch/commit split by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 16:38:23 +02:00
Michael Niedermayer
d59ec0adbb avformat_find_stream_info: move ret init down from flush codecs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer
c5ddd75354 avformat_find_stream_info: Do not consider no streams an error in flush codecs
This should have no functional effect, but allows a cleaner diff when moving it
down

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer
c826c5698b avformat_find_stream_info: try to preserve the error code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:51 +02:00
Michael Niedermayer
ccba9535dc av_find_stream_info: initialize ret
This should fix hypothetical corner cases where it might have never been initialized before use

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 15:07:44 +02:00
Carl Eugen Hoyos
2492f7774f avformat: Print "Consider increasing the value for analzeduration and probesize" even more often
The sample from ticket #2691 currently does not trigger "Consider increasing
the value for analzeduration and probesize" because the audio streams are
only added after calling estimate_timings(). Attached patch moves the message
below this function call.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 14:08:36 +02:00
Michael Niedermayer
a478e99a60 avutil/x86: reenable ff_update_lls_avx()
The bug has been fixed in c8b920a9b7 by Loren Merritt

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 12:02:08 +02:00
Michael Niedermayer
951a365504 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  oggdec: do not fall back on binary search in the generic code.

Conflicts:
	libavformat/oggdec.c
	tests/ref/seek/lavf-ogg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 11:50:30 +02:00
Michael Niedermayer
d1fa671895 Merge commit 'c8b920a9b7fa534a6141695ace4e8c2dfcd56cee'
* commit 'c8b920a9b7fa534a6141695ace4e8c2dfcd56cee':
  lls/x86: use 3-operator vaddpd in ADDPD_MEM

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 11:40:44 +02:00
Michael Niedermayer
bc62b24d11 Merge commit '8bd9039900e67a633cc838d691c449e71c060553'
* commit '8bd9039900e67a633cc838d691c449e71c060553':
  Revert "indeo5: reject negative motion vectors"

See: cc53c28fdc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 11:27:26 +02:00
Anton Khirnov
8ad3267ce3 oggdec: do not fall back on binary search in the generic code.
Binary search is already attempted in the format-specific seek function,
so the fallback is only reached if binary search failed already.
2013-07-02 10:37:22 +02:00
Loren Merritt
c8b920a9b7 lls/x86: use 3-operator vaddpd in ADDPD_MEM
Fixes build with yasm-1.1

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-07-02 10:15:09 +02:00
Michael Niedermayer
a35494c566 h264: fix indention of xchg_mb_border()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 03:27:14 +02:00
Michael Niedermayer
f27b22b497 h264: move 444 border xchg under if (deblock_top)
Fixes out of array access
Fixes Ticket2668

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 03:27:04 +02:00
wm4
a92fbe16f2 lavf/http: add support for reading streamcast metadata
Allow applications to request reading streamcast metadata. This uses
AVOptions as API, and requires the application to explicitly request
and read metadata. Metadata can be updated mid-stream; if an
application is interested in that, it has to poll for the data by
reading the "icy_metadata_packet" option in regular intervals.

There doesn't seem to be a nice way to transfer the metadata in a nicer
way. Converting the metadata to ID3v2 tags might be a nice idea, but
the libavformat mp3 demuxer doesn't seem to read these tags mid-stream,
and even then we couldn't guarantee that tags are not inserted in the
middle of mp3 packet data.

This commit provides the minimum to enable applications to retrieve
this information at all.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-02 02:00:56 +02:00
Michael Niedermayer
bf87908cd8 rmdec: Pass AVIOContext to rm_read_metadata()
Fix null pointer dereference
Fixes Ticket2588

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-02 00:45:15 +02:00
Paul B Mahol
e1b0d3a389 westwood_vqa: check return value of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-01 22:15:25 +00:00
Paul B Mahol
16e0416fa4 idcin: check return value of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-01 22:04:48 +00:00
Paul B Mahol
51f1bf3309 bfi: check return value of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-07-01 21:37:16 +00:00
Michael Niedermayer
b791a0831b avcodec/x86/dsputil_init: only use xvid idct for lowres=0
Fixes crash
Fixes Ticket2714

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 20:56:37 +02:00
Stefano Sabatini
7ebab4159a doc/encoders: apply various fixes to libmp3lame documentation 2013-07-01 16:00:37 +02:00
Michael Niedermayer
38f1d56769 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo: check for reference when inheriting mvs

See: 4b35ee0b7c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 12:11:29 +02:00
Michael Niedermayer
cc53c28fdc Merge commit '1194a410807bac3eafbeb632578b937656d273e7'
* commit '1194a410807bac3eafbeb632578b937656d273e7':
  indeo5: reject negative motion vectors

The added check is wrong and thus not merged.
A correct check already exists in avcodec.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 11:58:14 +02:00
Michael Niedermayer
280afa40bc Merge commit 'dd3754a48854cd570d38db72394491aab0f36570'
* commit 'dd3754a48854cd570d38db72394491aab0f36570':
  indeo: use proper error code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 11:37:37 +02:00
Michael Niedermayer
43229d609a Merge commit '7388c0c58601477db076e2e74e8b11f8a644384a'
* commit '7388c0c58601477db076e2e74e8b11f8a644384a':
  indeo: Properly forward the error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 11:31:25 +02:00
Jean Delvare
16fd75ceec lavfi/delogo: use weighted interpolation
The original delogo algorithm interpolates both horizontally and
vertically and uses the average to compute the resulting sample. This
works reasonably well when the logo area is almost square. However
when the logo area is significantly larger than high or higher than
large, the result is largely suboptimal.

The issue can be clearly seen by testing the delogo filter with a fake
logo area that is 200 pixels large and 2 pixels high. Vertical
interpolation gives a very good result in that case, horizontal
interpolation gives a very bad result, and the overall result is poor,
because both are given the same weight.

Even when the logo is roughly square, the current algorithm gives poor
results on the borders of the logo area, because it always gives
horizontal and vertical interpolations an equal weight, and this is
suboptimal on borders. For example, in the middle of the left hand
side border of the logo, you want to trust the left known point much
more than the right known point (which the current algorithm already
does) but also much more than the top and bottom known points (which
the current algorithm doesn't do.)

By properly weighting each known point when computing the value of
each interpolated pixel, the visual result is much better, especially
on borders and/or for high or large logo areas.

The algorithm I implemented guarantees that the weight of each of the
4 known points directly depends on its distance to the interpolated
point. It is largely inspired from the original algorithm, the key
difference being that it computes the relative weights globally
instead of separating the vertical and horizontal interpolations and
combining them afterward.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-07-01 09:33:33 +02:00
Luca Barbato
8bd9039900 Revert "indeo5: reject negative motion vectors"
Negative motion vectors are possible.

This reverts commit 1194a41080.
2013-07-01 06:49:46 +02:00
Luca Barbato
b36e1893ef indeo: check for reference when inheriting mvs
The same is done already for qdelta.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:20:58 +02:00
Luca Barbato
1194a41080 indeo5: reject negative motion vectors
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:20:51 +02:00
Luca Barbato
dd3754a488 indeo: use proper error code 2013-07-01 04:17:46 +02:00
Luca Barbato
7388c0c586 indeo: Properly forward the error codes
If the tile data size does not match the buffer size it did not
return an AVERROR_INVALIDDATA causing futher corruption later.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-07-01 04:17:46 +02:00
Carl Eugen Hoyos
b42bcaef29 Avoid a null pointer dereference in avcodec_decode_audio4().
This could happen if oom occured while probing a file.
Fixes ticket #2722.
2013-07-01 03:07:44 +02:00
Michael Niedermayer
ec837a0899 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: always send zero packets to flush audio decoders
  ffplay: use frame->pkt_pts instead of pkt->pts in audio pts calculation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:41:26 +02:00
Michael Niedermayer
a6e46ed51a Revert "avutil/x86: disable ff_evaluate_lls_sse2() for 32bit"
This reverts commit 247425241c.
2013-07-01 02:27:47 +02:00
Michael Niedermayer
4e488ac5f5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: lpc: fix a segfault in av_evaluate_lls_sse2()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:26:22 +02:00
Michael Niedermayer
709cae2bcb vorbisdec: Check VLC tables during use instead of setup
Fixes regression and Ticket2720

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:09:29 +02:00
Michael Niedermayer
ae038c0914 vorbisdec: propagate errors from setup_classifs()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-01 02:08:50 +02:00
Loren Merritt
1221bb6239 x86: lpc: fix a segfault in av_evaluate_lls_sse2() 2013-06-30 23:11:19 +00:00
Marton Balint
02fc61a5a6 ffplay: always send zero packets to flush audio decoders
Zero packets are needed not for codecs with CODEC_CAP_DELAY but for
multithreaded decoders as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-01 00:24:03 +02:00
Marton Balint
447d2e31d1 ffplay: use frame->pkt_pts instead of pkt->pts in audio pts calculation
Fixes ticket #2717.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-07-01 00:24:03 +02:00
Carl Eugen Hoyos
712ef25116 Avoid a null pointer dereference after oom on frame size change in mpegvideo.c.
Fixes ticket #2735.
2013-06-30 23:45:37 +02:00
Carl Eugen Hoyos
f4aa8085f2 Avoid a null pointer dereference on oom in the aac encoder.
Fixes ticket #2732.
2013-06-30 23:25:18 +02:00
Paul B Mahol
84343dd9d3 indeo3: check return values of av_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-30 19:43:55 +00:00
Michael Niedermayer
b00e56bec5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Support compilation on aix with gcc.
  Rename "AVClass class" as "AVClass component_class".
  Rename constant FRAMESIZE in ra144 codec as FRAME_SIZE.
  Rename thread_init() in libavcodec and libavfilter as library_thread_init().
  Rename constant HZ in af_biquads.c as HERTZ.
  Drop local lable from ppc asm timer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 21:18:17 +02:00
Michael Niedermayer
247425241c avutil/x86: disable ff_evaluate_lls_sse2() for 32bit
It just segfaults on 32bit, thus its disabled until someone fixes it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 19:03:57 +02:00
Paul B Mahol
7e112df470 flac_parser: check return value of av_fifo_alloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-30 16:49:45 +00:00
Matthieu Bouron
9e6d063dbc lavf/movenc: use ffio_fill()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:28:51 +02:00
Michael Niedermayer
4e99660493 mpegts: use seek_back() for all seek backs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:23:50 +02:00
Michael Niedermayer
a5f23d8da0 mpegts: factor seek_back() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:23:46 +02:00
Michael Niedermayer
b7c6685268 mpegts_read_header: goto fail instead of return directly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 16:23:42 +02:00
Michael Niedermayer
afddf0d910 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mjpeg: Check the unescaped size for overflows

Conflicts:
	libavcodec/mjpegdec.c

See: a9456c7c5c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 14:11:38 +02:00
Michael Niedermayer
e3fb8ac956 Merge commit '7520d9779c6d30b385df5a0a42da508238076192'
* commit '7520d9779c6d30b385df5a0a42da508238076192':
  mjpeg: Move code out of else branch

Conflicts:
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:50:55 +02:00
Carl Eugen Hoyos
f803e0dc0e Support compilation on aix with gcc.
Shared libraries and the IBM compiler are currently not supported.
"--arch=ppc" has to be passed to configure, uname is not compatible.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos
0915b531bc Rename "AVClass class" as "AVClass component_class".
The aix header math.h defines "extern int class()" for C.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos
742b961769 Rename constant FRAMESIZE in ra144 codec as FRAME_SIZE.
The aix header sys/mstsave.h defines FRAMESIZE as _FRAMESIZE.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos
674d8a9629 Rename thread_init() in libavcodec and libavfilter as library_thread_init().
The aix header sys/thread.h contains a definition for thread_init().
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos
33f5d70df5 Rename constant HZ in af_biquads.c as HERTZ.
The aix header sys/m_param.h defines HZ as _HZ.
2013-06-30 13:47:45 +02:00
Carl Eugen Hoyos
6258e86d4b Drop local lable from ppc asm timer.
The aix assembler does not support local lables.
2013-06-30 13:47:44 +02:00
Michael Niedermayer
06549cee42 Merge commit '7798a59dc14ae27efe64e639a42646002608a908'
* commit '7798a59dc14ae27efe64e639a42646002608a908':
  avconv: Don't include colorspace.h

No change as the commit is already part of ffmpeg.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:43:05 +02:00
Michael Niedermayer
c1fc4ff937 Merge commit '02ec656af72030eea4f3d63e30b25625cce6a3df'
* commit '02ec656af72030eea4f3d63e30b25625cce6a3df':
  wmapro: error out on impossible scale factor offsets

The check is replaced by an assert(), as the condition cannot be
true except through bugs elsewhere (which should have been fixed
already)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:35:36 +02:00
Michael Niedermayer
490ed7f0ec Merge commit 'd4a217a408da4bd63acc02cd8f9ebe378a2ad65a'
* commit 'd4a217a408da4bd63acc02cd8f9ebe378a2ad65a':
  wmapro: check the min_samples_per_subframe

Conflicts:
	libavcodec/wmaprodec.c

See: 9166f483c5

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:21:49 +02:00
Michael Niedermayer
97947d9bba Merge commit '183880cfc4aae53ce504e13337791cad5841c80c'
* commit '183880cfc4aae53ce504e13337791cad5841c80c':
  pictor: use the correct logging context

No change, as this has already been fixed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 13:04:40 +02:00
Michael Niedermayer
e27be795f0 avcodec/lpc: Use a function pointer from an initialized context
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:40:16 +02:00
Michael Niedermayer
32a3955259 Merge commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740'
* commit 'c93ccf5a4cca722b39f05e9f5660b4cb75bc1740':
  lpc: use levinson for the first pass of multipass cholesky

Conflicts:
	libavcodec/lpc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:26:58 +02:00
Michael Niedermayer
6e76e6a05a Merge commit 'b545179fdff1ccfbbb9d422e4e9720cb6c6d9191'
* commit 'b545179fdff1ccfbbb9d422e4e9720cb6c6d9191':
  x86: lpc: simd av_evaluate_lls

Conflicts:
	libavutil/x86/lls.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:15:12 +02:00
Michael Niedermayer
a285079bc7 lls.asm: disable ff_update_lls_avx
The code doesnt build with yasm from ubuntu 12.04

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:12:11 +02:00
Michael Niedermayer
0b40c50508 lls.asm: put avx code under if HAVE_AVX_EXTERNAL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 12:12:01 +02:00
Michael Niedermayer
78b5479633 Merge commit '502ab21af0ca68f76d6112722c46d2f35c004053'
* commit '502ab21af0ca68f76d6112722c46d2f35c004053':
  x86: lpc: simd av_update_lls

The versions are bumped due to changes in lls.h which is used across
libraries affecting intra library ABI
(This version bump also covers changes to lls.h in the immedeatly previous
 commits)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 11:35:52 +02:00
Michael Niedermayer
c93a424718 Merge commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2'
* commit '41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2':
  lpc: use function pointers, in preparation for asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 11:23:43 +02:00
Michael Niedermayer
d3bd320e63 Merge commit 'cc6714bb16b1f0716ba43701d47273dbe9657b8b'
* commit 'cc6714bb16b1f0716ba43701d47273dbe9657b8b':
  lpc: remove "decay" argument

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 10:54:20 +02:00
Luca Barbato
6765ee7b9c mjpeg: Check the unescaped size for overflows
And contextually check init_get_bits success and fix the reporting
message.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-30 08:48:51 +02:00
Luca Barbato
7520d9779c mjpeg: Move code out of else branch
Simplify the control flow and spare some vertical space.
2013-06-30 08:46:55 +02:00
Michael Niedermayer
ff130d7363 get_xbits: assert validity of the number of bits
similar is already done in the other get_bits() functions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:40:18 +02:00
Michael Niedermayer
68efb1d60a 4xm: Dont ignore dc run errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:35:22 +02:00
Michael Niedermayer
13c56e9a9c 4xm: check for invalid zero ac coeffs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:35:22 +02:00
Michael Niedermayer
6d6eabd399 mjpeg_decode_dc: check code before using it in get_xbits()
Fixes undefined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-30 01:35:22 +02:00
Derek Buitenhuis
58950ca0df ffmpeg: Don't include colorspace.h
The header is private, and ffmpeg.c doesn't use it
for anything.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-29 16:44:12 -04:00
Michael Niedermayer
a2802d3cd4 get_pix_fmt_score: favor equal formats if all else equal
Fixes Ticket2578

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 22:20:20 +02:00
Derek Buitenhuis
7798a59dc1 avconv: Don't include colorspace.h
The header is private, and avconv.c doesn't use it
for anything.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-29 14:24:02 -04:00
Michael Niedermayer
7f866c14ba update all trac links to use the trac subdomain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 19:27:49 +02:00
Michael Niedermayer
a2e50fa068 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Avoid a null pointer dereference on clean-up after oom in ac3 encoder.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 19:16:49 +02:00
Luca Barbato
02ec656af7 wmapro: error out on impossible scale factor offsets
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-29 18:11:59 +02:00
Luca Barbato
d4a217a408 wmapro: check the min_samples_per_subframe
Must be at least WMAPRO_BLOCK_MIN_SIZE.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-29 18:11:40 +02:00
Luca Barbato
183880cfc4 pictor: use the correct logging context
Broken in 6d97484d72
2013-06-29 18:11:12 +02:00
Reuben Martin
2fa89b2736 Added codec ID to playback DNxHD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 18:02:37 +02:00
Carl Eugen Hoyos
225f78b7ef Avoid a null pointer dereference on clean-up after oom in ac3 encoder. 2013-06-29 17:50:07 +02:00
Carl Eugen Hoyos
90bd75e6eb Avoid a null pointer dereference on oom when decoding smacker.
Fixes ticket #2728.
2013-06-29 16:04:07 +02:00
Carl Eugen Hoyos
a1dbe49d02 Propagate error return values from the smacker decoder. 2013-06-29 16:02:43 +02:00
Carl Eugen Hoyos
ac83d62136 Avoid a null pointer dereference on oom when decoding vc1.
Fixes ticket #2723.
2013-06-29 14:49:47 +02:00
Stefano Sabatini
d47168e729 doc/muxers: apply various minor fixes to segment documentation 2013-06-29 14:12:11 +02:00
Stefano Sabatini
f150db096d doc/muxers: sort muxers by name 2013-06-29 14:12:11 +02:00
Loren Merritt
c93ccf5a4c lpc: use levinson for the first pass of multipass cholesky
Levinson is faster, and cholesky is only needed if we want to apply different
weights to different samples, which doesn't happen on the first pass.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:26:52 +02:00
Loren Merritt
b545179fdf x86: lpc: simd av_evaluate_lls
1.5x-1.8x faster on sandybridge

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt
502ab21af0 x86: lpc: simd av_update_lls
4x-6x faster on sandybridge

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt
41578f70cf lpc: use function pointers, in preparation for asm
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Loren Merritt
cc6714bb16 lpc: remove "decay" argument
We never used the rolling-average mode, and this makes av_update_lls 15% faster.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-29 13:23:57 +02:00
Michael Niedermayer
a3e9f4c32a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmapro: check num_vec_coeffs against the actual available buffer

Conflicts:
	libavcodec/wmaprodec.c

The check is replaced by an assert.

See: b21ba20cc8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 12:23:56 +02:00
Michael Niedermayer
562e8d019b Merge commit '6652338f43ef623045912d7f28b61adea05d27ae'
* commit '6652338f43ef623045912d7f28b61adea05d27ae':
  wmapro: return early on unsupported condition

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 11:47:26 +02:00
Michael Niedermayer
3e33db3f65 Merge commit 'e30b068ef79f604ff439418da07f7e2efd01d4ea'
* commit 'e30b068ef79f604ff439418da07f7e2efd01d4ea':
  wmapro: make sure there is room to store the current packet

The check is replaced by an assert as it is impossible to occur
See: 780d45473c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 11:37:09 +02:00
Michael Niedermayer
c1343897c3 Merge commit 'afe03092dd693d025d43e1620283d8d285c92772'
* commit 'afe03092dd693d025d43e1620283d8d285c92772':
  lavc: move put_bits_left in put_bits.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 10:59:04 +02:00
Michael Niedermayer
53fd1ab26b avformat: make av_register_*put_format() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:46:10 +02:00
Michael Niedermayer
b36b5edb8f avcodec/bitstream_filter: make av_register_bitstream_filter() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:39:03 +02:00
Michael Niedermayer
08f6fdc3e4 avcodec/parser: Make av_register_codec_parser() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:32:57 +02:00
Michael Niedermayer
8738d94274 avcodec: Make av_register_hwaccel() and avcodec_register() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 03:28:58 +02:00
Timothy Gu
a9bbf59be7 cosmetics: Fix "dont" "wont" "doesnt" typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 02:31:16 +02:00
Michael Chinen
fc736a99ea flac_parser.c: fix case when final frame is a false positive
Should fix https://ffmpeg.org/trac/ffmpeg/ticket/2552
Only did minimal testing on a few files and fate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 00:31:14 +02:00
Michael Niedermayer
804c7b2c62 udp: Fix receiving large udp packets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-29 00:10:15 +02:00
Paul B Mahol
36748d4b6c tak_parser: properly mark packets as key frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-28 21:31:14 +00:00
Carl Eugen Hoyos
2bccd82c29 Do not list libshine like a main option in configure's output.
It is listed as an enabled external library if applicable.
2013-06-28 16:23:39 +02:00
Luca Barbato
3822936252 wmapro: check num_vec_coeffs against the actual available buffer
Prevent yet another buffer overwrite.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:16:35 +02:00
Luca Barbato
6652338f43 wmapro: return early on unsupported condition
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:16:00 +02:00
Luca Barbato
e30b068ef7 wmapro: make sure there is room to store the current packet
Prevent horrid and hard to trace struct overwrite.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-28 13:15:40 +02:00
Luca Barbato
afe03092dd lavc: move put_bits_left in put_bits.h 2013-06-28 13:14:12 +02:00
Timothy Gu
7eb5288f17 doc/decoders: document libopus decoder
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-28 13:09:10 +02:00
Timothy Gu
934df3b037 doc/encoders: alphabetically list the encoders
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-28 13:07:15 +02:00
Michael Niedermayer
2236456715 avfilter/avfilter: Make avfilter_register() thread safe
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 12:44:03 +02:00
Michael Niedermayer
16310e36d9 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Avoid a null pointer dereference in avcodec_decode_video2().
  Set block_align when reading QDM2 in mov.
  Fix muxing QDM2 mono into caf.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:14:16 +02:00
Michael Niedermayer
831e749bc9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: return meaningful errors

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:08:43 +02:00
Michael Niedermayer
1bcfb1eea8 Merge commit '6d8629aac13692447b54eac795bf74007ebf8987'
* commit '6d8629aac13692447b54eac795bf74007ebf8987':
  aac: K&R formatting cosmetics

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 10:00:51 +02:00
Carl Eugen Hoyos
41f3c60fbb Avoid a null pointer dereference in avcodec_decode_video2().
This could happen if oom occured while probing a file.
Reported in ticket #1900.
2013-06-28 09:04:43 +02:00
Carl Eugen Hoyos
f91833210e Set block_align when reading QDM2 in mov.
Fixes ticket #2718.
2013-06-28 09:04:16 +02:00
Carl Eugen Hoyos
7f1b3c2ca6 Fix muxing QDM2 mono into caf. 2013-06-28 09:04:16 +02:00
Michael Niedermayer
ef90639004 avfilter/vf_mp: preserve pixel format when possible
Fixes Ticket2577

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-28 03:32:00 +02:00
Reuben Martin
86190afbda gxf: Added codec ID to playback AVCHD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 18:13:45 +02:00
Stefano Sabatini
7eb6eb03d8 lavc/mpegvideo_enc: simplify timestamp checks in load_input_picture()
Also improve error feedback while at it.
2013-06-27 17:46:52 +02:00
Reuben Martin
c4db4b1756 Added GXF format code to identify AVC Intra video streams. This was an extension to the origional GXF spec implemented by Grass Valley.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 17:40:01 +02:00
Reuben Martin
7ebf3ab959 gxf: Factorize code in get_sindex()
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 17:18:59 +02:00
Reuben Martin
0de9d3dd1c gxf: Added GXF format code 25 which is used for DV codec in HD resolutions
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 17:18:41 +02:00
Nigel Touati-Evans
42bd0cd21a Fix copying extradata to codec in mxfdec.c
The code that copies any extradata from the MXFDescriptor to the codec does
not set the size, which it should otherwise the copied data is useless.
Attached it a patch to correct this.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 13:32:48 +02:00
Michael Niedermayer
e4198d2fc3 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: simplify and fix flushing out old subtitles on seeking

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-27 02:01:44 +02:00
Luca Barbato
07c52e2c7c aac: return meaningful errors 2013-06-27 01:22:36 +02:00
Luca Barbato
6d8629aac1 aac: K&R formatting cosmetics 2013-06-27 01:22:06 +02:00
Stefano Sabatini
5c616fe48b ffprobe: always exit 1 in case of errors
This is consistent with the other ff* tools, and also avoids spurious
success reports when ret%256 = 0.
2013-06-27 00:20:36 +02:00
Stefano Sabatini
1fc626f8d0 ffprobe: reindent after previous commit 2013-06-27 00:20:28 +02:00
Nicolas George
a334b00cf6 ffprobe: fix exit code with stream specifiers
Without this fix, ffprobe would exit with a failure exit code if a stream
specifier is given that selects the last stream.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
2013-06-27 00:20:20 +02:00
Stefano Sabatini
205092bf47 ffprobe: simplify branching logic in probe_file() 2013-06-27 00:20:11 +02:00
Stefano Sabatini
80b56a7bdd examples/muxing: rename audio/video_pts to audio/video_time
The new name is less confusing, since the variables represent times
rather than timestamps.
2013-06-26 23:38:42 +02:00
Stefano Sabatini
db7ebab5c3 doc/bitstream_filters: document the chomp filter
TODO: add some meaningful examples.
2013-06-26 23:22:48 +02:00
Stefano Sabatini
7b38c4c95f doc/bitstream-filters.texi: add documentation for the aac_adtstoasc filter
Based on the notes in libavcodec/aac_adtstoasc_bsf.c.
2013-06-26 23:22:39 +02:00
Stefano Sabatini
418b9454ff lavf/movenc: improve error feedback in case malformed AAC bitstream is detected
Consistent with the FLV muxer.
2013-06-26 23:22:31 +02:00
Stefano Sabatini
08b99be7c4 lavf/mux: rename variable cortag -> tagbuf2 in init_muxer()
Possibly enhance readibility.
2013-06-26 23:22:22 +02:00
Stefano Sabatini
47c9887eca lavc/utils: improve feedback in case of invalid packet size 2013-06-26 23:22:13 +02:00
Stefano Sabatini
c58d535b2f examples/Makefile: disable -O2 optimizations
There is no much point in optimizing example code, and the -O2 flag is
annoying when debugging.
2013-06-26 23:21:39 +02:00
Stefano Sabatini
3aa57e1582 examples/muxing: remove useless instruction
Simpler and less confusing.
2013-06-26 23:21:06 +02:00
Marton Balint
9fac752afa ffplay: simplify and fix flushing out old subtitles on seeking
Fixes the additional issue reported in ticket #2666.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-26 22:30:16 +02:00
Jean Delvare
ff995e2b6f doc/filters: Fix texi syntax
Commit f1efaf8371 used parentheses
instead of curly braces in texi syntax, resulting in warnings when
the documentation is generated. Fix that.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 21:23:20 +02:00
Michael Niedermayer
034b31df2c swscale: Fix PAL8 input with alpha
Fixes Ticket2158

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 15:14:00 +02:00
Michael Niedermayer
ee97982408 avfilter/src_movie: Fix handling of packet size for video
See Ticket2556

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 13:46:19 +02:00
Michael Niedermayer
87bc648930 libavfilter/src_movie: fix which packet is reset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 13:06:11 +02:00
Carl Eugen Hoyos
1235e91b30 Require pthreads for compilation with OpenCL support.
Fixes a part of ticket #2422.

Reviewed-by: James Almer
2013-06-26 09:46:09 +02:00
Carl Eugen Hoyos
35aed74fdc Use AV_RN32 for an unaligned read in the mxg demuxer.
Fixes ticket #2707.
2013-06-26 09:33:44 +02:00
wm4
e59fb3f8b1 lavf: silence max_analyze_duration warning
This is part of normal operation with some formats. A warning should
indicate that something is wrong, and the documentation for AV_LOG_WARNING
says: "Something somehow does not look correct."

Since this message is most likely useful for debugging only, raise the
log level accordingly.

Plus-one-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 01:36:27 +02:00
Michael Niedermayer
d3788558b0 avcodec/cllc: Fix clobbered ff_get_buffer() change
Issue-since: 9328ae4843

Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 01:21:43 +02:00
Michael Niedermayer
73215fe30a vf_drawbox: give all v_log() a context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 00:54:08 +02:00
Michael Niedermayer
47da9b2c51 vf_drawbox: avoid declaration in for() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 00:52:16 +02:00
Michael Niedermayer
f1efaf8371 Merge branch 'drawbox_exprs' of https://github.com/mjmvisser/FFmpeg
* 'drawbox_exprs' of https://github.com/mjmvisser/FFmpeg:
  enabled expressions on x, y, w, h and t parameters for drawgrid and drawbox, added examples

Reviewed-by: Andrey Utkin
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-26 00:33:41 +02:00
Paul B Mahol
ad194b0487 xa: abort if number of channels or sample rate is 0
Fixes #2711.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-25 22:24:55 +00:00
Luca Barbato
da8c9b324c lxfdec: remove wrong and unneeded check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-25 19:38:00 +00:00
Stefano Sabatini
4b6cf1ce0e examples/muxing: vertically align 2013-06-25 21:36:53 +02:00
Stefano Sabatini
0a3589bf2f lavc/pngdec: return meaningful error codes 2013-06-25 21:28:56 +02:00
Mark Visser
84f571e37f enabled expressions on x, y, w, h and t parameters for drawgrid and drawbox, added examples 2013-06-25 11:38:59 -04:00
Michael Niedermayer
015cc3239a lavfi/movie: free packet on decoder error
Prevents infinite loop, see Ticket2556

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 13:37:40 +02:00
Michael Niedermayer
876e960d90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Do not omit frame pointers for msvc/icl debug builds

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:34:48 +02:00
Michael Niedermayer
767e171c9a Merge commit '9f4a16c52ea8f2383244587ea4cb534fe7f6da49'
* commit '9f4a16c52ea8f2383244587ea4cb534fe7f6da49':
  configure: Do not explicitly set Oy for msvc/icl

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:34:14 +02:00
Michael Niedermayer
7efcd531cf Merge commit 'b6507930ac1898aed62ab0b56afc7d6734ad830b'
* commit 'b6507930ac1898aed62ab0b56afc7d6734ad830b':
  fate: Add Canopus Lossless YUY2 test

Conflicts:
	tests/fate/lossless-video.mak
	tests/ref/fate/cllc-yuy2-noblock

No change as the change is already in master

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:27:16 +02:00
Derek Buitenhuis
11081ab6be fate: Add Canopus Lossless YUY2 test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 11:26:23 +02:00
Michael Niedermayer
9328ae4843 Merge commit 'd9c89ef86b9400e50c2486f9406fad15c85bab22'
* commit 'd9c89ef86b9400e50c2486f9406fad15c85bab22':
  cllc: Use outbuf in RGB and ARGB functions
  cllc: Implement YUV support

Conflicts:
	libavcodec/cllc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 10:51:19 +02:00
Michael Niedermayer
bad8f04b04 Merge commit 'b0ce601c160c87349d093d7e542b5c752754f598'
* commit 'b0ce601c160c87349d093d7e542b5c752754f598':
  doc/platform: Add info about ICL

Conflicts:
	doc/platform.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-25 10:46:52 +02:00
Ronald S. Bultje
cea8a0077f yuv4mpeg: correctly handle chroma for odd luma sizes.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 19:13:58 -04:00
Alex Smith
4f6b192e2e configure: Do not omit frame pointers for msvc/icl debug builds
Because O1 or O2 are required to build libav with msvc/icl, this must be
explicitly set instead of just omitting Oy.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 18:51:30 -04:00
Alex Smith
9f4a16c52e configure: Do not explicitly set Oy for msvc/icl
It is implied by O1 or O2, both of which are required to build libav
with msvc/icl.  Silences warnings when targeting x64 with icl.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 18:51:20 -04:00
Derek Buitenhuis
b6507930ac fate: Add Canopus Lossless YUY2 test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 18:26:08 -04:00
Matthew Heaney
1029822a91 lavf/webvttdec: use private option to specify WebVTT kind
WebVTT subtitle tracks have four kinds. Certain downstream muxers
(such as for WebM) need to know which WebVTT kind this is, in order to
specify the codec id of the output track.

A new private input option, "-kind", has been added to the WebVTT
demuxer.  It accepts as a value any of "subtitles" (the default),
"captions", "descriptions", and "metadata".  The kind option value is
used to assign a value to the stream disposition flag, to which four
new values have been added, corresponding the four WebVTT kinds.

Signed-off-by: Matthew Heaney <matthewjheaney@google.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2013-06-25 00:13:47 +02:00
Matthew Heaney
bc35df29c1 lavf: add AV_DISPOSITION flags for WebVTT text track kinds
There are 4 separate WebVTT text track kinds: subtitles (the default
if not otherwise specified), captions, descriptions, and metadata.
The WebM muxer needs to know which WebVTT text track kind this is, in
order to synthesize the correct track type and codec id.

To allow a demuxer to indicate the text track kind of the input, a new
set of AV_DISPOSITION flag values has been added, corresponding to
each of the non-default text track kind values.
2013-06-25 00:13:47 +02:00
Derek Buitenhuis
61c82214af cllc: Use outbuf in RGB and ARGB functions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 17:59:58 -04:00
Derek Buitenhuis
d48f221952 cllc: Implement YUV support
Fixes ticket #1910.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 17:59:58 -04:00
Michael Niedermayer
8a7aabe80b avfilter/vsrc_testsrc: fix artifacts with odd height
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 23:21:17 +02:00
Derek Buitenhuis
d9c89ef86b cllc: Use outbuf in RGB and ARGB functions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 14:55:01 -04:00
Derek Buitenhuis
1ef6ac1071 cllc: Implement YUV support
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 14:54:46 -04:00
Derek Buitenhuis
b0ce601c16 doc/platform: Add info about ICL
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-24 13:06:01 -04:00
Michael Niedermayer
bbe26eff22 h264: Fix null pointer dereference with disabled error concealment
Fixes Ticket2551

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 16:05:19 +02:00
Michael Niedermayer
a46e578dda avformat/avio: Fix EOF handiling of ffurl_read_complete()
Fixes Ticket2537

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 14:23:44 +02:00
Michael Niedermayer
f48366c704 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavf: don't abort if both encoder and muxer aspect ratios are not set

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 11:42:42 +02:00
Michael Niedermayer
a620c8321e Merge commit 'c3e58f8fb75d8467161a65b85eb88281547ebab1'
* commit 'c3e58f8fb75d8467161a65b85eb88281547ebab1':
  matroskaenc: restore compatibility with non referenced AVPacket

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 11:11:31 +02:00
Michael Niedermayer
af5f9c0876 Merge commit '95d52464542f532061290192518d5fe1c1930e8d'
* commit '95d52464542f532061290192518d5fe1c1930e8d':
  lavc: Add option to encode MPEG-2 AAC with libfdk-aac

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 10:57:04 +02:00
Michael Niedermayer
14a61bc3f9 Merge commit 'ace87c19ed4c4882d7b9b3ce512c4c195e39a203'
* commit 'ace87c19ed4c4882d7b9b3ce512c4c195e39a203':
  configure: whitespace cosmetics

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 10:41:37 +02:00
Michael Niedermayer
1152863a3f Merge commit '6dc6598692da3b0ebda2d768681786343f26a4f4'
* commit '6dc6598692da3b0ebda2d768681786343f26a4f4':
  configure: Simplify an expression with enabled_all.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 10:16:12 +02:00
Rafaël Carré
e21307a2b0 lavf: don't abort if both encoder and muxer aspect ratios are not set
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-24 08:03:26 +02:00
Rafaël Carré
c3e58f8fb7 matroskaenc: restore compatibility with non referenced AVPacket
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-24 08:03:26 +02:00
Kieran Kunhya
95d5246454 lavc: Add option to encode MPEG-2 AAC with libfdk-aac
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-24 08:03:26 +02:00
Michael Niedermayer
5dba888dd5 msmpeg4: Fix ff_msmpeg4_pred_dc() so it works with lowres>0
Fixes Ticket2532

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 03:44:30 +02:00
Michael Niedermayer
46312fc2a9 cmdutils: dont change the log level for -report
Fixes Ticket2476

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-24 02:59:05 +02:00
Michael Niedermayer
9375f5003d sonic: use av_freep() as its safer than av_free()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 19:45:39 +02:00
Michael Niedermayer
69d0a2922f sonic: cleanup/simplify num_taps check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 19:44:24 +02:00
Michael Niedermayer
db27dadcb0 sonic: replace divide() by ROUNDED_DIV()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 19:42:24 +02:00
Ronald S. Bultje
c329713de7 vp8: wait for prev_frame to parse segment_map before reading it.
This fixes occasional failures of vp8-test-vector-010 with frame-level
multithreading enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 17:13:58 +02:00
Michael Niedermayer
fb0df5c113 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: More msvc/icl combining

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 13:45:46 +02:00
Michael Niedermayer
780b1aa1ef Merge commit 'f963f701d90bd7bb03e39aab4e59bd137084e082'
* commit 'f963f701d90bd7bb03e39aab4e59bd137084e082':
  ogg: relax demuxer conformance checks

Conflicts:
	libavformat/oggdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 13:21:21 +02:00
Michael Niedermayer
cc61ef0479 Merge commit '42cc6cefd315c1556e2a52f7ebe2f766ec82b790'
* commit '42cc6cefd315c1556e2a52f7ebe2f766ec82b790':
  avconv: report the error for codec open failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 12:56:55 +02:00
Michael Niedermayer
d894e64acc Merge commit '1e340af8d6a97cc013a2ad8ba77c77129625a34f'
* commit '1e340af8d6a97cc013a2ad8ba77c77129625a34f':
  avconv: drop additional strerror fallback

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 12:56:05 +02:00
Diego Biurrun
ace87c19ed configure: whitespace cosmetics 2013-06-23 12:24:31 +02:00
Diego Biurrun
6dc6598692 configure: Simplify an expression with enabled_all. 2013-06-23 12:00:08 +02:00
Michael Niedermayer
730e07f10b sonic: avoid float sqrt() for integer input & output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 01:35:34 +02:00
Michael Niedermayer
4ec7ef56bd sonic: simplify quant cliping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 01:35:34 +02:00
Michael Niedermayer
bcb42fb6db sonic: use av_calloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-23 01:26:18 +02:00
Alex Smith
f11e4045b9 configure: More msvc/icl combining
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-22 17:00:57 -04:00
Oka Motofumi
81c5ceeda2 avisynth: Make sure the filename passed to Avisynth is in the right code page
Avisynth is a non-unicode application and cannot accept UTF-8
characters. Therefore, the input filename should be converted to
the code page that it expects.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-22 16:41:43 -04:00
Derek Buitenhuis
8bdbabfaa4 configure: Enable MinGW-w64's implementation of vsnprintf and pals
As of r5799 in MinGW-w64's trunk, which is he upcoming major version 3,
the POSIX-compliant vsnprintf implementation is disabled by default.
Enable it for this version. Keep using out own implementation for
prior versions, because it is broken in them.

Relevant Reference Thread: http://article.gmane.org/gmane.comp.gnu.mingw.w64.general/7133

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-06-22 16:37:40 -04:00
Michael Niedermayer
37c7a8be19 sonic: replace literal numbers by sizeof()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 22:25:18 +02:00
Michael Niedermayer
081a7f3ed0 sonic: replace some float by integers to improve platform independance
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 21:58:13 +02:00
Michael Niedermayer
12de2933da sonic: Improve error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 21:42:04 +02:00
Michael Niedermayer
8689ee0eef sonic: simplify shift_down()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 21:34:11 +02:00
Luca Barbato
f963f701d9 ogg: relax demuxer conformance checks
Some samples in the wild are missing headers that are expected by the
specification but in practice do not affect decoding.
2013-06-22 20:54:59 +02:00
Luca Barbato
42cc6cefd3 avconv: report the error for codec open failure
External codec may have corner case reason to fail at init, better
report them instead having the user wonder.
2013-06-22 20:54:59 +02:00
Luca Barbato
1e340af8d6 avconv: drop additional strerror fallback
strerror_r is called by av_strerror already.
2013-06-22 20:54:59 +02:00
Michael Niedermayer
b6ce50a2d4 avutil/ripemd: adjust loop condition to silence CID1035716
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 14:52:29 +02:00
Hendrik Leppkes
d76fff7df7 smvjpeg: use refcounted frames to avoid mem leaks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-22 11:58:46 +02:00
Hendrik Leppkes
1a405c683e smvjpeg: remove redundant frame init code
avctx->coded_frame is not used for decoders anymore,
and av_frame_alloc does all the frame initialization required.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 21:53:34 +02:00
Hendrik Leppkes
7cdf574c22 swscale: fix filter alignment reduction without inline asm
Fixes scaling in MSVC/ICL, where inline asm is not present, but the
YASM scaling code is.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 21:01:11 +02:00
Michael Niedermayer
d6a33f5d20 h264: fix size of arrays in ff_h264_check_intra_pred_mode()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 20:48:07 +02:00
Michael Niedermayer
2005fddcbb h264/ff_h264_check_intra_pred_mode: fix input value check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 20:48:07 +02:00
Stefano Sabatini
7cc4115dd6 doc/decoders,decoders: add various missing final dots
Enhance consistency.
2013-06-21 18:25:49 +02:00
Timothy Gu
83647ace73 doc/decoders: Add libopencore-amrwb decoder doc
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-21 18:19:37 +02:00
Stefano Sabatini
3f8750776f doc/protocols: apply very minor consistency fixes 2013-06-21 17:47:34 +02:00
Andrey Utkin
3857aea6d9 doc/protocols: document "srtp" protocol
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-06-21 17:47:19 +02:00
Hendrik Leppkes
659df32a9d mathops/x86: work around inline asm miscompilation with GCC 4.8.1
The volatile is not required here, and prevents a miscompilation with GCC
4.8.1 when building on x86 with --cpu=i686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 12:47:03 +02:00
Timothy Gu
b43860ee0c doc/decoders: Document libopencore-amrnb decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 12:26:34 +02:00
Michael Niedermayer
1ee8fadb81 avdevice/x11grab: allocate just one Cursor
Fixes resource leak and Ticket2450

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 12:00:11 +02:00
Michael Niedermayer
98abe16522 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: free the padded last frame during audio encoding properly

See: 7fff3df6b2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 10:51:23 +02:00
Michael Niedermayer
5d509fbdcf Merge commit 'eeeb5c291d3f78eaade5b99c2614c7cab0e9be79'
* commit 'eeeb5c291d3f78eaade5b99c2614c7cab0e9be79':
  vsrc_movie: do not free avoption variables in uninit()

Conflicts:
	libavfilter/src_movie.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 10:41:41 +02:00
Timothy Gu
8cdea50f6e doc/decoders: Document libilbc decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 03:46:22 +02:00
Michael Niedermayer
79cd5d39ba avcodec/utvideodec: Fix vlc len
Fixes regression / Ticket2661

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 03:22:02 +02:00
Michael Niedermayer
c17dd513e7 bytestream2_init: assert that buf_size is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 00:58:41 +02:00
Michael Niedermayer
32fc8d6db6 avcodec/jpeg2000dec: check that tp_end is after the start
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 00:58:41 +02:00
Michael Niedermayer
03cd3bec6e avformat/iff: Byte seek is unsupported
Fixes Ticket2194

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 21:49:02 +02:00
Anton Khirnov
720a1de52f lavc: free the padded last frame during audio encoding properly 2013-06-20 16:49:11 +02:00
Michael Niedermayer
c605adbf56 avformat/libmodplug: Reduce the probe score for small input
This ensures that theres enough data for mpeg_probe() to recognize mpeg-ps
Fixes Ticket2583

Based on code by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 14:58:50 +02:00
Andrey Utkin
2d70f11ef5 Document "sctp" protocol
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 14:56:40 +02:00
Anton Khirnov
eeeb5c291d vsrc_movie: do not free avoption variables in uninit()
The generic code frees them as well. Since av_free was used to free them
instead of av_freep, this would result in a double free.
2013-06-20 13:27:14 +02:00
Michael Niedermayer
99dc90ea59 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Remove unneeded icl inline compatibility definition

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 10:29:10 +02:00
Andrey Utkin
f9739a34ad Document "crypto" protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 03:01:22 +02:00
Timothy Gu
c16496c377 doc/decoders: Document libgsm decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-20 02:45:18 +02:00
Michael Niedermayer
37baeccef4 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Autodetect idcin only if audio properties allow decoding.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 22:13:35 +02:00
Jean Delvare
b08cd2fb94 delogo: Fix function description
The algorithm works on src and writes to dst, not the other way
around.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 22:13:12 +02:00
Carl Eugen Hoyos
06bede95fc Autodetect idcin only if audio properties allow decoding.
Fixes ticket #2688.
2013-06-19 17:07:44 +02:00
Compn
4110828e15 isom: add xd51 hdcam , someone needs to binary search FCP for new isom... 2013-06-19 10:43:48 -04:00
Michael Niedermayer
ddefb80c95 sonicenc: fix off by 1 error
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 10:06:38 +02:00
Michael Niedermayer
694c2d1ab3 sonicenc: dont put multiple assignments per line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 10:06:10 +02:00
Alex Smith
e0d6e2fc67 configure: Remove unneeded icl inline compatibility definition
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-19 10:53:27 +03:00
Michael Niedermayer
6df61c3ae0 sonicenc: set supported samples formats array
This ensures that only supported formats are input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 09:50:01 +02:00
Michael Niedermayer
209cb8afe0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: switch ff_default_get_audio_buffer() to av_frame_get_buffer()

Conflicts:
	libavfilter/audio.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 08:27:35 +02:00
Timothy Gu
9ead06057a doc/encoders: Add libopencore-amrnb doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 01:42:55 +02:00
Michael Niedermayer
602d0bfe67 Merge branch 'frame_num_offset' of https://github.com/mjmvisser/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-19 01:25:50 +02:00
Mark Visser
2090abcc43 add the start_number offset to var_values[VAR_N] directly, instead of adding it in func_frame_num 2013-06-18 17:38:17 -04:00
Michael Niedermayer
f8ca8138f0 ff_gen_search: fix infinite loop
Fixes Ticket2639

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 22:53:00 +02:00
Michael Niedermayer
b3dd50cd0d ff_gen_search: fix limit
The limit value could become slightly wrong in the last iteration

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 20:49:37 +02:00
Michael Niedermayer
9d73e30253 ff_gen_search: make step 64it to prevent hypothetical integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 20:47:07 +02:00
Timothy Gu
e358044922 doc/decoders: Document libcelt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 18:03:22 +02:00
Matthew Heaney
59b13750d2 Add maintainer for WebVTT demuxer and muxer
Matthew J Heaney is added to the list of ffmpeg maintainers, for the
WebVTT demuxer and muxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 18:02:30 +02:00
Michael Niedermayer
9626d0e906 avutil/frame: Try to align width to achive linesize[0] alignment
This results in more alignment for pixel formats that have "odd" pixel
sizes like RGB24. It makes access through SIMD easier

Works around Issue described in Ticket1031

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 16:50:07 +02:00
Anton Khirnov
c9c7bc4493 lavfi: switch ff_default_get_audio_buffer() to av_frame_get_buffer()
This simplifies the code and avoids using libavcodec-specific
avcodec_fill_audio_frame().
2013-06-18 11:21:16 +02:00
Michael Niedermayer
e41bf19d2c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavfi: math typo in interlace filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 09:31:05 +02:00
Michael Niedermayer
ca2818b881 swresample/x86/audio_convert: add emms to CONV
Might fix Ticket1874

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-18 02:26:36 +02:00
Janne Grunau
2ee380aefb vaapi: return early from ff_vaapi_render_picture() without picture
Fixes an assertion when called on uninitialized frame. Spotted after
seeking in vlc.
Fixes ticket #2461.

Tested-by: Timo
Reviewed-by: Joakim Plate
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-06-18 01:56:06 +02:00
Carl Eugen Hoyos
28bf0d94aa Revert "vaapi: return early from ff_vaapi_render_picture() without picture"
This reverts commit 4cbf245f2a2cd2170ca30b0788c2af5b506fe6d6.

I messed up the author information.
2013-06-18 01:54:30 +02:00
Carl Eugen Hoyos
3cbf245f2a vaapi: return early from ff_vaapi_render_picture() without picture
Fixes an assertion when called on uninitialized frame. Spotted after
seeking in vlc.
Fixes ticket #2461.

Tested-by: Timo
Reviewed-by: Joakim Plate
2013-06-18 00:21:09 +02:00
Alexander Strasser
ac604e446b lavfi/src_movie: Use movie_common_init instead individual wrappers
Makes it easier to understand that there is no difference in init
callback for movie and amovie. Also saves a few lines of code.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-06-18 00:02:30 +02:00
Alexander Strasser
c679a1c358 lavfi/src_movie: Check pointer is not NULL before deref
Also do not check against empty string, the lower levels should
be able to deal with it.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-06-18 00:02:30 +02:00
Matthew Heaney
b24f15c45e lavf: add WebVTT muxer.
This revision creates a WebVTT muxer, that outputs files having the
format described in the following specification:

http://dev.w3.org/html5/webvtt/
2013-06-17 22:28:19 +02:00
Michael Niedermayer
b4579a29c7 mmsh: dont close context on seeking failure
Fixes Ticket2581

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 22:03:36 +02:00
Michael Niedermayer
c7755c348b mmsh/mmsh_close: use ffurl_closep()
avoid using freed pointers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 21:34:52 +02:00
Michael Niedermayer
0329345da2 mmsh/mmsh_close: use av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 21:33:12 +02:00
Michael Niedermayer
582f53349e jpeg2000dec: make cblk->length(inc)/data use consistent
Fixes Ticket2612

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 20:08:51 +02:00
Clément Bœsch
de12b454f2 lavf/http: remove Mozilla/5.0 from user agent.
It is notably known to break playback on http streaming servers who use
the user agent to guess if it's a browser (to display a summary) or a
player (to stream the audio data).

This reverts 1fabd95.

Fixes Ticket #2663.
2013-06-17 17:06:11 +02:00
Vittorio Giovara
cd0faeee62 lavfi: math typo in interlace filter
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-17 12:25:43 +02:00
Marton Balint
96b33ddbd0 ffplay: remove remains of the old audio and video clock VideoState variables
The unified clock state holds this information now.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-17 01:18:07 +02:00
Marton Balint
05f0d53170 ffplay: fix missed conversion of video_current_pts to vidclk.pts in subtitles
Fixes regression with subtitles introduced in f2175a6.
Fixes ticket #2666.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-17 01:18:07 +02:00
Marton Balint
f73d6d2af7 ffplay: cast vp->height to int64 in buffer size check
Fixes Coverity CID 1026769 and 1026756.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-17 01:18:07 +02:00
Michael Niedermayer
95275551ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  smacker: check frame size validity

Conflicts:
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 01:04:33 +02:00
Michael Niedermayer
e99f324c14 Merge commit '58c95448e42d34910b939363949ba1a92c06b0b0'
* commit '58c95448e42d34910b939363949ba1a92c06b0b0':
  smacker: pad the extradata allocation

Conflicts:
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:44:32 +02:00
Michael Niedermayer
6c655b40ea Merge commit 'bbb2945f2dfbc2306c1655bf7eb6e220912a9a7c'
* commit 'bbb2945f2dfbc2306c1655bf7eb6e220912a9a7c':
  smacker: check the return value of smacker_decode_tree

Conflicts:
	libavcodec/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:36:25 +02:00
Michael Niedermayer
85a3d20da5 Merge commit 'f52edef30197735bfb937e9e723ab1e7b31165c6'
* commit 'f52edef30197735bfb937e9e723ab1e7b31165c6':
  smacker: fix an off by one in huff.length computation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:34:07 +02:00
Michael Niedermayer
a4a2e894fc Merge commit '985f34b75653d02eda8eb8def3412f8577f19b01'
* commit '985f34b75653d02eda8eb8def3412f8577f19b01':
  utils: fix avcodec_flush_buffers pre-reference counting compatibility

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:21:22 +02:00
Michael Niedermayer
1f87cbe834 Merge commit 'df9f22d42b0905385629a9d368bb5a1eef2b45ef'
* commit 'df9f22d42b0905385629a9d368bb5a1eef2b45ef':
  avf: move url utility functions in a separate file

Conflicts:
	libavformat/internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 00:09:31 +02:00
Michael Niedermayer
8097307bfb Merge commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1'
* commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1':
  avf: move ff_write_chained to mux.c

Conflicts:
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:58:59 +02:00
Michael Niedermayer
bbdef61850 Merge commit '508998f7d5cc61c7ac7b049813b47adc24c6e282'
* commit '508998f7d5cc61c7ac7b049813b47adc24c6e282':
  avf: move riff tags accessors where they belong

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:52:08 +02:00
Michael Niedermayer
84f77f8423 Merge commit 'ec7c51c7868d3ccc66b5cc38bf126258b94f086c'
* commit 'ec7c51c7868d3ccc66b5cc38bf126258b94f086c':
  avf: move ff_http_match_no_proxy to network

Conflicts:
	libavformat/internal.h
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:45:42 +02:00
Michael Niedermayer
4a522eff00 Merge commit 'afc8685395e775fe0f2a1698b683aea4afd124af'
* commit 'afc8685395e775fe0f2a1698b683aea4afd124af':
  avf: split off format register and lookup function

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:38:27 +02:00
Michael Niedermayer
301522f521 Merge commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3'
* commit 'f80b60ad59945dae32bb26a4e239ed94b0e92fa3':
  bitstream: forward error values and drop few abort()

Conflicts:
	libavcodec/bitstream.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:29:37 +02:00
Michael Niedermayer
9265bae356 Merge commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f'
* commit 'f776899a17dce32ad7fb9231d98f15558f37cc3f':
  bitstream: K&R formatting cosmetics

Conflicts:
	libavcodec/bitstream.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:18:57 +02:00
Michael Niedermayer
9f91e7deec Merge commit '9e80eda26d06c7c48dbec5dfe643c857c62c0ee7'
* commit '9e80eda26d06c7c48dbec5dfe643c857c62c0ee7':
  h264_mp4toannexb_bsf: return a padded buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 23:01:41 +02:00
Michael Niedermayer
0a5d22a195 Merge commit '8d929afd256069aa881f2bf58ef9f0ffce2d6b7e'
* commit '8d929afd256069aa881f2bf58ef9f0ffce2d6b7e':
  h264_mp4toannexb_bsf: factor out extradata parsing

Conflicts:
	libavcodec/h264_mp4toannexb_bsf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 22:51:56 +02:00
Michael Niedermayer
46a5003a4a Merge commit '5d21ca45591bb1c1d2265f8ed972d18c563f145e'
* commit '5d21ca45591bb1c1d2265f8ed972d18c563f145e':
  h264_mp4toannexb_bsf: K&R formatting cosmetics

Conflicts:
	libavcodec/h264_mp4toannexb_bsf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 22:40:43 +02:00
Paul B Mahol
e997afdfc6 lavf: show APIC for tta files too
Fixes #2676.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-16 18:56:56 +00:00
Paul B Mahol
9ea7ff7955 tta: read ape tags last
Otherwise, cover art will create video stream with index 0.
Fixes #2677.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-16 18:56:56 +00:00
Michael Niedermayer
78d2d1e027 postprocess_template: put rsp on the clobber list to prevent gcc from using it in "q"
Fixes Ticket2675

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 18:21:39 +02:00
Kostya Shishkov
ee16a0ced0 smacker: check frame size validity
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:57:31 +02:00
Kostya Shishkov
58c95448e4 smacker: pad the extradata allocation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:57:31 +02:00
Kostya Shishkov
bbb2945f2d smacker: check the return value of smacker_decode_tree
Also prevent a memory leak.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:56:50 +02:00
Kostya Shishkov
f52edef301 smacker: fix an off by one in huff.length computation
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:55:53 +02:00
Michael Niedermayer
3b86174290 avcodec/jpeg2000dec: move bpno check to a earlier place
This prevents additional integer overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 15:27:39 +02:00
Janne Grunau
985f34b756 utils: fix avcodec_flush_buffers pre-reference counting compatibility
The to_free AVframe must be freed just like the other ones.
Indeed, the calling application may expect all frames to be
released.

(This regression caused use-after-free in VLC with hwaccel.)

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-06-16 15:10:58 +02:00
Luca Barbato
df9f22d42b avf: move url utility functions in a separate file 2013-06-16 15:01:39 +02:00
Luca Barbato
12db891dcd avf: move ff_write_chained to mux.c 2013-06-16 14:41:07 +02:00
Luca Barbato
508998f7d5 avf: move riff tags accessors where they belong 2013-06-16 14:41:07 +02:00
Luca Barbato
ec7c51c786 avf: move ff_http_match_no_proxy to network
It is only used by network protocols.
2013-06-16 14:41:00 +02:00
Luca Barbato
afc8685395 avf: split off format register and lookup function 2013-06-16 14:00:40 +02:00
James Almer
3e17eec607 lavu/adler32: Fix doxy group definition, take two
The description if for the function, not the group.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 12:50:00 +02:00
James Almer
4a0d603072 lavu/hash: Add support for RIPEMD
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 12:49:39 +02:00
Hendrik Leppkes
8962da9ec3 rawdec: allocate a buffer in the appropriate size in the copy case.
Otherwise the created buffer can be smaller than buf_size, which results
in buffer overreads if the original image has extra padding on every line.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 09:50:16 +02:00
Luca Barbato
f80b60ad59 bitstream: forward error values and drop few abort() 2013-06-16 09:30:26 +02:00
Luca Barbato
f776899a17 bitstream: K&R formatting cosmetics 2013-06-16 09:30:25 +02:00
Michael Niedermayer
359af6a7c7 Merge branch 'crypto' of https://github.com/jamrial/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 01:07:24 +02:00
James Almer
99b8cd0c81 lavu: Add RIPEMD hashing
Includes RIPEMD-128, RIPEMD-160, RIPEMD-256 and RIPEMD-320

Signed-off-by: James Almer <jamrial@gmail.com>
2013-06-15 18:54:01 -03:00
James Almer
1bb005ce54 lavf/md5enc: Use AV_HASH_MAX_SIZE
Also increase the buffer size in write_trailer(), since 128
is not enough anymore

Signed-off-by: James Almer <jamrial@gmail.com>
2013-06-15 18:50:11 -03:00
James Almer
b6249acae6 lavu/hash: Add support for SHA-2 512
Signed-off-by: James Almer <jamrial@gmail.com>
2013-06-15 18:49:12 -03:00
Paul B Mahol
8a79a009f9 lavu/utils: silence warnings about incompatible pointer types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-15 21:47:45 +00:00
Andrey Utkin
194fde3834 Document "cache" protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 23:26:18 +02:00
Luca Barbato
9e80eda26d h264_mp4toannexb_bsf: return a padded buffer
The code using the returned buffer might expect it to be
FF_INPUT_BUFFER_PADDING_SIZE padded as any other avpacket.
2013-06-15 16:14:45 +02:00
Luca Barbato
8d929afd25 h264_mp4toannexb_bsf: factor out extradata parsing 2013-06-15 16:14:33 +02:00
Michael Niedermayer
6c4516d041 avcodec/vc1dec: Check source picture availability in vc1_mc_4mv_chroma4()
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 13:11:35 +02:00
Michael Niedermayer
1ba196a10d avutil/utils: check and warn about llrint() brokenness
Such broken llrint() exist for example on netbsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 11:22:22 +02:00
Luca Barbato
5d21ca4559 h264_mp4toannexb_bsf: K&R formatting cosmetics 2013-06-15 09:11:13 +02:00
James Almer
c4f932f4d7 lavu/md5: Add doxy
Mostly a copy&paste from other hash functions, with changes
where required.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 02:22:39 +02:00
James Almer
321906d341 lavu/crc: Fix doxy group definition
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 02:22:16 +02:00
James Almer
79d9ed4a43 lavu/adler32: Fix doxy group definition
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-15 02:22:00 +02:00
Mark Visser
0defc77e9d added start_number parameter to drawtext to permit an offset to n/frame_num var 2013-06-14 17:05:19 -04:00
Michael Niedermayer
3c4c5ca1c1 avcodec/g2meet: Check monochrome cursor width
Fixes out of array write

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 21:14:31 +02:00
Michael Niedermayer
69e4d8e6a4 avcodec/jpeg2000dec: check len before parsing header
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 19:34:00 +02:00
Michael Niedermayer
5deb96c564 avcodec/jpeg2000dec: Check Psot
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 19:34:00 +02:00
Paul B Mahol
a75d2a6505 apetag: do not require seekable output
Also don't write empty tags.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-14 17:07:36 +00:00
Michael Niedermayer
7fff3df6b2 avcodec_encode_audio2: fix memleak on last padded frame
Regression introduced by 799f57ac96

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 15:21:23 +02:00
Peter Ross
d891d354c5 mpegts: Enable muxing of SMPTE KLV metadata
Muxer code rebased/split out by: Jeff Blackburne <jblackburne@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 13:41:40 +02:00
Hendrik Leppkes
59d3c24e28 vc1_parser: fix parsing of the frame headers in interlaced streams
first_pic_header_flag needs to be set to allow the parsing code to change
some stream parameters, and not error out.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 12:03:44 +02:00
Clément Bœsch
147adf2c4f lavfi/spp: fix description. 2013-06-14 06:53:52 +02:00
Timothy Gu
6fe419bf73 doc/general: Make the license status of the Android libraries clearer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 03:58:39 +02:00
Jean Delvare
cef42ded8d drawbox: Respect thickness parameter
The drawbox video filter is drawing lines one pixel thinner than
requested. The default thickness is 4 pixel but in fact the lines
drawn by default are only 3 pixel wide.

Change the comparisons in the code to fix this off-by-one bug. Also
change the default thickness from 4 to 3 to minimize the unexpected
changes from the user's perspective.

As I was already touching these lines, I also removed the "maximum" in
the thickness parameter description, as I don't think it was adding
any value and I even found it confusing.

Reviewed-by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 03:52:32 +02:00
Michael Niedermayer
e850a064ce jpeg2000dec: Check compno in get_coc()
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 01:55:43 +02:00
Clément Bœsch
852f74bd85 lavfi/mp: remove mp=spp.
The filter was ported to a native libavfilter filter.
2013-06-14 01:27:22 +02:00
Clément Bœsch
a2c547ffec lavfi: add spp filter. 2013-06-14 01:27:22 +02:00
Michael Niedermayer
129edcb50f jpeg2000dec: dont set ncomponents to an invalid value
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 00:36:45 +02:00
Paul B Mahol
ff0bdf9375 lavc: copy AVCodecContext for threads
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-13 21:49:18 +00:00
Michael Niedermayer
c112e36d41 flacdec: Fix used AVCodecContext
Fixes out of array writes with multiple threads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 22:31:54 +02:00
Michael Niedermayer
fa125c5e82 avutil/timestamp: remove ""
This may fix an error with C++

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:57:00 +02:00
Michael Niedermayer
a9821bdafb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  4xm: check bitstream_size boundary before using it

Conflicts:
	libavcodec/4xm.c

See: 9c661e95

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:51:59 +02:00
Michael Niedermayer
e9f2e9715b Merge commit 'fbd0dacc8d61ab418b3fa8e7be22017558323e56'
* commit 'fbd0dacc8d61ab418b3fa8e7be22017558323e56':
  4xm: refactor decode_p_block

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:39:21 +02:00
Michael Niedermayer
27e8298c03 Merge commit '94aefb1932be882fd93f66cf790ceb19ff575c19'
* commit '94aefb1932be882fd93f66cf790ceb19ff575c19':
  4xm: do not overread the source buffer in decode_p_block

Conflicts:
	libavcodec/4xm.c

The checks are replaced by av_assert0() as the conditions should
be impossible. If these asserts fail, there is a bug elsewhere

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 14:10:06 +02:00
Michael Niedermayer
67d5d97cdc Merge commit 'be373cb50d3c411366fec7eef2eb3681abe48f96'
* commit 'be373cb50d3c411366fec7eef2eb3681abe48f96':
  4xm: do not overread the prestream buffer

Conflicts:
	libavcodec/4xm.c

See: 9c661e95
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:57:07 +02:00
Michael Niedermayer
dbddd587e1 Merge commit 'de2e5777e225e75813daf2373c95e223651fd89a'
* commit 'de2e5777e225e75813daf2373c95e223651fd89a':
  4xm: validate the buffer size before parsing it

Conflicts:
	libavcodec/4xm.c

See: 9c661e95

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:41:27 +02:00
Michael Niedermayer
f13f4d2b08 Merge commit '145023f57262d21474e35b4a6069cf95136339d4'
* commit '145023f57262d21474e35b4a6069cf95136339d4':
  4xm: reject frames not compatible with the declared version

See: c433823750

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:14:42 +02:00
Michael Niedermayer
18cb3d355f Merge commit '1f0c6075604c271d5627480f1243d22795f9a315'
* commit '1f0c6075604c271d5627480f1243d22795f9a315':
  4xm: drop pointless assert

Conflicts:
	libavcodec/4xm.c

The added condition is impossible to occur and thus is added to the assert.
The assert is not removed from the default case, as the default case cannot
occur. Thus either it should stay as is or the case as a whole be removed.
For extra safety, to ensure this doesnt change the assert is changed to
av_assert0()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 13:06:22 +02:00
Michael Niedermayer
e5558391b5 Merge commit 'b8b809908ec547b2609dbac24194f4fd2df61aea'
* commit 'b8b809908ec547b2609dbac24194f4fd2df61aea':
  4xm: forward errors from decode_p_block

Conflicts:
	libavcodec/4xm.c

Impossible to be false check has been replaced by av_assert0()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 12:24:00 +02:00
Michael Niedermayer
294af51401 Merge commit '50ec1db62d977b6e864f315a53c1c580a6d7efa4'
* commit '50ec1db62d977b6e864f315a53c1c580a6d7efa4':
  4xm: fold last_picture lazy allocation in decode_p_frame

Conflicts:
	libavcodec/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 12:12:33 +02:00
Michael Niedermayer
4027e13663 Merge commit '42d73f7f6bea0ee0f64a3ad4882860ce5b923a11'
* commit '42d73f7f6bea0ee0f64a3ad4882860ce5b923a11':
  4xm: do not overread while parsing header

Conflicts:
	libavformat/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 11:56:31 +02:00
Michael Niedermayer
60657ee37a Merge commit 'e7a44f87d07655ec0cd31c315936931674434340'
* commit 'e7a44f87d07655ec0cd31c315936931674434340':
  4xm: refactor fourxm_read_header

Conflicts:
	libavformat/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 10:08:50 +02:00
Michael Niedermayer
90c8863a74 Merge commit 'e6496ea7e7ea7355167a1ccbe67a7199d446a654'
* commit 'e6496ea7e7ea7355167a1ccbe67a7199d446a654':
  4xm: K&R formatting cosmetics

Conflicts:
	libavformat/4xm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 09:50:42 +02:00
Michael Niedermayer
5c3e5651dd Merge commit '08859d19b429c522d6494c186656f4a2d3ff8e21'
* commit '08859d19b429c522d6494c186656f4a2d3ff8e21':
  4xm: use the correct logging context
  g2meet: Fix a typo in the height comparison

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 09:41:45 +02:00
Michael Niedermayer
443b29e475 h264: Try parsing SPS as complete NAL in more cases
Fixes Ticket2580

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-13 01:43:09 +02:00
Stefano Sabatini
28aed88b73 require --enable-gpl for using the frei0r filter
frei0r license is GPL.

Based on a patch by Timothy Gu <timothygu99@gmail.com>.

See thread:
Subject: [FFmpeg-devel] [PATCH 1/2] LICENSE: Complete GPL'd external libraries list
Date: Thu,  6 Jun 2013 18:55:30 -0700
2013-06-13 01:40:24 +02:00
Stefano Sabatini
e0135a4bcd lavfi/rotate: add angle command 2013-06-13 01:21:47 +02:00
Stefano Sabatini
6397264e84 tests: add filter-pixfmts-rotate test 2013-06-13 01:21:47 +02:00
Stefano Sabatini
dc5e26d67f lavfi: add rotate filter
Based on the libavfilter SOC filter by Vitor Sessak, with the following additions:
* integer arithmetic
* bilinear interpolation
* RGB path
* configurable parametric angle, output width and height

Address trac issue #1500.

See thread:
Subject: [FFmpeg-devel] [WIP] rotate filter(s)
Date: 2010-10-03 17:35:49 GMT
2013-06-13 01:21:47 +02:00
Timothy Gu
0ec65aa104 doc/encoders: Add libvo-amrwbenc doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 23:37:35 +02:00
Michael Niedermayer
8aea2f05dc alacenc: Fix missing sign_extend()
Possibly fixes Ticket2497

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 16:23:49 +02:00
Luca Barbato
59d7bb99b6 4xm: check bitstream_size boundary before using it
Prevent buffer overread.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
fbd0dacc8d 4xm: refactor decode_p_block
Directly return from code 1, 2 and 6 codepaths and simplify the
remaining one to have a single overflow check and a single call to
mcdc.
2013-06-12 14:45:46 +02:00
Luca Barbato
94aefb1932 4xm: do not overread the source buffer in decode_p_block
Check for out of picture macroblocks before calling mcdc.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
be373cb50d 4xm: do not overread the prestream buffer
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
de2e5777e2 4xm: validate the buffer size before parsing it
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
145023f572 4xm: reject frames not compatible with the declared version
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
1f0c607560 4xm: drop pointless assert
Make sure the value of wlog2 is always between 0 and 3.
2013-06-12 14:45:46 +02:00
Luca Barbato
b8b809908e 4xm: forward errors from decode_p_block
Partially mitigate out of memory writes.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
50ec1db62d 4xm: fold last_picture lazy allocation in decode_p_frame 2013-06-12 14:45:46 +02:00
Luca Barbato
42d73f7f6b 4xm: do not overread while parsing header
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-12 14:45:46 +02:00
Luca Barbato
e7a44f87d0 4xm: refactor fourxm_read_header
Split sound and video tag parsing in separate functions.
2013-06-12 14:45:46 +02:00
Luca Barbato
e6496ea7e7 4xm: K&R formatting cosmetics 2013-06-12 14:45:46 +02:00
Luca Barbato
08859d19b4 4xm: use the correct logging context 2013-06-12 14:45:46 +02:00
Michael Niedermayer
7ad5708691 g2meet: Fix a typo in the height comparison
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-12 13:45:53 +02:00
Michael Niedermayer
d3c4ea8b35 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  g2meet: do not leak buffers
  g2meet: more graceful cursor loading
  g2meet: reset dimensions on header parsing errors

Conflicts:
	libavcodec/g2meet.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 11:53:27 +02:00
Kostya Shishkov
7dfc3381dd g2meet: do not leak buffers 2013-06-12 09:54:45 +02:00
Kostya Shishkov
4d960d7f60 g2meet: more graceful cursor loading 2013-06-12 09:54:45 +02:00
Kostya Shishkov
767ae86cee g2meet: reset dimensions on header parsing errors 2013-06-12 09:54:45 +02:00
James Almer
1163910a00 fate: Add test vectors for HMAC SHA and SHA-2
Also replace custom tests for MD5 with those published in RFC 2202

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 01:48:23 +02:00
James Almer
82ef67016e lavu/hmac: Add support for SHA-2
Includes HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512.
Tested using test vectors from https://tools.ietf.org/html/rfc4231

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 01:47:42 +02:00
Alexandre Sicard
b1d61eb7aa avformat/mov: ignore samples overflowing next_root_atom
This fixes #2657.
ISML movies produced by Microsoft Expression Encoder 4 seem to have invalid
sample entries in their trun/tfhd for data tracks. As a result, too much bytes
are read for these tracks to the point that next_root_atom can go out of
buffer, which makes the encoding fail if the input is not seekable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-12 00:51:38 +02:00
Paul B Mahol
df084adbf7 doc/general: s/Libav/FFmpeg
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-11 20:53:21 +00:00
Paul B Mahol
0354bc39eb fate: wavpack: add more dependencies
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-11 20:50:42 +00:00
Michael Niedermayer
73d5cf8f43 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add a libwavpack encoder wrapper

Conflicts:
	Changelog
	doc/encoders.texi
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 09:36:34 +02:00
Michael Niedermayer
5d199c3ad9 Merge commit '799f57ac96f9891d1a0f7d6c4b218ed536e8aca5'
* commit '799f57ac96f9891d1a0f7d6c4b218ed536e8aca5':
  lavc: use AVFrame API properly in pad_last_frame().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 09:27:04 +02:00
Michael Niedermayer
045e371cf1 Merge commit '8835c554ff506992c47f6e347c74216ae073f0fa'
* commit '8835c554ff506992c47f6e347c74216ae073f0fa':
  matroskadec: introduce resync function.

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 09:16:13 +02:00
Michael Niedermayer
529ebc90f2 Merge commit '3965d404ccd9b6cac95c4aee6cb668845031b685'
* commit '3965d404ccd9b6cac95c4aee6cb668845031b685':
  configure: Don't add -fPIC on windows targets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 08:53:37 +02:00
Michael Niedermayer
f556f27d29 Merge commit '3fd0d166aa240ef547482d1af397c4a653031c2d'
* commit '3fd0d166aa240ef547482d1af397c4a653031c2d':
  configure: Don't explicitly disable PIC for windows targets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 08:38:16 +02:00
Michael Niedermayer
1603c9bd9c Merge commit '2aa3325454545b63cd63e3d5884f8558790d51df'
* commit '2aa3325454545b63cd63e3d5884f8558790d51df':
  configure: arm: Don't try to enable pic for shared libraries on win32

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 08:28:00 +02:00
Michael Niedermayer
0f88a98b43 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Check more completely for invalid pix_fmts in planarRgb16ToRgb16Wrapper()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 02:07:08 +02:00
Michael Niedermayer
175e916fa2 avcodec/utils: Fix encoder allocation size
Fixes Ticket2645
Found-by: Darrell Walisser
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-11 01:15:39 +02:00
Carl Eugen Hoyos
7800b09ece Check more completely for invalid pix_fmts in planarRgb16ToRgb16Wrapper()
This makes the conversion function more robust.
2013-06-11 01:14:38 +02:00
Stefano Sabatini
57655c6080 doc/metadata: add notes and examples regarding metadata usage with ffmpeg 2013-06-11 01:07:16 +02:00
Michael Niedermayer
d3e89f2641 vf_sab: Fix memleak
Fixes CID1030353
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 22:00:43 +02:00
Anton Khirnov
84d3ff50cd lavc: add a libwavpack encoder wrapper 2013-06-10 21:33:48 +02:00
Anton Khirnov
799f57ac96 lavc: use AVFrame API properly in pad_last_frame().
This also simplifies the code.
2013-06-10 21:19:51 +02:00
Sean McGovern
8835c554ff matroskadec: introduce resync function.
This allows handling matroska files with errors.
Fixes test4.mkv and test7.mkv from the official Matroska test suite,
and by extension Bugzilla #62.

Based on a patch by Reimar Doffinger <Reimar.Doeffinger@gmx.de>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-06-10 20:51:35 +02:00
Michael Niedermayer
8e887ca1fe jpeg2000dec: Check bpno in decode_cblk()
Fixes integer overflow in fate-redcode-demux

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 17:13:46 +02:00
Michael Niedermayer
d5caf10c4f Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Accept incomplete http cookies without domain.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 16:12:37 +02:00
Michael Niedermayer
e473f7e659 (lib)utvideodec: remove setting of color_primaries
Thanks-to: Paranoialmaniac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 16:00:59 +02:00
Martin Storsjö
3965d404cc configure: Don't add -fPIC on windows targets
This avoids warnings about this option not having any effect on
this platform.

We still want to enable the pic configure item for these platforms
(if detected via the compiler builtin define __PIC__) to get proper
inline assembly workarounds.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-10 14:32:13 +03:00
Martin Storsjö
3fd0d166aa configure: Don't explicitly disable PIC for windows targets
This reverts e08c946c6 and 05165c2f7a. The actual intention of
e08c946c6 was to fix shared library builds for arm/win32, which
can also be accomplished in other ways.

Disabling pic on those platforms broke inline assembly on cygwin/64
(since some inline assembly requires knowing whether we are building
as PIC or not), and might also break inline assembly on other
compilers on windows.

As a side-effect, this unfortunately brings back all the warnings
about PIC not having any effect on that platform.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-10 14:32:10 +03:00
Martin Storsjö
2aa3325454 configure: arm: Don't try to enable pic for shared libraries on win32
The object file format doesn't support PIC loads in ARM assembly,
there are no relocation types in PE/COFF that correspond to
BFD_RELOC_32_PCREL (R_ARM_REL32 in ELF).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-10 14:32:06 +03:00
Carl Eugen Hoyos
e9df8f7725 Accept incomplete http cookies without domain.
Works around a bug in some servers that apparently send incomplete cookies.
Fixes a part of ticket #2619.

Reviewed-by: Micah Galizia
2013-06-10 10:52:40 +02:00
Michael Niedermayer
9908607363 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  utvideodec: Set colorspace by codec_tag.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:43:43 +02:00
Michael Niedermayer
42b8296f36 Merge commit '2578f1efd64f4efc30114c328d1eff9030429e59'
* commit '2578f1efd64f4efc30114c328d1eff9030429e59':
  riff: Support ULH0 and ULH2 fourccs.
  utvideodec: Support ULH0 and ULH2 formats.

Conflicts:
	libavcodec/utvideodec.c
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:39:14 +02:00
Stephen Hutchinson
3f54547709 utvideo: Add ULH0 and ULH2 decoding to the native decoder.
Also prevents an error since the native decoder (if enabled) is
always used to probe Ut Video-encoded files, even if the user
forces libutvideo to be the decoder. Without this patch, the probe
would fail, and the video wouldn't get properly handed over,
resulting in failure to set codec parameters. When the native
decoder is disabled, libutvideo can probe and initialize decoding
without issues.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:15:13 +02:00
Stephen Hutchinson
8ed6c13fe3 libutvideo: Add ULH0 and ULH2 decoding when using version 13.0.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 10:12:15 +02:00
Yusuke Nakamura
252ee3d39b utvideodec: Set colorspace by codec_tag.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-06-10 09:38:22 +02:00
Yusuke Nakamura
2578f1efd6 riff: Support ULH0 and ULH2 fourccs.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-06-10 09:37:53 +02:00
Yusuke Nakamura
b441fdeb15 utvideodec: Support ULH0 and ULH2 formats.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-06-10 09:37:53 +02:00
Michael Niedermayer
0047da071e swscale/swscale_unscaled: add ()
Fixes order of operations
Fixes CID1030350

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:34:33 +02:00
Michael Niedermayer
d62030ffca swresample/rematrix_template: Fix integer overflow in mix8to2
Fixes: CID1030352
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:03:17 +02:00
Michael Niedermayer
b04bbe6b86 swresample/rematrix_template: Fix integer overflow in mix6to2
Fixes: CID1030351
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 03:03:12 +02:00
Carl Eugen Hoyos
052838f765 Insert a newline before showing embedded svq1 messages.
Messages may start with a carriage return.
2013-06-09 19:25:43 +02:00
Michael Niedermayer
6241e8a382 id2v2: check the return value of decode_str()
Fixes CID1030348
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 17:25:39 +02:00
Michael Niedermayer
2d8f880a9b g2meet: fix typo in height comparission
Fixes CID1030349
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 16:55:10 +02:00
Michael Niedermayer
ada497e616 g2meet: Check cursor parameters before writing them in the context
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 12:00:57 +02:00
Michael Niedermayer
6d3bcbb211 avcodec/g2meet: check framebuf has been allocated before use
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-09 03:09:26 +02:00
Carl Eugen Hoyos
c153ea4756 Support decoding G.722 in aiff. 2013-06-09 01:10:36 +02:00
Clément Bœsch
b77e58aad3 lavfi/pp: set out frame size.
w/h from input frame are not copied in av_frame_copy_props(). This
commit avoids a mismatch between aligned_[wh] and outbuf->{width,height}
(and thus avoids triggering an assert in avfilter because of this).
2013-06-08 23:23:30 +02:00
Michael Niedermayer
2a91038e13 avformat/wavdec: Dont rescale timestamps but use exact comparission
Fixes integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 20:02:22 +02:00
Michael Niedermayer
9e9ec5ad2a smvjpegdec: No frame at all is an error
This fixes a infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 20:02:22 +02:00
Paul B Mahol
b94f045b18 wavpack: add missing .\n to entropy error message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-08 17:39:54 +00:00
Paul B Mahol
9644fc95be matroskadec: move ALAC extradata creation bellow AAC one
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-08 17:39:51 +00:00
Michael Niedermayer
33fb22f800 Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  ftp: add invalid code for RETR operation
  ftp: probe seek capability
  ftp: fix seeking beyond file size
  ftp: abort function optimalization
  ftp: explicit return code checks
  ftp: fix flush control connection input
  ftp: reconnect on tcp read error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 15:59:12 +02:00
Michael Niedermayer
f320b00541 doc/codecs: Mention relation of the experimental setting and codecs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 14:14:27 +02:00
Timothy Gu
ba7cb4807f doc/encoders: Add libvo-aacenc doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 13:52:34 +02:00
Michael Niedermayer
f973f17416 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  faxcompr: return meaningful errors

Conflicts:
	libavcodec/faxcompr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 12:38:18 +02:00
Michael Niedermayer
a5a9bcc876 Merge commit 'f32aefcf349f2f1367f0143782397643416d18f3'
* commit 'f32aefcf349f2f1367f0143782397643416d18f3':
  faxcompr: K&R formatting cosmetics

Conflicts:
	libavcodec/faxcompr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 12:30:15 +02:00
Michael Niedermayer
d0b27eab92 Merge commit '9c2216976907336dfae0e8e38a4d70ca2465a92c'
* commit '9c2216976907336dfae0e8e38a4d70ca2465a92c':
  tiff: do not overread the source buffer

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 12:21:14 +02:00
Michael Niedermayer
dc318505d0 Merge commit '999ccd2d0a43640921088578f138c874f6cc0f8a'
* commit '999ccd2d0a43640921088578f138c874f6cc0f8a':
  tiff: cleanup the error paths

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 11:41:58 +02:00
Michael Niedermayer
1fec361f35 Merge commit '016c5b066de08a93a5f6b5beb0ef377356b35cde'
* commit '016c5b066de08a93a5f6b5beb0ef377356b35cde':
  tiff: refactor fax support in a separate function

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 11:32:34 +02:00
Michael Niedermayer
a804632b15 Merge commit '103937681d7e6afd3e8caf8937272575e450fb55'
* commit '103937681d7e6afd3e8caf8937272575e450fb55':
  tiff: refactor deflate support in a separate function

Conflicts:
	libavcodec/tiff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 11:23:49 +02:00
Michael Niedermayer
e2d4bcd7b8 Merge commit 'f8a4d5e970f32f8cc747f9fa7bd975ee4a060ea1'
* commit 'f8a4d5e970f32f8cc747f9fa7bd975ee4a060ea1':
  h264_parser: K&R formatting cosmetics
  vorbis: return meaningful errors

Conflicts:
	libavcodec/h264_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 10:50:24 +02:00
Lukasz Marek
ff35c7cdfa ftp: add invalid code for RETR operation
554 is possible invalid code:
- Restart not valid
- Command terminated due to server shutdown in progress
- etc...

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:34 +02:00
Lukasz Marek
89b4800eef ftp: probe seek capability
Make FTP streamed when server doesn't accept REST command

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:34 +02:00
Lukasz Marek
eeedca4b7f ftp: fix seeking beyond file size
adjust to ff* tools seek nature

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:33 +02:00
Lukasz Marek
4d617715c9 ftp: abort function optimalization
It seems some ftp servers doesn't respect ABOR command,
but closing both connection is slow.

This commit keeps control connection open when possible.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 04:17:26 +02:00
Lukasz Marek
bc29acdc76 ftp: explicit return code checks
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 03:54:55 +02:00
Lukasz Marek
43eda88200 ftp: fix flush control connection input
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 03:54:55 +02:00
Lukasz Marek
23a76b71de ftp: reconnect on tcp read error
This commit reconnect both connections and retries before ftp_read returns an error.
Practical use case: resume after lock screen on iOS devices.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-08 03:54:55 +02:00
Michael Niedermayer
56abad0ee4 avcodec/smvjpegdec: copy palette too
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-08 01:20:55 +02:00
Michael Niedermayer
5b9917ec2b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not offer smvjpeg lowres capabilities, the decoder does not support it.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 21:38:54 +02:00
Michael Niedermayer
467e7a8f26 avcodec/smvjpegdec: check that frames_per_jpeg cleanly divides height
Fixes out of array access

If some valid files fail this check then please open a ticket and ping me and the smvjpegdec maintainer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 20:39:05 +02:00
Carl Eugen Hoyos
7ce011e054 Do not offer smvjpeg lowres capabilities, the decoder does not support it.
Reviewed-by: Ash Hughes
2013-06-07 19:40:03 +02:00
Luca Barbato
a3b2b83f01 faxcompr: return meaningful errors
And optionally forward them to the caller instead of concealing them.

Unify err and ret in a single variable.
2013-06-07 17:23:53 +02:00
Luca Barbato
f32aefcf34 faxcompr: K&R formatting cosmetics 2013-06-07 17:23:53 +02:00
Luca Barbato
9c22169769 tiff: do not overread the source buffer
At least 2 bytes from the source are read every loop.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-06-07 17:23:53 +02:00
Luca Barbato
999ccd2d0a tiff: cleanup the error paths
Return the proper error values and optionally report them.
2013-06-07 17:23:53 +02:00
Luca Barbato
016c5b066d tiff: refactor fax support in a separate function 2013-06-07 17:23:53 +02:00
Luca Barbato
103937681d tiff: refactor deflate support in a separate function
Report when zlib support is missing.
2013-06-07 17:23:53 +02:00
Luca Barbato
f8a4d5e970 h264_parser: K&R formatting cosmetics 2013-06-07 16:54:55 +02:00
Luca Barbato
92b3caa108 vorbis: return meaningful errors 2013-06-07 16:54:16 +02:00
Tim.Nicholson
0ea1356137 doc/filters: fix alias option name for chroma_mode in 'il' filter. 2013-06-07 16:34:00 +02:00
Alexandre Sicard
8912029031 avformat/mov: compute dts_shift with trun cts
Some movies have negative composition time offsets in their trun, causing pts <
dts errors. This patch makes use of dts_shift to handle them.

Signed-off-by: Alexandre Sicard <alexandre.sicard@smartjog.com>
2013-06-07 16:30:27 +02:00
Paul B Mahol
c59c0488ec cmdutils: print threading capabilities for audio codecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 14:24:52 +00:00
Michael Niedermayer
bce2ed5559 smvjpegdec: only extract picture when a picture has been decoded.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 14:36:45 +02:00
Paul B Mahol
369684f109 tta: unbreak demuxing of files with id3 tags at start of file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 10:39:21 +00:00
Paul B Mahol
5bafe0ce44 tta: replace datalen with nb_samples
This is less confusing.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:49:04 +00:00
Paul B Mahol
dc5c029f02 sonicenc: don't allocate unused avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:29:34 +00:00
Paul B Mahol
5285a7549f pcmenc: don't allocate unused avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:29:34 +00:00
Paul B Mahol
739d6a78b7 alacenc: don't allocate unused avctx->coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:29:33 +00:00
Paul B Mahol
379fcc4955 id3v2: read all textual chapter subframes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-07 09:28:07 +00:00
Atli Thorbjornsson
f3c51215ce flvdec: Fix mistakenly discarding metadata at dts==0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 11:11:59 +02:00
Michael Niedermayer
9c9d2e9c77 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Fix the alphabetical ordering in registering depacketizers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 10:17:20 +02:00
Michael Niedermayer
a18bf95a8e Merge commit '2681924b0f3f35840dd9d9825df9f9239c448b22'
* commit '2681924b0f3f35840dd9d9825df9f9239c448b22':
  libavformat: Fix standalone compilation of the webm muxer

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-07 10:12:46 +02:00
Clément Bœsch
f97e28ebe5 lavfi/lut3d: add sanity checks.
Should fix CID1026775 and CID1026774.
2013-06-07 01:48:41 +02:00
Carl Eugen Hoyos
d5978c8678 Add unscaled converter from GBRP > 8bit to RGBx48/64.
Fixes ticket #2633.

Tested-by: Michael Cinquin
2013-06-06 23:57:50 +02:00
Paul B Mahol
86005184e3 tiff: simplify picking right pixel format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 21:42:02 +00:00
Paul B Mahol
61d900fd0d lavc: add ONLY_IF_THREADS_ENABLED where it is missing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 20:17:36 +00:00
Michael Niedermayer
ffb1051b9b jpeg2000: Zero prec->cblk
Prevent use of uninitialized memory / valgrind failure

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 22:02:54 +02:00
Michael Niedermayer
7c3a296b4f jpeg2000dec: fix av_log()
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 21:52:49 +02:00
Paul B Mahol
8cc8adaa88 tiff: correctly decode saparate planes with horizontal differencing predictor
Closes #2648.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 19:47:46 +00:00
Clément Bœsch
00f4998997 lavf/tee: pesudo → pseudo. 2013-06-06 20:29:38 +02:00
Paul B Mahol
3554238863 lavfi/il: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 17:44:54 +00:00
Paul B Mahol
7d01533371 lavfi/framestep: cosmetics: reindent AVFilter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 17:19:16 +00:00
Paul B Mahol
27d3d61343 lavfi/framestep: add timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 17:17:14 +00:00
Martin Storsjö
aa2c918f7d rtpdec: Fix the alphabetical ordering in registering depacketizers
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-06 19:56:05 +03:00
Martin Storsjö
2681924b0f libavformat: Fix standalone compilation of the webm muxer
The missing object file was added to the matroska muxer already, but
not to the webm muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-06 19:55:53 +03:00
James Almer
b06717ef40 APIchanges: Add missing entry for SHA-2 512
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 18:13:06 +02:00
Stefano Sabatini
4da5402256 ffprobe: show chapter and chapter metadata information
Address trac ticket #2636.
2013-06-06 16:49:53 +02:00
Michael Niedermayer
21d0f75f29 jpeg2000dec: check that we have enough components for MCT
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 16:06:48 +02:00
Michael Niedermayer
c49d94487c jpeg2000dec: Use the matching coding style struct for transform selection
Fixes a null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 15:38:05 +02:00
Carl Eugen Hoyos
75b9fb27f5 lavf/hlsenc: fix bogus hls segment index rewrapping logic
The counter should not be reset since it detects the
hls segment increasing timeframe.

Fixes ticket #2643.

Reviewed-by: Stefano Sabatini
2013-06-06 12:09:38 +02:00
Michael Niedermayer
b26bcd08e6 jpeg2000dec: Check that theres a SOT before SOD
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 10:51:07 +02:00
Michael Niedermayer
c51654fbc0 jpeg2000dec: Support 4 tile parts
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 03:10:42 +02:00
Paul B Mahol
a28f4fd1ea flacdec: don't call allocate_buffers() in init_thread_copy() when s->max_blocksize is 0
This is normal, and happens when no extradata was available at decoder
initialization.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-06 01:06:45 +00:00
Michael Niedermayer
c59ce1c98e get_qcc: Check compno
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 02:26:22 +02:00
Paul B Mahol
b28851a1d6 alac: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:32 +00:00
Paul B Mahol
9684d7f1a2 wavpack: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:32 +00:00
Paul B Mahol
495db0e3b0 ttadec: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:32 +00:00
Paul B Mahol
9300de0409 flacdec: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:31 +00:00
Paul B Mahol
d97044640c takdec: frame multi-threading support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:31 +00:00
Paul B Mahol
d5f7f1fef1 audio frame multi-threaded decoding
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-05 22:35:31 +00:00
Michael Niedermayer
258a05b216 MAINTAINERS: add fingerprint of the FFmpeg release signing key
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 23:31:19 +02:00
Michael Niedermayer
bbc19010ed jpeg2000dec: return error for invalid cdxy values
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 23:31:19 +02:00
Stefano Sabatini
702c1bf240 Changelog: add missing entries about new mcdeint and sab filters 2013-06-05 19:35:37 +02:00
Michael Niedermayer
2c2a8f70f5 jpeg2000: Make nreslevel fields int
This prevents potential integer overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 18:34:07 +02:00
Michael Niedermayer
66c4d54413 jpeg2000dec: Propagate error code from get_cox() correctly
Without this the context state could become inconsistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 18:34:07 +02:00
Michael Niedermayer
6e9bfc19bd jpeg2000: check that nreslevels2decode has been initialized before use
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 18:34:07 +02:00
Michael Niedermayer
16f3102f41 avformat/img2dec: timestamps are 64bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 14:41:16 +02:00
Michael Niedermayer
fbc472da29 avutil/mem: simplify av_reallocp_array() by using av_realloc_f()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 14:40:31 +02:00
Michael Niedermayer
21bf0d6f80 avformat/network: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 14:29:04 +02:00
Michael Niedermayer
856e7dbb72 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  apetag: use int64_t for filesize

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:25:16 +02:00
Michael Niedermayer
4abd5a4318 Merge commit '274e134e49b1c92db0f0b8cb2ae7554fb7b9184c'
* commit '274e134e49b1c92db0f0b8cb2ae7554fb7b9184c':
  avconv: check that the output format context exists before accessing it

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:20:26 +02:00
Michael Niedermayer
2280b539c5 Merge commit '8b7dffc2d6c6c19f8e0a1fedcd0e95dce7a273ff'
* commit '8b7dffc2d6c6c19f8e0a1fedcd0e95dce7a273ff':
  lavfi doxy: improve/extend AVFilter doxy.

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 12:05:41 +02:00
Michael Niedermayer
82070b01b8 Merge commit '9835abb6d63fb07613994ae90e72fef758149408'
* commit '9835abb6d63fb07613994ae90e72fef758149408':
  network: uniform ff_listen_bind and ff_listen_connect

Conflicts:
	libavformat/network.c
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:56:56 +02:00
Michael Niedermayer
606e8baf0f Merge commit '7c020e1ad37d27c9d5db4d714401f09c80e3cc44'
* commit '7c020e1ad37d27c9d5db4d714401f09c80e3cc44':
  movenc: Grow the frag_info array in chunks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:33:25 +02:00
Michael Niedermayer
28ce9c0b73 Merge commit 'ab1189766a82a95f108005463cde75f73fcc0ae5'
* commit 'ab1189766a82a95f108005463cde75f73fcc0ae5':
  movenc: Increase the cluster array allocation by doubling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:26:32 +02:00
Michael Niedermayer
30b491f1c9 Merge commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e'
* commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e':
  movenc: Keep track of the allocated size for the cluster array
  mem: Add av_realloc_array and av_reallocp_array

Conflicts:
	doc/APIchanges
	libavformat/movenc.c
	libavutil/mem.c
	libavutil/mem.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 11:19:16 +02:00
Timothy Gu
ea038b996d doc/encoders: add documentation for libtwolame 2013-06-05 08:33:13 +00:00
Michael Niedermayer
3289670142 swr: dont treat 32 and 24 as equal in simple copy check
Fixes dithering from 32 to 24 bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 03:06:34 +02:00
Michael Niedermayer
6bc4e36ba7 swr: set scale for 32->32/24 dither
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 03:06:34 +02:00
Stefano Sabatini
449558d34a lavfi/mp: remove mp=sab
The filter was ported to a native libavfilter filter.
2013-06-05 00:06:51 +02:00
Stefano Sabatini
841df7bf86 lavfi: port sab filter from libmpcodecs 2013-06-05 00:06:51 +02:00
Paul B Mahol
0804171104 swresample: set flags & description and add documentation for output_sample_bits
Allows users to actually use such option.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-04 21:57:25 +00:00
Michael Niedermayer
495bf1b685 swr: Fix dithering of s16 with SIMD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 23:50:45 +02:00
Michael Niedermayer
4cfc92081d swr: add native_simd_one
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 23:50:45 +02:00
Paul B Mahol
e3e398b80b doc/general: update after e4e4add0e3
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-04 21:43:59 +00:00
Michael Niedermayer
3b58ab4c5f pngdec: dont treat mpng like png with key and non keyframes
Fixes Ticket2618

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 20:40:07 +02:00
Carl Eugen Hoyos
3b491c5a50 Use av_log() instead of fprintf() in ffplay.
Fixes ticket #2630.

Reviewed-by: Marton Balint
2013-06-04 19:47:56 +02:00
Paul B Mahol
f5d5bc3493 tak: simplify ff_tak_check_crc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-04 17:25:32 +00:00
Anton Khirnov
e816aaacd6 apetag: use int64_t for filesize
CC: libav-stable@libav.org
2013-06-04 17:20:19 +02:00
Anton Khirnov
274e134e49 avconv: check that the output format context exists before accessing it
Fixes a segfault in exit_program() if opening an output file fails.
2013-06-04 17:20:04 +02:00
Anton Khirnov
8b7dffc2d6 lavfi doxy: improve/extend AVFilter doxy. 2013-06-04 17:18:33 +02:00
Michael Niedermayer
b84de51f54 swresample/rematrix: add S32 mixing code
Needed for dithering S32

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 15:12:11 +02:00
Michael Niedermayer
f3c638eac1 wresample/rematrix_template: fix internal types
Should make no difference, but future commits will need it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 15:12:11 +02:00
Luca Barbato
9835abb6d6 network: uniform ff_listen_bind and ff_listen_connect
Document the functions and have both use a millisecond timeout and
check for interrupt.
2013-06-04 14:56:52 +02:00
Andrey Semashev
7c020e1ad3 movenc: Grow the frag_info array in chunks
Previously it was grown one element at a time, which leads to
excessive reallocations.

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:05:42 +03:00
Andrey Semashev
ab1189766a movenc: Increase the cluster array allocation by doubling
The previous allocation increment of 16384 meant that the cluster
array was allocated for 0.6 MB initially, which is a bit excessive
for cases with fragmentation where only a fraction of that ever
actually is used.

Therefore, start off at a much smaller value, and increase by
doubling (to avoid reallocating too often when writing long
non-fragmented mp4 files).

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:05:31 +03:00
Andrey Semashev
3b4feac1ec movenc: Keep track of the allocated size for the cluster array
When writing fragmented mp4, the cluster array is reset when a
fragment is written. Instead of starting off reallocating the
array only based on the number of current elements in it, keep
track of how many elements there were allocated earlier.

This avoids reallocating this array needlessly when writing
fragmented mp4 files.

Bug-Id: 525
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:05:12 +03:00
Martin Storsjö
fc962d4e7a mem: Add av_realloc_array and av_reallocp_array
These help avoiding overflows and simplify error handling.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-04 15:04:08 +03:00
Michael Niedermayer
372e00793f Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  ftp: fix using uninitialized value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 13:56:07 +02:00
Michael Niedermayer
2192f89368 ffserver: fix null pointer dereference
Fixes CID732208
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 13:19:27 +02:00
Lukasz Marek
7faafe606f ftp: fix using uninitialized value
Fix coverity issue CID 1026777

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2013-06-04 13:08:23 +02:00
Michael Niedermayer
fca435fee1 vc1dec: Disable dead code
Fixes CID732197/6

A assert is added to check that the disabled code wont
be needed in the future.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-04 02:43:20 +02:00
Paul B Mahol
d19d679e4b lavf/aacdec: add support for reading ape tags
Closes #2634.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 23:10:57 +00:00
Paul B Mahol
55121f3fa9 tta: add support for reading ape tags
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 23:04:43 +00:00
Paul B Mahol
0e84ba747e tta: return meaningful error codrs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 22:26:16 +00:00
Paul B Mahol
b4d4ef5529 flacdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 19:24:15 +00:00
Michael Niedermayer
e4bf3a97de Merge branch 'master' of https://github.com/upsuper/ffmpeg-vdadec
* 'master' of https://github.com/upsuper/ffmpeg-vdadec:
  vda_h264_dec: remove check_format

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 20:21:01 +02:00
Michael Niedermayer
c8faa47484 avformat/network: check the return value from setsockopt()
Fixes: CID1026742
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 16:12:00 +02:00
Michael Niedermayer
2fe4b6210c matroskadec: fix memleak of pkt_data
Fixes: CID1026767
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 16:08:38 +02:00
Michael Niedermayer
0722b4d08c matroskadec: favor av_freep()
av_freep() is safer as it zeros the pointer

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 16:05:09 +02:00
Michael Niedermayer
43487bc5c1 avfilter/vf_mcdeint: free frame on error
Fixes CID1026766
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 15:41:29 +02:00
Michael Niedermayer
3ed56b3b39 avfilter/process_options: fix memleak
Fixes CID1026765
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 15:26:50 +02:00
Michael Niedermayer
7e7d090907 avfilter/af_astats: rename stat()
See CID1026741
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:52 +02:00
Michael Niedermayer
bbae652113 tiff: fix memleak
Fixes CID1026764
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:52 +02:00
Michael Niedermayer
bbf43c70dd jpeg2000dec: assert that curtileno is valid when used
Fixes CID1026755
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:52 +02:00
Michael Niedermayer
234f76ae7d jpeg2000: Fix unintended sign extension in malloc arguments of prec
Fixes: CID1026772/3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:40 +02:00
Michael Niedermayer
d8c10324ed jpeg2000: Fix Unintended sign extension in malloc arguments of cblk.
Fixes CID1026770
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:16:19 +02:00
Michael Niedermayer
6952e2f82a h264_ps: fix memleak in ff_h264_decode_picture_parameter_set()
Fixes: CID1026763
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:09:12 +02:00
Michael Niedermayer
7e99d528f9 ffv1enc: Check return value of av_frame_ref()
Fixes CID1026740
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:06:25 +02:00
Michael Niedermayer
8a266aaaac avcodec/jpeg2000dwt: merge rescaling with interleave in 9/7 int IDWT
Tha fate tests change because the edge mirroring was wrong before this commit

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 13:24:20 +02:00
Michael Niedermayer
96b71a6ec5 avcodec/jpeg2000dwt: merge rescaling with interleave in 9/7 float IDWT
10% faster

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 13:18:40 +02:00
Michael Niedermayer
6507d86f07 jpeg2000dec; optimize output sample convert a bit
67935 -> 29984 kcycles

Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 13:00:50 +02:00
Michael Niedermayer
3da7111193 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: Change the track struct name to match the typedef

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:54:43 +02:00
Michael Niedermayer
e5cdf9c03b Merge commit '2d66a58ccde05e764594bd7e5f0f9244634d0b2c'
* commit '2d66a58ccde05e764594bd7e5f0f9244634d0b2c':
  Go2Webinar decoder

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:47:26 +02:00
Michael Niedermayer
5c43f3ddea Merge commit '31980b6abdd8ffb6953472a7a6b59f3aa5762c31'
* commit '31980b6abdd8ffb6953472a7a6b59f3aa5762c31':
  vmd: decode videos with no LZ buffer size provided - they might not need it

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:33:00 +02:00
Michael Niedermayer
c3660c3618 Merge commit '0aed0bfc62b273a780a2bfba3be56039fccd7423'
* commit '0aed0bfc62b273a780a2bfba3be56039fccd7423':
  vmd: fix mode 3 decoding

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 12:21:25 +02:00
Michael Niedermayer
45a73d2b47 Merge commit 'c011ceef78eae66039efc66d9551a7146e08838a'
* commit 'c011ceef78eae66039efc66d9551a7146e08838a':
  swscale: ppc: Remove commented-out define cruft
  nsvdec: Remove commented-out debug cruft
  cpu: Restructure code to avoid pointless ret variable indirection

Conflicts:
	libavutil/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 11:53:05 +02:00
Michael Niedermayer
7cb5467a52 Merge commit '46ce9ded96ffcb798b03da894cdb5fdac376a6ee'
* commit '46ce9ded96ffcb798b03da894cdb5fdac376a6ee':
  tiff: K&R formatting cosmetics

Conflicts:
	libavcodec/tiff.c
	libavcodec/tiff.h
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 11:44:11 +02:00
Martin Storsjö
9683e37cd5 movenc: Change the track struct name to match the typedef
This makes the struct name (which isn't used anywhere) match the
name of the typedef, as for all the other structs declared in this
header.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-06-03 11:08:18 +03:00
Kostya Shishkov
2d66a58ccd Go2Webinar decoder 2013-06-03 09:24:55 +02:00
Michael Niedermayer
2976e2a102 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/trim: mark link closed on EOF.
  ffmpeg: ignore EOF when pushing frames to filters.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 02:59:14 +02:00
Paul B Mahol
d2021f74ed jpeg2000dec: remove redundant error log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 00:20:08 +00:00
Paul B Mahol
a44d39ae42 wavpack: remove redundant error log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 00:20:04 +00:00
Paul B Mahol
0f740fea85 tta: use interger instead of pointer to iterate output samples for 24-bit case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 22:43:31 +00:00
Paul B Mahol
e2f89f7804 tta: move GetBitContext out of private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 22:38:16 +00:00
Nicolas George
50a4d076ce lavfi/trim: mark link closed on EOF.
Fix trac ticket #2620.
2013-06-02 23:19:42 +02:00
Nicolas George
fc82f4a1f8 ffmpeg: ignore EOF when pushing frames to filters.
EOF is not a fatal condition, it is normally produced
by a few filters.

TODO: take it into account to avoid useless decoding.
2013-06-02 23:19:42 +02:00
Michael Niedermayer
582f36ca3f tools/qt-faststart: Fix unintended sign extension of current_offset
Fixes: CID733809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 23:10:44 +02:00
Michael Niedermayer
69ce34c796 tools/qt-faststart: Fix unintended sign extension of atom_size
Fixes CID733810

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 23:10:31 +02:00
Michael Niedermayer
c1075d6af7 tools/ffhash: close file handle on error
Fixes CID1026768

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 22:52:23 +02:00
Michael Niedermayer
de488525e5 tools/ffeval: Check return value of av_expr_parse_and_eval()
Fixes CID1026745

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 22:48:03 +02:00
Kostya Shishkov
31980b6abd vmd: decode videos with no LZ buffer size provided - they might not need it
The buffer is used for an additional pass of frame compression, so videos
can be coded without ever using it (and some are coded so indeed, e.g. in
Woodruff and the Schnibble of Azimuth game).
2013-06-02 19:08:09 +02:00
Kostya Shishkov
0aed0bfc62 vmd: fix mode 3 decoding 2013-06-02 19:07:31 +02:00
Michael Niedermayer
636c2dd438 avutil/sha: reorder Maj arguments
about 1% speedup

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 18:51:09 +02:00
Diego Biurrun
c011ceef78 swscale: ppc: Remove commented-out define cruft 2013-06-02 18:11:59 +02:00
Diego Biurrun
9f84ed8cc3 nsvdec: Remove commented-out debug cruft 2013-06-02 18:11:58 +02:00
Diego Biurrun
f0ce1d9909 cpu: Restructure code to avoid pointless ret variable indirection
libavutil/cpu.c:133:9: warning: unused variable ‘ret’ [-Wunused-variable]
2013-06-02 18:05:08 +02:00
Diego Biurrun
46ce9ded96 tiff: K&R formatting cosmetics 2013-06-02 17:59:34 +02:00
Paul B Mahol
514cb9bb92 tta encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 15:16:52 +00:00
Paul B Mahol
2e67dde954 tta: move code that will be shared with encoder to separate file
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 14:53:14 +00:00
Carl Eugen Hoyos
a4b5863eea Fix compilation of libavcodec/tiff.c 2013-06-02 16:50:39 +02:00
Paul B Mahol
379ad9788b tiff: planar rgb
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-02 14:22:40 +00:00
Michael Niedermayer
09d6beee24 avutil/sha512: Reshuffle Maj() operands
This reduces dependancy chains and improves speed by about 2%

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 13:18:16 +02:00
James Almer
682b2273e8 lavu: Add SHA-2 512 hashing
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:27:19 +02:00
Michael Niedermayer
a40370661d use Kostyas full name in copyrights
This fixes 2 files that where not part of the original change
See: de421b2085

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:25:56 +02:00
Michael Niedermayer
54ddbb477b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  network: factor out connect-listening code

Conflicts:
	libavformat/network.h
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 11:02:02 +02:00
Michael Niedermayer
4d4f5911d3 Merge commit '28306e6d620c109ddd672f7243adfbc2bbb3b18f'
* commit '28306e6d620c109ddd672f7243adfbc2bbb3b18f':
  network: factor out bind-listening code
  use my full first name instead of short one in copyrights

Conflicts:
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 10:30:35 +02:00
Michael Niedermayer
5711e4fd11 fate: use TARGET_SAMPLES in mcdeint tests
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-02 02:03:39 +02:00
Paul B Mahol
58b36959dd tta: use get_unary()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-01 23:06:04 +00:00
Michael Niedermayer
c28aafe6c0 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: detect when the created overlay buffers are not valid for the wanted overlay height
  ffplay: do not allow wider window than 16383
  ffplay: use 0 frame delay if redisplaying an already displayed frame
  ffplay: use more sane frame timer resetting logic
  ffplay: only update pts if not redisplaying a frame
  ffplay: fix compute_target_delay to better handle frames with long durations
  ffplay: if playing only audio or video only, show the master clock diff in status line
  ffplay: factorize clock functions
  ffplay: decrease video picture queue size to 3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 23:47:01 +02:00
Stefano Sabatini
ec34963276 lavfi/mp: drop mcdeint wrapper
It was ported to a native libavfilter filter.
2013-06-01 22:35:20 +02:00
Stefano Sabatini
5fa252b212 tests: add mcdeint tests 2013-06-01 22:35:04 +02:00
Stefano Sabatini
e89182fc94 lavfi: port mcdeint filter from libmpcodecs 2013-06-01 22:34:57 +02:00
Stefano Sabatini
3a2b9911bf lavfi/mp/mcdeint: avoid uninited data read
Do not read padding or out-of-buffer values when computing the output
value for a pixel close to the image buffer edge.

This avoids non visible artifacts which affected the output checksum.

See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi/mp/mcdeint: avoid uninited data read
Date: Thu, 30 May 2013 18:57:14 +0200
2013-06-01 22:34:50 +02:00
Clément Bœsch
534f1a2821 lavc/avcodec: decodimg → decoding. 2013-06-01 19:16:45 +02:00
Carl Eugen Hoyos
f514b5dff7 Fix libcdio-paranoia detection.
Fixes ticket #2614.
2013-06-01 18:34:51 +02:00
Luca Barbato
f849a77e67 network: factor out connect-listening code
Introduce ff_listen_connect, to be shared with the other
non-tcp network protocols.
2013-06-01 15:29:53 +02:00
Luca Barbato
28306e6d62 network: factor out bind-listening code
Introduce ff_listen_bind, to be shared with the other non-tcp
network protocols.
2013-06-01 15:29:53 +02:00
Clément Bœsch
07f6a66bf5 lavf/webvttdec: factorize identifier and settings side data code. 2013-06-01 15:12:49 +02:00
Matthew Heaney
8f75ba9926 lavf/webvttdec: save cue id and settings as side data
Currently the WebVTT demuxer parses the cues but throws away
the cue id (the optional first line of the cue) and cue
settings (the optional rendering instructions that follow
the timestamp).

However, in order to write inband text tracks (to WebM
files), the entire cue payload from the WebVTT source must
be preserved.

This commit makes no change to the data part of the output
buffer packet (where the actual cue text is stored), but
does add the cue id and settings as a side data items, if
they're present in the cue. Existing code that cares only
about the data part of the packet can continue to ignore the
side data.

There are two new packet data type flags,
AV_PKT_DATA_WEBVTT_IDENTIFIER and
AV_PKT_DATA_WEBVTT_SETTINGS.
2013-06-01 15:12:49 +02:00
Clément Bœsch
151b4947e5 lavc/avpacket: fill padding area on side data split.
The padding data is assumed to be 0 in several places, notably in
subtitles. This problem was not detected with fate-sub-srt test because
the first element of the side data (x1) is 0 in the test, so the
trailing side data present in the packet wasn't read by the decoder. The
issue can be observed with a large enough x1.

It is also noted in FF_INPUT_BUFFER_PADDING_SIZE doxy that MPEG
bitstreams require that padding with 0, so it might fix other issues.
2013-06-01 15:12:49 +02:00
Michael Niedermayer
9054e72529 jpeg2000: make sure s->numXtiles / s->numYtiles are reset when tile is deallocated
This keeps the structure fields more consistent after cleanup

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 14:41:46 +02:00
Xidorn Quan
4a023d5b53 vda_h264_dec: remove check_format
Since this function cannot work anymore, this patch simply removes it.
2013-06-01 12:02:11 +00:00
Kostya Shishkov
de421b2085 use my full first name instead of short one in copyrights 2013-06-01 13:38:50 +02:00
Marton Balint
30d724bdfd ffplay: detect when the created overlay buffers are not valid for the wanted overlay height
Fixes cases when the picture height was bigger than the maximum supported
overlay height...

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint
87917a3283 ffplay: do not allow wider window than 16383
SDL surface pitch is 16bit, to avoid possible overflows, we limit the window
width to 16383. Fixes ticket #2428.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint
3b6f1526c6 ffplay: use 0 frame delay if redisplaying an already displayed frame
With the previous patches this finally fixes ticket #1707.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint
97e42551e4 ffplay: use more sane frame timer resetting logic
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint
35b2f30fd1 ffplay: only update pts if not redisplaying a frame
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:46 +02:00
Marton Balint
e341cb1102 ffplay: fix compute_target_delay to better handle frames with long durations
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Marton Balint
5b492720ad ffplay: if playing only audio or video only, show the master clock diff in status line
Showing A-V diff has no use if there is no audio and video stream, but showing
the audio or video clock difference to the master clock can be useful.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Marton Balint
f2175a628b ffplay: factorize clock functions
There should be no change in functionality.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Marton Balint
b764b53aae ffplay: decrease video picture queue size to 3
It was raised to 4 because of a theoretical issue, if we ensure that we do not
return from the display function without popping one picture from the queue,
then its OK to use the old size.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-06-01 12:50:45 +02:00
Clément Bœsch
1fb52bf920 lavfi/mptestsrc: fix chroma subsampling with odd sizes.
This makes no difference in practice since w & h are hardcoded to 512.
2013-06-01 12:05:55 +02:00
Clément Bœsch
7ba04b3c48 lavfi/pixdesctest: fix chroma subsampling with odd sizes. 2013-06-01 12:05:55 +02:00
Michael Niedermayer
35cf069aea Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with --disable-everything --enable-encoder=jpeg2000

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:49:48 +02:00
Michael Niedermayer
dc60061bb6 jpeg2000dec: optimize dequantization_int()
4400->2800 cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:48:13 +02:00
Michael Niedermayer
6cbd0241f2 jpeg2000dec: optimize dequantization_float()
4700 -> 2700 cycles (sandybridge  i7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:48:09 +02:00
Carl Eugen Hoyos
f1c8413dc7 Fix compilation with --disable-everything --enable-encoder=jpeg2000
The JPEG2000 encoder depends on the discrete wavelet transform.
2013-06-01 11:15:31 +02:00
James Almer
c485c835fe avutil/crc: Dont limit CRC32 standard tables
Currently, standard tables like AV_CRC_32_IEEE and such are being generated (or
provided in case the user compiles with hardcoded tables) with only 257 elements.
We're missing a considerable boost in performance by not making them with a size
of 1024 elements instead.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 10:53:39 +02:00
Michael Niedermayer
0c2f673ed2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo4: expand allowed quantiser range
  configure: icl: Merge -Qdiag-error parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 10:27:47 +02:00
Michael Niedermayer
b919a8d3a3 Merge commit '14fb9d3d8ccf5f50180aabdb1afe8b570fea3d28'
* commit '14fb9d3d8ccf5f50180aabdb1afe8b570fea3d28':
  configure: Separate commonalities in msvc and icl flags

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 10:16:42 +02:00
Kostya Shishkov
33f64fd5d5 indeo4: expand allowed quantiser range
Indeo 4 has quantiser range 0-31 instead of 0-23 for Indeo 5, and clipping
quantiser leads to incorrect quantisation and DC prediction on low-quality
videos.

This fixes bug 259.
2013-06-01 06:36:47 +02:00
Clément Bœsch
716dbc7e13 lavf/allformats: align nit for tee muxer. 2013-06-01 02:36:07 +02:00
Paul B Mahol
710940bec1 tta: stop checking header checksum in extradata
It's redundant now as check in done in demuxer instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-31 21:11:55 +00:00
James Almer
6510686c16 lavf/tta: check header and seek table checksum
Since we don't check for seek table integrity in the decoder anymore,
check it in the demuxer instead (Only tta files are guaranteed to have
one, and it should be valid there).

Check also for header integrity, since the check done in the decoder
is ignored because matroska doesn't store the header at all.

Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-31 21:10:57 +00:00
Alex Smith
60f09c04d8 configure: icl: Merge -Qdiag-error parameters
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-05-31 14:39:30 -04:00
Alex Smith
14fb9d3d8c configure: Separate commonalities in msvc and icl flags
Allows for easier handling of flags that may be specific to icl or msvc.
Furthermore, simplify the handling of warnings and remarks thanks to
icl's support of -Wall on Windows.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-05-31 14:39:14 -04:00
Michael Niedermayer
f70d0212ce Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master:
  ftp: enhanced error handling
  ftp: reconnect on seek
  ftp: move common commands code to function
  ftp: enhanced status code handling
  ftp: reconnect on read
  ftp: move create control connection to function
  ftp: credentials moved into FTPContext
  ftp: rename function name
  ftp: formatting and typos fixes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 19:26:19 +02:00
Michael Niedermayer
6e073dd127 configure: check for nanosecond precission stat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 17:28:44 +02:00
Michael Niedermayer
887d74c47e av_d2q: Add a special case for |value| > MAX and |value| < 1/MAX
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 17:10:36 +02:00
Lukasz Marek
ddbcc48b64 ftp: enhanced error handling
Add error codes to expected codes to make responses faster.
Success of a command is validated by comparing code to a success code.
2013-05-31 16:54:03 +02:00
Lukasz Marek
34c423894c ftp: reconnect on seek
ABOR command usually takes long (FTP server implementation dependent).
It also produces different response codes from different servers.

It is save for ffmpeg to reconnect both connection during seek for two reasons:
1. Alreay mentioned heavy manner of ABOR command.
2. Server may disconnected due to no transfer (seek after a long pause in ffmpeg client)
2013-05-31 16:52:39 +02:00
Lukasz Marek
d99beeb70e ftp: move common commands code to function
Each send command routine requires the same steps.
This commit moves repeated code into one function.
2013-05-31 16:42:26 +02:00
Lukasz Marek
3f00521809 ftp: enhanced status code handling
Reimplementation of ftp_status function.
New version requires explicit list of expected codes.
It flush data connection input before sending a command
and blocks until expected result appears.
2013-05-31 16:42:25 +02:00
Lukasz Marek
1931c2d265 ftp: reconnect on read
FTP server may disconnect after some period of time when no transfer is done.

FTP protocol should reconnect and seek to last position.
2013-05-31 16:40:03 +02:00
Lukasz Marek
c84d6aa2f6 ftp: move create control connection to function
Move common code that opens control connection to function.
This code can be reused when reconnecting to FTP server
after inactivity.
2013-05-31 15:57:58 +02:00
Lukasz Marek
e46e49e31d ftp: credentials moved into FTPContext
FTP server may disconnect client.

This commit stores credentials for future reconnect.
2013-05-31 15:57:58 +02:00
Lukasz Marek
80cce899f6 ftp: rename function name
ftp_send_command was used only once.

This commit makes this function specific, not generic
2013-05-31 15:57:58 +02:00
Lukasz Marek
afa30e51d1 ftp: formatting and typos fixes 2013-05-31 15:57:57 +02:00
Michael Niedermayer
f77467a11d jpeg2000dec: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 13:33:13 +02:00
Michael Niedermayer
c1415cfefb jpeg2000dec: print more detailed cdx/y debug info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 13:32:33 +02:00
Michael Niedermayer
f0b9bd807b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresenc: alpha coding support

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 11:32:58 +02:00
Clément Bœsch
7de8a38160 lavfi/vignette: remove extra semi-colon. 2013-05-31 10:22:03 +02:00
Michael Niedermayer
9d56ccf5af j2k/jpeg2000dec: merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:08 +02:00
Michael Niedermayer
fd7e119037 jpeg2000dec: merge simplification of jpeg2000_decode_packets() from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:08 +02:00
Michael Niedermayer
192050d7a7 jpeg2000dec: merge sgnd fix from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer
5dbbb762e5 jpeg2000dec: merge struct field types from j2k
Fixes AVOption type mismatch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer
89f472b3ee j2kdec: merge JPEG2000_PGOD_CPRL code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer
45c0e338fc j2kdec: merge picture handling from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer
f471b5fa30 j2k: restructure bitstream decoding
This is based on jpeg2000 but differs because of
problems with the design from jpeg2000 with currently
supported files

More files can be decoded after this commit, though they
show heavy artifacts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:09:32 +02:00
Michael Niedermayer
cdb86136f7 j2k/jpeg2000: merge some of the tilepart related code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:11 +02:00
Michael Niedermayer
a5203d86b3 j2kdec: merge length==0 check from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:11 +02:00
Michael Niedermayer
f67f2681da jpeg2000deci/j2kdec: fix sizeof types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Michael Niedermayer
20a2d5ec11 jpeg2000dec: fix ff_mqc_initdec() and data setup order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Michael Niedermayer
7a2b634220 jpeg2000dec: simplify init_tile() / merge from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Matthieu Bouron
f468325d34 lavf/id3v2enc: fix cover art display on some software
Adding an arbitrary amount of padding bytes at the end of the
ID3 metadata fixes cover art display for some software (iTunes,
Traktor, Serato, Torq).

For reference (ID3 metadata):

[ Apic frames ]                      -> cover doesn't show up
[ Apic frames, Padding ]             -> ok
[ Apic frames, ID3 frames ]          -> ok
[ ID3 frames, Apic frames ]          -> cover doesn't show up
[ ID3 frames, Apic frames, Padding ] -> ok
2013-05-30 21:16:57 +00:00
Paul B Mahol
c4e0e31424 tta: remove pointless code
Checking seek table crc in decoder is pointless, as seek table is not used in
decoder anyway, so also stop storing seek table into extradata.
2013-05-30 20:17:27 +00:00
Clément Bœsch
2886e8065e lavfi/vignette: add aspect option. 2013-05-30 20:51:12 +02:00
Clément Bœsch
33620e243f lavfi/vignette: add some scaling debug. 2013-05-30 20:41:56 +02:00
Clément Bœsch
bfafcc4ebe lavfi/vignette: simplify dmax definition. 2013-05-30 20:41:37 +02:00
Clément Bœsch
cf6f179044 lavfi/vignette: fix scale with aspects smaller than one. 2013-05-30 20:40:39 +02:00
Michael Niedermayer
826b3a75cd h264_cavlc: fix reading skip run
Fixes Ticket2606

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:38:04 +02:00
Michael Niedermayer
3f714d1ffd jpeg2000/j2k: merge non functional changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:38:04 +02:00
Michael Niedermayer
941a8efae2 j2k:decode_tile() pass picture as argument
Reduce diff to jpeg2000dec

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:38:04 +02:00
Michael Niedermayer
9ccc9f30f7 jpeg2000: drop red-blue swap
This should no longer be needed as the pix fmt was updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:37:56 +02:00
Michael Niedermayer
7836583934 j2kdec: s/j2k_/jpeg2000_/
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:31:25 +02:00
Clément Bœsch
4a85390d29 lavfi/vignette: make sure a sane sar is set. 2013-05-30 18:13:04 +02:00
Clément Bœsch
0ab9362fcb lavfi: add vignette filter. 2013-05-30 17:52:52 +02:00
Michael Niedermayer
310f9dd698 j2k/jpeg2000: merge pix_fmt setting code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 16:45:30 +02:00
Michael Niedermayer
6f7de3d5c8 mpegvideo_enc: allow mpeg_quant to be set in mpeg2video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 16:07:07 +02:00
Michael Niedermayer
62d00aa22f jpeg2000/j2k: merge j2k/jpeg2000.c/h
Now only j2kdec / jpeg2000dec.c remain

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:57:58 +02:00
Michael Niedermayer
c2ac389bba jpeg2000: remove unneeded casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer
09e03a8467 jpeg2000: merges quantization fixes from j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer
efc2df2e27 jpeg2000: remove unneeded variable initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer
84a6bc2357 jpeg2000: tag_tree_size: replace check by assert
This function is never called with values large enough for the
error condition to occur

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:43:09 +02:00
Michael Niedermayer
8bedbb82ce j2k/jpeg2000: split data pointer in int & float.
This fixes a TODO item and unifies both decoders structures
It also fixes undefined behavior due to aliasing violations

I choose 2 fields instead of a union because mistakely using the
wrong type with a union will lead to hard to debug "wrong output"
while with 2 fields mistakely using the wrong type will crash
with a null pointer derefernce which is much easier to debug

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:18:53 +02:00
Carl Eugen Hoyos
b3af9242d0 Use -lX11 -lXext when linking Xv output device.
Reviewed-by: Stefano Sabatini
2013-05-30 13:13:57 +02:00
Michael Niedermayer
1a7ae6be2a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Include hpeldsp_neon.o if h264qpel is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 11:21:45 +02:00
Michael Niedermayer
e119d1b345 Merge commit 'efb7968cfe8b285ab4f27b363719b7c92d19ec74'
* commit 'efb7968cfe8b285ab4f27b363719b7c92d19ec74':
  arm: Don't unconditionally build dsputil files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 11:02:21 +02:00
Michael Niedermayer
0b539da4c7 Merge commit '36a7df8cf1115aa37a1b0d42324ecde5ab6c2304'
* commit '36a7df8cf1115aa37a1b0d42324ecde5ab6c2304':
  arm: Only build the FFT init files if FFT is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:57:14 +02:00
Michael Niedermayer
3a0e21f037 Merge commit '186599ffe0a94d587434e5e46e190e038357ed99'
* commit '186599ffe0a94d587434e5e46e190e038357ed99':
  build: cosmetics: Place unconditional before conditional OBJS lines

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:49:43 +02:00
Stefano Sabatini
f7a267affe doc/encoders: remove duplicated "the" 2013-05-30 10:44:54 +02:00
Stefano Sabatini
9f8937b5ef lavd: add xv output device
Based on the work of Jeff Moguillansky <Jeff.Moguillansky@am.sony.com>.

See thread:
Subject: [FFmpeg-devel] x11 output device for libavdevice
Date: Wed, 10 Apr 2013 23:10:47 +0000
2013-05-30 10:44:54 +02:00
Michael Niedermayer
1bbbbb0a32 Merge commit '9b9b2e9f3036abfd42916bcf734af14b4cb686aa'
* commit '9b9b2e9f3036abfd42916bcf734af14b4cb686aa':
  build: arm: cosmetics: Place all OBJS declarations in alphabetical order

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:37:52 +02:00
Michael Niedermayer
103ffde5a3 Merge commit '701966730ce10290fd49c5ccedd73f505680f764'
* commit '701966730ce10290fd49c5ccedd73f505680f764':
  vmd: drop incomplete chunks and spurious samples

Conflicts:
	libavcodec/vmdav.c

2 of the changes are replaced by assert0s, as they should
be impossible.
The actual bug is likely caused by a invalid block_align
which is checked for and thus impossible in ffmpeg.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 10:36:52 +02:00
Michael Niedermayer
ab78e21ea2 Merge commit '676da248cad49debc40720baa13214f0b94dcc71'
* commit '676da248cad49debc40720baa13214f0b94dcc71':
  vmd: refactor the inner decode loop

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 09:44:57 +02:00
Michael Niedermayer
8ef89833d0 Merge commit 'c8f3cb9119c2183680d44a509a1b5a9817a3bee9'
* commit 'c8f3cb9119c2183680d44a509a1b5a9817a3bee9':
  vmd: return meaningful errors

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 09:37:14 +02:00
Michael Niedermayer
6635b13411 Merge commit '91a6944e56236234f0a7ba162404665753cbcb51'
* commit '91a6944e56236234f0a7ba162404665753cbcb51':
  vmd: use the PALETTE_COUNT constant uniformly

Conflicts:
	libavcodec/vmdav.c

No change as the changed line does not exist in ffmpegs vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 09:28:23 +02:00
Kostya Shishkov
0b0953baec proresenc: alpha coding support 2013-05-30 09:23:26 +02:00
Michael Niedermayer
63e5e9f7c5 fate: fix smvjpeg test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 03:31:04 +02:00
Michael Niedermayer
455ae871a8 libavcodec/smvjpegdec: pass flags / idct algo into jpeg avctx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 03:30:01 +02:00
Ash Hughes
fa30f4c24d fate: add smv test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 03:00:05 +02:00
Martin Storsjö
86113667c0 arm: Include hpeldsp_neon.o if h264qpel is enabled
A few of the h264qpel neon functions are shared with other
hpeldsp functions in this file.

This fixes standalone compilation of the h264 decoder on arm.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:37 +03:00
Martin Storsjö
efb7968cfe arm: Don't unconditionally build dsputil files
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:35 +03:00
Martin Storsjö
36a7df8cf1 arm: Only build the FFT init files if FFT is enabled
This fixes build errors in cases where FFT is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:33 +03:00
Diego Biurrun
186599ffe0 build: cosmetics: Place unconditional before conditional OBJS lines
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:31 +03:00
Diego Biurrun
9b9b2e9f30 build: arm: cosmetics: Place all OBJS declarations in alphabetical order
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-30 02:17:27 +03:00
Michael Niedermayer
29e97cd6c3 avformat/mov: Try to detect and support files with invalid sample sizes
Fixes Ticket2605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 00:32:36 +02:00
Reimar Döffinger
4c2b3f4738 Add AV_HASH_MAX_SIZE.
Makes it easier to use static allocation for the result buffer.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-29 22:31:16 +02:00
Reimar Döffinger
dccaad3bcd wamenc: handle failure to encode.
This is necessary since the switch to floating point
input means there is no longer sufficient input data
validation.
There is a good chance that other encoders are affected
by similar issues.
This problem can be triggered by trying to encode
extremely large values and probably also with Inf and
possibly also NaNs.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-29 22:31:16 +02:00
Luca Barbato
701966730c vmd: drop incomplete chunks and spurious samples
Odd chunk size makes no sense for stereo and incomplete chunks are
not supported.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-29 21:30:21 +02:00
Paul B Mahol
38fefbc474 wtvenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 18:14:43 +00:00
Michael Niedermayer
ac025d6eca j2kdec: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 19:57:03 +02:00
Michael Niedermayer
0abe923d20 mpegvideo: fix forgotten lowres op_index limits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 19:55:27 +02:00
Michael Niedermayer
c2625c26c5 mpegvideo: implement ff_put_h264_chroma_mc1 & ff_avg_h264_chroma_mc2
These are needed for lowres 3

This may fix Ticket2538

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 19:48:03 +02:00
Paul B Mahol
f8f42f4821 lavfi/noise: fix out of array access
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 16:54:28 +00:00
Paul B Mahol
83f9735592 lavfi/noise: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 16:13:11 +00:00
Paul B Mahol
f46732fe4d wvenc: remove flush call, not needed since 4f112a8e3
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 14:25:34 +00:00
Paul B Mahol
6d3b913479 remove APEv1 tag writer
Not used anymore.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 14:06:26 +00:00
Paul B Mahol
be5a55535e apetag: do not create invalid APE tags
APEv2 specifications forbids non-ascii keys.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 14:01:15 +00:00
Paul B Mahol
7984ed87c1 tiff: support inverted fill_order for packbits compression
Fixes #1995.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 13:43:03 +00:00
Paul B Mahol
30d7dcce4c tiff: add helper function for fill_order case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 13:42:55 +00:00
Paul B Mahol
b257d9a01f alac: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 12:37:33 +00:00
Paul B Mahol
7469be099e lavc/tta: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 12:30:07 +00:00
Paul B Mahol
96db307b3d lavf/flacenc: use ffio_fill()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-29 10:40:13 +00:00
Luca Barbato
676da248ca vmd: refactor the inner decode loop
Simplify a little, assume empty frames are acceptable and
do not pointlessly reinit the bytestream2 contexts using
possibly wrong size values.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-29 12:11:47 +02:00
Luca Barbato
c8f3cb9119 vmd: return meaningful errors
CC: libav-stable@libav.org
2013-05-29 12:11:47 +02:00
Luca Barbato
91a6944e56 vmd: use the PALETTE_COUNT constant uniformly
While at it drop useless parentheses.
2013-05-29 12:11:47 +02:00
Michael Niedermayer
4ea5aea869 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Mention the target_samples and ld variables for fate configs
  fate.sh: Allow specifying --as via a specific variable

Conflicts:
	doc/fate.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 11:19:25 +02:00
Michael Niedermayer
200ef1e3c3 Merge commit '9f30fb5a773d59298d8d45c741b3fd971d84c97b'
* commit '9f30fb5a773d59298d8d45c741b3fd971d84c97b':
  configure: Don't pass -mthumb or -march= to MSVC
  mpeg12: skip frames consistently

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 11:06:26 +02:00
Michael Niedermayer
d9cde3976c Merge commit '2d2d6a4883479403798f4ed46941d5b365823570'
* commit '2d2d6a4883479403798f4ed46941d5b365823570':
  lavf: add a raw WavPack muxer.
  apetag: add support for writing APE tags
  matroskaenc: support muxing WavPack

Conflicts:
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/apetag.h
	libavformat/version.h
	libavformat/wvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 10:40:42 +02:00
Michael Niedermayer
53015bb3b3 Merge commit '794ca87d2bff2513118de8b97595b3e23070e67d'
* commit '794ca87d2bff2513118de8b97595b3e23070e67d':
  wvdec: split block header parsing into a separate file

Conflicts:
	libavformat/Makefile
	libavformat/wvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 10:07:30 +02:00
Michael Niedermayer
ad649e829d Merge commit '0a1a94450a28eef854162f859e79ecfb9f97915b'
* commit '0a1a94450a28eef854162f859e79ecfb9f97915b':
  lavf: rename wv.c to wvdec.c

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 09:54:13 +02:00
Martin Storsjö
a51161ed98 doc: Mention the target_samples and ld variables for fate configs
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-29 10:37:18 +03:00
Martin Storsjö
d7b9b66abb fate.sh: Allow specifying --as via a specific variable
This simplifies specifying a value containing spaces for this
parameter.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-29 10:37:05 +03:00
Michael Niedermayer
7a2edcf1c8 Merge commit '89806691b1c39181c63d95e0fddc30f11e2a7b04'
* commit '89806691b1c39181c63d95e0fddc30f11e2a7b04':
  wavpack: check that all the channels were coded.
  wavpack: check that there aren't too many blocks per packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 05:01:35 +02:00
Michael Niedermayer
4d2825a317 Merge commit '7d039e70a5ff23a7deaa866684d2e8872acc5169'
* commit '7d039e70a5ff23a7deaa866684d2e8872acc5169':
  wavpack: extract channel information from the bitstream

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:37:58 +02:00
Michael Niedermayer
8543575cc4 Merge commit '78f75b6fa421dd39a715588e9487579f1ce5bada'
* commit '78f75b6fa421dd39a715588e9487579f1ce5bada':
  wavpack: extract sample rate from the bitstream
  configure: support gcc-4.8 instrumentation

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:33:27 +02:00
Michael Niedermayer
1f5e5d2205 Merge commit 'ba13606ca6adbc74b4db4a72b0769397d6408791'
* commit 'ba13606ca6adbc74b4db4a72b0769397d6408791':
  fate: Add a --target-samples path parameter

Conflicts:
	configure
	tests/fate/audio.mak
	tests/fate/cover-art.mak
	tests/fate/demux.mak
	tests/fate/ea.mak
	tests/fate/filter-video.mak
	tests/fate/h264.mak
	tests/fate/image.mak
	tests/fate/lossless-audio.mak
	tests/fate/lossless-video.mak
	tests/fate/microsoft.mak
	tests/fate/pcm.mak
	tests/fate/prores.mak
	tests/fate/qt.mak
	tests/fate/real.mak
	tests/fate/screen.mak
	tests/fate/video.mak
	tests/fate/voice.mak
	tests/fate/vpx.mak
	tests/fate/vqf.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:25:37 +02:00
Michael Niedermayer
e755c8ac46 Merge commit '4a27a52a1f74016095b7aee1b4a422cf62217ade'
* commit '4a27a52a1f74016095b7aee1b4a422cf62217ade':
  fate: Don't use files from SRC_PATH in the actual tests
  indeo4: reuse context block VLC for band instead of defaulting

Conflicts:
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 04:02:23 +02:00
Michael Niedermayer
ca90ca8ce3 Merge commit '6647aa0426e73839b9b1d1c9d86188f469167531'
* commit '6647aa0426e73839b9b1d1c9d86188f469167531':
  indeo4: add missing Haar and slanted transforms
  dxtory v2 support

Conflicts:
	libavcodec/indeo4.c
	libavcodec/ivi_dsp.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:52:16 +02:00
Michael Niedermayer
a58e10e5d1 Merge commit '728214992e3698305550c1762f973d2ac567f016'
* commit '728214992e3698305550c1762f973d2ac567f016':
  vc1dec: Remove interlaced warning
  vc1dec: Fix mixed field/frame intensity compensation
  vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4
  vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if needed
  vc1dec: Fix doxy for vc1_mc_4mv_chroma4()
  vc1dec: Drop old use_ic code from vc1_b_mc
  vc1: Use shuffled use_ic instead of equally shuffled mv_mode
  vc1dec: Implement intensity compensation for vc1_interp_mc()

Conflicts:
	Changelog
	libavcodec/vc1dec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:28:18 +02:00
Michael Niedermayer
28923f1923 Merge commit '28243b0d35b47bbf9abbd454fc444a6e0a9e7b71'
* commit '28243b0d35b47bbf9abbd454fc444a6e0a9e7b71':
  vc1dec: Redesign the intensity compensation

Conflicts:
	libavcodec/vc1.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 03:00:04 +02:00
Michael Niedermayer
4f4c91d474 Merge commit '93b1281264b87961f53c3e9c134cc2727ecd91ed'
* commit '93b1281264b87961f53c3e9c134cc2727ecd91ed':
  vc1dec: Shuffle field MVs after decoding, not before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 02:40:22 +02:00
Michael Niedermayer
83fd377c94 j2k/jpeg2000: merge float DWT and related code
the float conditions are largely changed to check the DWT
instead of the bitexact flag, which previously was wrong
(DWT53 is always int)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 00:29:25 +02:00
Martin Storsjö
9f30fb5a77 configure: Don't pass -mthumb or -march= to MSVC
The modern MSVC for ARM always builds for thumb, and it can't be
disabled.

Also just use the default arch instead of trying to map the -march
parameter to MSVC's -arch parameter (which only takes the values
ARMv7VE and VFPv4).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-29 00:53:11 +03:00
Michael Niedermayer
a510abd5d1 j2kdec:merge mct_decode from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 23:49:11 +02:00
Michael Niedermayer
c37d735c1c jpeg2000dec: mct_decode: remove unused return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 23:49:11 +02:00
Justin Ruggles
e816a8bc26 ffmpeg: use actual packet pts when discarding for the copypriorss option
The ist->pts value at this point does not necessarily match the actual packet
pts, which is what should be used to decide whether to discard the packet.
Without this change, some video packets that have pts on or after the start
time are getting discarded when they should not be.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-05-28 17:03:23 -04:00
Michael Niedermayer
fe7136ef82 j2k/jpeg2000: split stepsize in float & int variables
This is more clear and less prone to mistakes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Michael Niedermayer
aa0d11ed0b jpeg2000dec: remove unneeded returns
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Michael Niedermayer
f7129ab928 j2k/jpeg2000: fix typo in lut_gain index
no testcase

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Clément Bœsch
1f1df07ce5 lavfi/drawutils: attempt to fix subsampling. 2013-05-28 19:20:27 +02:00
Janne Grunau
bf20cdbd86 mpeg12: skip frames consistently
The decoder did not start predicted frames with missing references but
called the end of frame handling on them anyway. This caused an
assertion in the VA API HW accelorator since it tried to render a
picture with uninitialized buffers.
2013-05-28 19:18:10 +02:00
Michael Niedermayer
32475f56f3 j2kdec/jpeg2000dec: partially merge quantization code
The quantization code needs more work, not so much work
merging but more work investigating what is correct.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 19:02:00 +02:00
Michael Niedermayer
f0a2c8285a j2kdec: Try to fix 8bps output case
Ive no test samples for which this makes a difference but it
matches the 16bit implementation.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 18:58:46 +02:00
Anton Khirnov
2d2d6a4883 lavf: add a raw WavPack muxer. 2013-05-28 18:19:19 +02:00
Anton Khirnov
88de0c7901 apetag: add support for writing APE tags
This will be useful in the WavPack muxer.
2013-05-28 18:19:03 +02:00
Anton Khirnov
01656fd476 matroskaenc: support muxing WavPack 2013-05-28 18:18:57 +02:00
Anton Khirnov
794ca87d2b wvdec: split block header parsing into a separate file
It will be reused by other muxers and demuxers.
2013-05-28 17:47:59 +02:00
Anton Khirnov
0a1a94450a lavf: rename wv.c to wvdec.c
wv.c will be used for shared wavpack functions.
2013-05-28 17:47:30 +02:00
Anton Khirnov
89806691b1 wavpack: check that all the channels were coded. 2013-05-28 17:47:24 +02:00
Anton Khirnov
eae1b8451a wavpack: check that there aren't too many blocks per packet 2013-05-28 17:47:17 +02:00
Anton Khirnov
7d039e70a5 wavpack: extract channel information from the bitstream
This way we don't require the caller to parse the block header. It also
allows the channel configuration to change mid-stream.
2013-05-28 17:47:04 +02:00
Anton Khirnov
78f75b6fa4 wavpack: extract sample rate from the bitstream
This way we don't require the caller to parse the block header. It also
allows the sample rate to change mid-stream.
2013-05-28 17:46:03 +02:00
Luca Barbato
0ba49d28a1 configure: support gcc-4.8 instrumentation
Since version 4.8 gcc sports asan and tsan integration that can
be leveraged when hunting bugs.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-28 17:22:16 +02:00
Martin Storsjö
ba13606ca6 fate: Add a --target-samples path parameter
This allows having the samples accessible via different paths
on the target and on the host.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 17:16:54 +03:00
Martin Storsjö
4a27a52a1f fate: Don't use files from SRC_PATH in the actual tests
If building out of tree, make sure the filter scripts are copied
into the build tree before running tests. This makes sure that
SRC_PATH doesn't need to exist on the remote system (or doesn't
need to exist at the same path).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 17:14:18 +03:00
Kostya Shishkov
2cf5d29110 indeo4: reuse context block VLC for band instead of defaulting
Currently if no custom block VLC is specified for band, a default block VLC
will be used, while the global block VLC stored in the context should be used
instead.

This fixes decoding of one sample I have.
2013-05-28 14:10:58 +02:00
Kostya Shishkov
6647aa0426 indeo4: add missing Haar and slanted transforms
That involves fixing INV_HAAR4() macro and changing it to work with different
input and output like INV_HAAR8() instead of in-place transform.
2013-05-28 14:08:09 +02:00
Paul B Mahol
ced0307ea9 tta: make probing more robust
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-28 11:46:10 +00:00
Kostya Shishkov
3b03d7e251 dxtory v2 support 2013-05-28 13:35:09 +02:00
Michael Niedermayer
728214992e vc1dec: Remove interlaced warning
Also add a note about the feature in the changelog.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:29 +03:00
Michael Niedermayer
d8b9dbe776 vc1dec: Fix mixed field/frame intensity compensation
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:24 +03:00
Michael Niedermayer
17410faa22 vc1dec: Match addressing between compensation and MC in vc1_mc_4mv_chroma4
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:20 +03:00
Michael Niedermayer
1be175f929 vc1dec: Handle top and bottom blocks in vc1_mc_4mv_chroma4() differently if needed
Now it can use different references for those blocks and even use
averaging.

This fixes several chroma artifacts in several videos.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:15 +03:00
Michael Niedermayer
c69765a2cc vc1dec: Fix doxy for vc1_mc_4mv_chroma4()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:12 +03:00
Michael Niedermayer
b412f705b5 vc1dec: Drop old use_ic code from vc1_b_mc
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:08 +03:00
Michael Niedermayer
5053a9a1ff vc1: Use shuffled use_ic instead of equally shuffled mv_mode
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:56:04 +03:00
Michael Niedermayer
3ced06f283 vc1dec: Implement intensity compensation for vc1_interp_mc()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:55:59 +03:00
Michael Niedermayer
28243b0d35 vc1dec: Redesign the intensity compensation
Use the intensity-compensated reference frame for subsequent
fields/B-frames.

Since we currently don't change the reference frame we have to
maintain lookup tables for intensity compensation in the following
dependent frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:55:55 +03:00
Michael Niedermayer
93b1281264 vc1dec: Shuffle field MVs after decoding, not before
This simplifies the code since copying MVs to the reference is not needed
anymore (and maybe something about fixing artifacts).

Also remove the unused mv_f_last.

Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-28 13:55:46 +03:00
Dave Yeo
35e683e457 avcodec/vp8: Cosmetics, maintain alphabetical order in threading headers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 12:49:21 +02:00
Dave Yeo
e615a77799 os2threads: move from lavc to compat/
For useage in other places besides lavc. Needed after commit
90f9a5830b

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 12:49:20 +02:00
Paul B Mahol
269fc8e049 lavf/wvenc: remove hacks since wavpack demuxer & decoder hacks have been fixed 2013-05-28 10:46:57 +00:00
Michael Niedermayer
3ed3aaab32 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  smacker: assign video frame PTS
  matroskadec: export full wavpack blocks.

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:58:46 +02:00
Michael Niedermayer
8012f93ed8 Merge commit '5074f4545c439420daebe4c2f28ed216440b6ec7'
* commit '5074f4545c439420daebe4c2f28ed216440b6ec7':
  wavpack demuxer: export full wavpack blocks.

Conflicts:
	libavformat/wv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:49:30 +02:00
Michael Niedermayer
aa6cf4c1b0 Merge commit '72dee5f40b236c5eb9e68df39df80c68392269e3'
* commit '72dee5f40b236c5eb9e68df39df80c68392269e3':
  wavpack: don't set sample format in init.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:41:38 +02:00
Michael Niedermayer
288e3fdfd3 Merge commit '35596bd4f4d3c39eed838cf3a2613817d62dda99'
* commit '35596bd4f4d3c39eed838cf3a2613817d62dda99':
  wavpack: remove a useless parameter from wavpack_decode_block().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:36:26 +02:00
Michael Niedermayer
f5dfc35157 Merge commit 'd1bec4be2207738669874e02605e879ea9620974'
* commit 'd1bec4be2207738669874e02605e879ea9620974':
  wavpack: return an error on 0-sized blocks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:28:22 +02:00
Michael Niedermayer
2ba0953ee4 Merge commit '1d177200ce1ffd8902729e3a4d647b04fc4b35f8'
* commit '1d177200ce1ffd8902729e3a4d647b04fc4b35f8':
  wavpack: remove a useless check.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:13:14 +02:00
Michael Niedermayer
8d4e934df9 Merge commit '0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840'
* commit '0f3a0b24dd6f595feaa4526e52ffa7d05c3d7840':
  wavpack: add an error message to a failure.
  wavpack: return 0 instead of samples count from decoding functions

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:08:24 +02:00
Michael Niedermayer
107e9e4432 wavpack: Properly check channel index, dont write out of arrays
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:02:37 +02:00
Michael Niedermayer
a803ca54e5 Merge commit '528daa399018af74d52192eb1861d2b59d256111'
* commit '528daa399018af74d52192eb1861d2b59d256111':
  wavpack: switch to planar output

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 11:02:27 +02:00
Carl Eugen Hoyos
c0957f49c7 configure: Fix jack auto-detection, broken since 3fc8500 2013-05-28 10:28:16 +02:00
Michael Niedermayer
84051d57f5 Merge commit 'a7ec3a9a4eea4e374afcd6e05828b103e6fcb601'
* commit 'a7ec3a9a4eea4e374afcd6e05828b103e6fcb601':
  wavpack: drop redundant if/else blocks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 10:03:04 +02:00
Michael Niedermayer
be72853f8a Merge commit '7b44c9918086c6aeacf7ef9f902af38b97f43170'
* commit '7b44c9918086c6aeacf7ef9f902af38b97f43170':
  wavpack: remove the subframes codec cap

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:57:44 +02:00
Michael Niedermayer
f6beb36115 Merge commit 'c330eba84cf2370ad72423aa9e410e20afdc52e2'
* commit 'c330eba84cf2370ad72423aa9e410e20afdc52e2':
  lavf: preserve side data when parsing packets.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:51:19 +02:00
Michael Niedermayer
197e219c92 jpeg2000dwt: add float based 9/7 dwt
Untested as theres no code yet using it in the encoder.
Code based on mixed float/int dwt

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:42:19 +02:00
Michael Niedermayer
cf05fe8a7e jpeg2000dwt: remove floats from mixed float/int 9/7 dwt
This should fix some fate failures

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 09:35:49 +02:00
Kostya Shishkov
851bc1d6be smacker: assign video frame PTS 2013-05-28 09:03:41 +02:00
Michael Niedermayer
3fc8500483 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  smacker: add a clarification notice about audio decoding
  configure: make jack depend on pthreads

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 08:59:07 +02:00
Michael Niedermayer
2ad28840b3 Merge commit '538bf767373f176b6487e30181155e74b37cced6'
* commit '538bf767373f176b6487e30181155e74b37cced6':
  avconv: make -aspect work with streamcopy

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 08:52:03 +02:00
Anton Khirnov
9b6f47c448 matroskadec: export full wavpack blocks.
This allows us to get rid of demuxer-specific hacks in the decoder and
will allow streamcopy from matroska once we have a wavpack muxer.
2013-05-28 08:14:35 +02:00
Anton Khirnov
5074f4545c wavpack demuxer: export full wavpack blocks.
Currently the demuxer shaves the blocks and exports only the
information that is useful to the decoder.

Exporting the blocks just as they are stored is simpler to understand
and will make remuxing wavpack easier.
2013-05-28 08:14:05 +02:00
Anton Khirnov
72dee5f40b wavpack: don't set sample format in init.
We don't know whether it will be float until we look at the data.
2013-05-28 08:04:07 +02:00
Michael Niedermayer
91db8ff203 Merge commit '564b7e0c0095768cd20001b28154d69462be54e7'
* commit '564b7e0c0095768cd20001b28154d69462be54e7':
  matroskadec: silently skip CodecState element.
  smacker: fix off-by-one error in palette expanding code

Conflicts:
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 08:04:02 +02:00
Anton Khirnov
35596bd4f4 wavpack: remove a useless parameter from wavpack_decode_block().
The decoder always returns output if an error does not occur.
2013-05-28 08:03:57 +02:00
Anton Khirnov
d1bec4be22 wavpack: return an error on 0-sized blocks
Such blocks are not valid.
2013-05-28 08:03:37 +02:00
Anton Khirnov
1d177200ce wavpack: remove a useless check.
Number of samples in the first block is checked to be strictly positive
earlier in wavpack_decode_frame() and number of samples in all the other
blocks is checked to be equal to the first one.
2013-05-28 08:03:24 +02:00
Anton Khirnov
0f3a0b24dd wavpack: add an error message to a failure. 2013-05-28 08:03:13 +02:00
Anton Khirnov
474fb0c9d9 wavpack: return 0 instead of samples count from decoding functions
The caller never cares about the number of decoded samples, so this only
confuses the reader.
2013-05-28 08:03:02 +02:00
Anton Khirnov
528daa3990 wavpack: switch to planar output
This simplifies the code and makes it faster.
2013-05-28 08:01:30 +02:00
Anton Khirnov
a7ec3a9a4e wavpack: drop redundant if/else blocks 2013-05-28 08:01:16 +02:00
Anton Khirnov
7b44c99180 wavpack: remove the subframes codec cap
The decoder always consumes full packets.
2013-05-28 08:01:08 +02:00
Anton Khirnov
c330eba84c lavf: preserve side data when parsing packets. 2013-05-28 08:00:07 +02:00
Michael Niedermayer
97f7586cd6 Merge commit '5f30c6c8ed1f006c1b3a547dfe388f3a4a080e4d'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 07:49:38 +02:00
Kostya Shishkov
268bb88544 smacker: add a clarification notice about audio decoding 2013-05-28 06:17:08 +02:00
Michael Niedermayer
9c66da517f j2kenc: Zero DWT struct on allocation
Should fix fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 02:47:25 +02:00
Michael Niedermayer
05fa3f6802 j2kdec: random non functional changed from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 01:46:59 +02:00
Michael Niedermayer
d66de3801e j2kdec: merge get_tlm() from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 01:11:30 +02:00
Michael Niedermayer
8cf57efdd7 j2k/jpeg2000: merge lowres code
This also fixes lowres use with ffplay

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 00:30:06 +02:00
Michael Niedermayer
840ee5e1a1 ffplay: dont forget passing lowres to private options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 00:09:34 +02:00
Michael Niedermayer
f82e7330af jpeg2000: merge mant type from j2k
mant fits in 16bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 22:25:03 +02:00
Anton Khirnov
a3fc62e89e configure: make jack depend on pthreads 2013-05-27 21:56:14 +02:00
Michael Niedermayer
d4a4661342 j2k/jpeg2000: merge j2k & jpeg2000 dwts, drop j2k dwt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 21:54:07 +02:00
Anton Khirnov
538bf76737 avconv: make -aspect work with streamcopy 2013-05-27 21:26:06 +02:00
Anton Khirnov
564b7e0c00 matroskadec: silently skip CodecState element.
mkvmerge apparrently uses it for mpeg1/2 video, but it contains the same
information as CodecPrivate, so it can be ignored.
2013-05-27 21:25:53 +02:00
Clément Bœsch
160ea26560 lavfi/haldclutsrc: 10l remove size options. 2013-05-27 20:53:25 +02:00
Clément Bœsch
92a2d12a71 lavfi/overlay: remove do_blend forward declaration. 2013-05-27 20:42:46 +02:00
Clément Bœsch
ae5738248a lavfi/lut3d: move lut3d init to its definition scope. 2013-05-27 20:42:46 +02:00
Clément Bœsch
158d96e3f0 lavfi: add haldclut filter.
Fixes Ticket #2517.
2013-05-27 20:42:28 +02:00
Clément Bœsch
4328602890 lavfi: add dual input helpers. 2013-05-27 20:32:28 +02:00
Clément Bœsch
3cec29cf59 lavfi: add haldclutsrc filter. 2013-05-27 20:32:28 +02:00
Michael Niedermayer
1bbb46ff71 j2k_dwt: fix scaling of 9/7 dwt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 19:57:42 +02:00
Michael Niedermayer
ee189701a6 j2kenc: Allow encoding with the 9/7 wavelet
Also add a fate test that tests 9/7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 18:50:18 +02:00
Kostya Shishkov
c3c08baefb smacker: fix off-by-one error in palette expanding code 2013-05-27 18:19:08 +02:00
Kostya Shishkov
5f30c6c8ed Revert "smackaud: clip output samples"
Smacker audio uses overflows instead of clipping.

This reverts commit 375ca0aca8.
2013-05-27 18:19:01 +02:00
Michael Niedermayer
243cc38d94 j2k: change fixed point of stepsize to 16.16
This seems more natural and matches jpeg2000

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 17:58:06 +02:00
Michael Niedermayer
1b5cb6c00a j2k/jpeg2000: Partially merge quantization code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 17:50:54 +02:00
Michael Niedermayer
9a18395b92 j2k/jpeg2000: merge a few whitespaces
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 16:10:36 +02:00
Michael Niedermayer
c2e942099a j2k: drop cblknx/y from Jpeg2000Band
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:55:29 +02:00
Michael Niedermayer
8c2e201c4f j2k/jpeg2000: drop xi/yi0/1 from Jpeg2000Prec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:53:42 +02:00
Michael Niedermayer
a05db52c12 j2k: remove cblk from band
cblk is now in the same place as in jpeg2000, which will simplify
merging the 2 decoders

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:51 +02:00
Michael Niedermayer
81ccc31f75 j2kdec: merge decode_tile cblk handling from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
2c5a5c5a62 j2kdec: cdxy != 1 does not work, print an error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
14652c080d j2k/jpeg2000: restructure cblk coord
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
5161c62595 j2k: fix band coord
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
369422db0c j2kdec: merge cblk restructuring from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
cbaa0871c2 j2kenc: switch to cblk in prec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
9fd23baa74 j2k: merge precinct init code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
3300b5f6ce j2k/jpeg2000 headers: Cblk/Prec cleanup & merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Paul B Mahol
a1873f35f8 lavfi/ocv: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:31:52 +00:00
Paul B Mahol
229d5bfdc8 lavfi/frei0r: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:31:52 +00:00
Paul B Mahol
beda41886e lavfi/channelmap: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:31:52 +00:00
Paul B Mahol
6008b5abbb lavfi/format: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:17:34 +00:00
Paul B Mahol
e457f2cf1f lavfi/setpts: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:14:43 +00:00
Paul B Mahol
5fe5bde60a lavfi/join: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 11:10:39 +00:00
Paul B Mahol
622c977437 lavfi/hqdn3d: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 10:58:45 +00:00
Paul B Mahol
d349704eef lavfi/interlace: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 10:00:37 +00:00
Paul B Mahol
11cdf9671f lavfi/trim: make use of AVFILTER_DEFINE_CLASS
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol
68def27124 lavfi/interlace: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol
ed1c83508e lavfi/trim: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol
4f8e4b8a54 lavfi/tinterlace: remove request frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:40 +00:00
Paul B Mahol
c63e4e6569 lavfi/idet: remove request_frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-27 09:55:39 +00:00
Michael Niedermayer
1c711b6ecd Merge remote-tracking branch 'dilaroga/master'
* dilaroga/master:
  avcodec/vda_h264_dec: fix a memory leak
  avcodec/vda_h264: use av_buffer to manage buffers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 09:32:22 +02:00
Xidorn Quan
499b82f604 avcodec/vda_h264_dec: fix a memory leak
Signed-off-by: Sebastien Zwickert <dilaroga@gmail.com>
2013-05-27 09:07:48 +02:00
Xidorn Quan
ffd7fd7944 avcodec/vda_h264: use av_buffer to manage buffers
This patch fixes a leak of buffer when seeking occurs.
It adds a flag in struct vda_context for compatibility with apps which
currently use it. If the flag is not set, the hwaccel will behave like
before.

Signed-off-by: Sebastien Zwickert <dilaroga@gmail.com>
2013-05-27 09:05:55 +02:00
Michael Niedermayer
b7c6d1ed90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  arm: Only output eabi attributes if building for ELF
  fix scalarproduct_and_madd_int16_altivec() for orders > 16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 08:55:24 +02:00
Michael Niedermayer
53ec1c811e j2k: merge cosmetics and non functional changes from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 02:27:56 +02:00
Paul B Mahol
e5c7bafb44 libtwolame: add forgotten calls
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 21:57:28 +00:00
Martin Storsjö
be7952b5c3 arm: Only output eabi attributes if building for ELF
This matches the other eabi attribute in the same file. This is
required in order to build for arm/hardfloat with other object
file formats than ELF.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-27 00:55:33 +03:00
Clément Bœsch
b439ece51c lavfi/dctdnoiz: move DC normalization out of loops.
Make code slightly faster, simpler, clearer.

The filter is still slow as hell, and that change won't cause any
visible performance improvement (it still takes more than one minute to
process a single 1080p frame on a Core 2 here).
2013-05-26 22:41:02 +02:00
Michael Niedermayer
bd89b2b22a j2k/jpeg2000: log2_prec size cleanup
This also changes the cblk size storage method to what jpeg2000 uses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 22:29:11 +02:00
Michael Niedermayer
cb39dfb870 j2k/jpeg2000: check cblk size
This is based on j2k FCD which is ambigous thus the limit
might be tighter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
9ea242962c j2k: ff_j2k_tag_tree_init: check for integer overflow in alloc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
b01e61a47d jpeg2000: cosmetics & restructuring from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
228ce33606 j2k: add #includes from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
874a06bd1f j2k: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
6e16321d66 j2kdec: add AVClass
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
df3e6e5e22 j2kdec: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
277691a130 j2kdec: merge copyright header with jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
a2daf929ed j2kdec: profile code from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
726eac1df9 j2kdec: cosmetics from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
88d2dd00fe avcodec/j2kdec: drop disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
de90bd6c3f j2k/jpeg2000: merge cosmetics and whitespace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
bcf59b5d8f j2kdec: merge jpeg2000_init_static_data() from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
5d67dfd71c j2kdec: move avctx init to decode_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Clément Bœsch
56cea3294a lavfi/lut3d: faster tetrahedral interpolation.
Increase performance by fetching only the necessary points.

1097 → 917 decicyles.
2013-05-26 18:48:51 +02:00
Clément Bœsch
b6ee25e300 lavfi/lut3d: restore original interpolation speed.
Call NEXT() only once since it got slower due to the overflow condition
introduced in 91b46145.

interp_trilinear:   1462 → 1280 decicycles
interp_tetrahedral: 1188 → 1097 decicycles

Tested on a Core2, GCC 4.8.
2013-05-26 18:48:10 +02:00
Michael Niedermayer
b4013899e2 j2k: s/ff_j2k_getsigctxno/ff_jpeg2000_getsigctxno/g
Also add a related comment

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:22:16 +02:00
Michael Niedermayer
ac325f0613 j2k.h: whitespace cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:22:16 +02:00
Michael Niedermayer
5b4cad4a64 j2k.h: remove disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:49 +02:00
Michael Niedermayer
ad194874ee j2k.h: Merges various cosmetics & unused defines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer
da90661718 j2k/jpeg2000: merge copyright
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer
e708c7fa21 j2k: drop disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer
e66faf71eb j2k: merge ff_j2k_init_tier1_luts()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer
b67fe48f34 jpeg2000/j2k: merge getsigctxno()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer
69b9773980 j2k: s/getnbctxno/getsigctxno/g
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Michael Niedermayer
5157ec89ef j2k: redesign vert_causal_ctx_csty implementation
The old implementation was incomplete and could not have worked
This also fixes some warnings
New code is untested as i dont seem to have a sample file that uses this.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 18:07:48 +02:00
Kostya Shishkov
0418cbf081 fix scalarproduct_and_madd_int16_altivec() for orders > 16
the second and third sources were incremented only by half of the needed size
2013-05-26 16:10:47 +02:00
Paul B Mahol
c8e9c9275f lavfi/bbox: export bbox info to frame metadata
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:10 +00:00
Paul B Mahol
add8c63ce4 lavfi/bbox: timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:09 +00:00
Paul B Mahol
7aa99a69c7 lavfi/bbox: make min_val user configurable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:09 +00:00
Paul B Mahol
e9c3851d60 lavfi/bbox: use inlink->frame_count
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 14:00:09 +00:00
Clément Bœsch
477f4efd0f lavf/swf: remove unused assert include. 2013-05-26 15:48:50 +02:00
Michael Niedermayer
438c45c08a j2kdec: fix used bytestream function
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 15:00:23 +02:00
Michael Niedermayer
d42106c3ac j2k: rename a few inline functions and data tables to match jpeg2000
also inlcudes some other cosmetics

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 14:02:44 +02:00
Michael Niedermayer
c78f3e5571 j2kdec: prog_order reading from jpeg2000dec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 13:57:56 +02:00
Michael Niedermayer
81be0965e3 j2k: merge Jpeg2000CodingStyle from jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 13:57:56 +02:00
Michael Niedermayer
4758e32a6c matroska_read_seek: Fix used streams for subtitle index compensation
Might fix Ticket1907 (I have no testcase so i cant test)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 13:14:01 +02:00
Paul B Mahol
40a87a6a69 lavfi/noise: use av_image_copy_plane()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-26 10:52:57 +00:00
Michael Niedermayer
4cf7b87551 av_cpu_count: factorize "detected %d logical cores" message
Also print the message just once

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 03:19:55 +02:00
Michael Niedermayer
d480b36db4 av_d2q: Avoid llrint(), its not correctly implemented in old netbsd
This should fix some fate failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 03:19:55 +02:00
Timothy Gu
4703a345fb doc/encoders: Add documentation for libmp3lame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 23:56:49 +02:00
Michael Niedermayer
ee5964cc9c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  msvc/icl: Intel Compiler support on Windows

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 21:43:13 +02:00
Michael Niedermayer
efcc334c9d Merge commit '9495cd170b5786c3518419e873d94eb5e7ada11a'
* commit '9495cd170b5786c3518419e873d94eb5e7ada11a':
  configure: Fix check_exec_crash for ICL support

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 21:38:17 +02:00
Michael Niedermayer
5f44f47b72 mpegvideo_enc: do not unreference frames before the code is done with them
Fixes Ticket2592

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 20:30:50 +02:00
Michael Niedermayer
5292dac34c avformat/mov: Rename alt_sample_size so its name matches what it is
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 18:47:36 +02:00
Alex Smith
322e4194dd msvc/icl: Intel Compiler support on Windows
Initial support for the ICL compiler on windows. Requires a new
c99wrap with ICL support (1.0.2+).

Currently not much different speed wise compared to msvc. In the
future with a few changes it can be made to support the inline asm.
This would be the primary reason for using it.

Passed all fate tests, versions tested:
    13.1.1.171 (2013 Update 3) x86 and x64
    12.1.5.344 (2011 Update 11) x86 and x64

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-25 17:52:44 +02:00
Giorgio Vazzana
7e03886bbb avutil/md5: reindent after previous commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 16:11:08 +02:00
Michael Niedermayer
64eacb839e av_d2q: fix rounding for negative values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 16:04:08 +02:00
Michael Niedermayer
de7d290631 av_d2q: Fix infinity check
The old check would fail on huge but not infinite values
and the later code could then fail to handle them correctly in
some cases.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 16:03:50 +02:00
Paul B Mahol
8caf2da320 lavfi/afade: add timeline support
For correct precision one may need to use asetnsamples.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-25 13:20:27 +00:00
Laurent
9495cd170b configure: Fix check_exec_crash for ICL support
Change the check_exec_crash test to use a function pointer instead of
simply calling the function. The EBP availability test will crash when
compiled with ICL likely due to compiler optimization shenanigans.

Originally the check_exec_crash code was moved out of main to fix a
problem with gcc's treatment of non-leaf main on x86_32. Libav already
moved the code out of main but the addition of the function pointer will
prevent any inlining which fixes the remaining problem.

A function pointer is used since it is compiler agnostic (as opposed to
say __attribute__ ((noinline)) which would only work with gcc compatible
compilers).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-25 12:07:56 +02:00
Michael Niedermayer
760a9754ca img2dec: support seeking with ts_from_file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 12:06:14 +02:00
Michael Niedermayer
a753776ff5 img2dec: dont set start_time/duration to invalid values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 12:05:32 +02:00
Andrey Utkin
70fbfd75c3 img2dec: Add ts_from_file option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-25 11:42:28 +02:00
Paul B Mahol
2c2e69b3a2 lavfi/blend: support slice threading
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 21:41:28 +00:00
Michael Niedermayer
e0f2e0fcf0 vf_fade: remove unused function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:50:15 +02:00
Michael Niedermayer
42bb3e4db6 avcodec: remove ff_get_logical_cpus()
This simplifies the code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:25:53 +02:00
Michael Niedermayer
0cbfbdef4a vf_fade: Support slice threaded alpha
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:21:40 +02:00
Michael Niedermayer
a3d62f3377 vf_fade: Fix alpha flag integration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 20:21:40 +02:00
Paul B Mahol
af12573938 lavfi/blend: fix SW/SH calculation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 17:34:22 +00:00
Michael Niedermayer
bca59d7745 fade: fix slice sizes
This more evenly distributes the load between threads

This also fixes the chroma filtering where the filter was applied twice

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:47:02 +02:00
Michael Niedermayer
1d08e4b584 yadif: fix slice sizes
This more evenly distributes the load between threads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:46:57 +02:00
Michael Niedermayer
221f902f1d avfilter/vf_yadif: fix race condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:26:20 +02:00
Michael Niedermayer
fe99b1d50e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cpu: Include common.h for av_popcount64

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 17:19:21 +02:00
Reimar Döffinger
4059c7836a framemd5_class and md5enc_class may not be identical.
Due the crappy issue of classes having to be unique,
we cannot even have classes with identical content,
otherwise the compiler or linker is free to merge them,
giving the same result and bugs as if we had only one class.
Besides redesigning the option code to handle this correctly
I see only the option of requiring any two classes to have
different names, but the list of requirements for
AVClasses is getting kind of unmanageable.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-24 16:28:25 +02:00
Carl Eugen Hoyos
82d105543c Fix compilation with --disable-everything --enable-filter=dctdnoiz 2013-05-24 14:19:20 +00:00
Thilo Borgmann
4a2c2a09a2 Fix compilation with --disable-everything --enable-muxer=vc1
Suggested-by: Reimar
2013-05-24 14:19:19 +00:00
Paul B Mahol
036e9a0417 lavfi/blend: add yuv(j)411p
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 14:02:37 +00:00
Michael Niedermayer
6d02bdc338 vformat/wtvenc: fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer
68ff528969 avformat/wtvdec: fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer
682f0035fb avformat/jvdec: fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer
8870cf7c0e avformat/gif: remove unneeded doxygen comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer
b5be1a7e23 avfilter/vf_drawtext: Fix doxygen comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Michael Niedermayer
87a2bf2459 avutil/bprint: Fix doxygen comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:36:54 +02:00
Clément Bœsch
9c50e52005 cmdutils: print slice threading flag in -filters. 2013-05-24 15:34:37 +02:00
Michael Niedermayer
a2abd58a09 avfilter: remove av_opt_set_defaults() from process_options()
This is already called from ff_filter_alloc()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:25:52 +02:00
Michael Niedermayer
558ce3e5b7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_fade: support slice threading
  vf_yadif: support slice threading

Conflicts:
	libavfilter/vf_fade.c
	libavfilter/vf_yadif.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 15:24:22 +02:00
Paul B Mahol
2516b393d4 lavfi/field, il, noise: use av_pix_fmt_count_planes()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-24 12:53:23 +00:00
Michael Niedermayer
8d4e969afe Merge commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f'
* commit '129bb238430ec45a3b5f8f1d384df590ddf7b62f':
  lavfi: add a slice threading infrastructure

Conflicts:
	Changelog
	cmdutils.c
	doc/APIchanges
	libavfilter/Makefile
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 14:07:00 +02:00
Michael Niedermayer
fe40a9f98f Merge commit '2a6eaeaa85d17b27ee0dd449183ec197c35c9675'
* commit '2a6eaeaa85d17b27ee0dd449183ec197c35c9675':
  Move get_logical_cpus() from lavc/pthread to lavu/cpu.

Conflicts:
	doc/APIchanges
	libavcodec/pthread.c
	libavutil/cpu.c
	libavutil/cpu.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 13:24:28 +02:00
Michael Niedermayer
a4d3757b29 Merge commit '90f9a5830b5d332de7ebb1ab45589f1870cbd65d'
* commit '90f9a5830b5d332de7ebb1ab45589f1870cbd65d':
  w32pthreads: move from lavc to compat/

Conflicts:
	libavcodec/Makefile
	libavcodec/pthread.c
	libavcodec/vp8.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 13:01:41 +02:00
Martin Storsjö
597208fde1 cpu: Include common.h for av_popcount64
This fixes build failures on windows since 2a6eaeaa8.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-24 13:34:19 +03:00
Michael Niedermayer
ecbd96ed23 Merge commit 'e69222c50755030eef921e899e38b71a111093d9'
* commit 'e69222c50755030eef921e899e38b71a111093d9':
  doxy: enable TYPEDEF_HIDES_STRUCT

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 12:25:21 +02:00
Michael Niedermayer
029353e427 Merge commit 'e9e5a1bdc769a7225ab0d4f8b33bcacc6496bd68'
* commit 'e9e5a1bdc769a7225ab0d4f8b33bcacc6496bd68':
  Monkey's Audio old versions FATE tests
  h264_parser: Set field_order and picture_structure.

Conflicts:
	libavcodec/h264_parser.c
	tests/fate/lossless-audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 12:15:56 +02:00
Clément Bœsch
cf6ed1f129 lavu/opencl: remove semi-colon from macro.
Fixes compilation when the macros are empty and the label above ends up
containing no statement. Also makes usage of these macro consistent
(some already have a semi colon, some others don't).

Fixes Ticket #2603
2013-05-24 12:01:02 +02:00
Michael Niedermayer
0c25c398da Merge commit 'b493847df4ff8ce46f258749e4a3f304696b34c1'
* commit 'b493847df4ff8ce46f258749e4a3f304696b34c1':
  avcodec: Add picture structure information to AVCodecParserContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 11:51:58 +02:00
Anton Khirnov
8a994b7406 vf_fade: support slice threading 2013-05-24 09:33:05 +02:00
Anton Khirnov
cb79881b49 vf_yadif: support slice threading 2013-05-24 09:32:07 +02:00
Anton Khirnov
129bb23843 lavfi: add a slice threading infrastructure
Mostly based on libavcodec's
2013-05-24 09:28:18 +02:00
Anton Khirnov
2a6eaeaa85 Move get_logical_cpus() from lavc/pthread to lavu/cpu.
It will be useful in lavfi, and could conceivably be useful to the user
applications as well.
2013-05-24 09:28:00 +02:00
Anton Khirnov
90f9a5830b w32pthreads: move from lavc to compat/
It will be used in other places than lavc.
2013-05-24 09:26:54 +02:00
Anton Khirnov
e69222c507 doxy: enable TYPEDEF_HIDES_STRUCT
This means that typedef struct SomeStruct {...} SomeStruct will only be
documented as SomeStruct in the doxy, without a pointless entry in the
typedefs list.
2013-05-24 09:12:00 +02:00
Kostya Shishkov
e9e5a1bdc7 Monkey's Audio old versions FATE tests 2013-05-24 09:04:18 +02:00
Yusuke Nakamura
3f1a7ceb2c h264_parser: Set field_order and picture_structure.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-24 08:45:05 +02:00
Yusuke Nakamura
b493847df4 avcodec: Add picture structure information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-24 08:43:14 +02:00
Michael Niedermayer
ac0ade2645 Changelog: add entry for the S302m encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-24 04:42:32 +02:00
Paul B Mahol
102848e3b6 s302menc: unbreak compilation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 20:38:53 +00:00
Paul B Mahol
e75ddb7df5 s302menc: fix bits_per_raw_sample for 21, 22 & 23 case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 20:36:17 +00:00
Paul B Mahol
d683271753 lavc/codec_desc: SMPTE 302M is not lossy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 20:26:19 +00:00
Paul B Mahol
15b9c0b49f escape124: switch to init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:58:03 +00:00
Paul B Mahol
cdc3f8f307 escape124: pass context to av_log()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:53:08 +00:00
Paul B Mahol
abf1e59ef2 libaacplus: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:41:43 +00:00
Paul B Mahol
6d53034483 libaacplus: cosmetics: fix indentation
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:41:43 +00:00
Paul B Mahol
963c58006f libaacplus: move profile check above, simplifies code a little
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 19:41:38 +00:00
Michael Niedermayer
0fb7fef879 tools/patcheck: fix misdetection with stuff like const_names
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 19:11:28 +02:00
Clément Bœsch
d51dfc7ec4 doc/filters: fix wording of color option in testsrc filters. 2013-05-23 17:22:05 +02:00
Clément Bœsch
a0a41db339 lavfi/testsrc: make nb_decimals available only in testsrc. 2013-05-23 17:22:05 +02:00
Clément Bœsch
288f916643 lavfi/testsrc: move color options to the color scope filter definition. 2013-05-23 17:22:05 +02:00
Michael Niedermayer
eee19198ef avcodec/libfaac: fallback to a supported bitrate if the requested is not supported
Fixes: Ticket2587

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 15:37:48 +02:00
Michael Niedermayer
e8c26557a4 avformat/mtv: remove empty comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 14:46:01 +02:00
Michael Niedermayer
ef43b9496b avcodec/mpegvideo: remove empty comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 14:43:42 +02:00
Michael Niedermayer
1d3476f258 postproc/postprocess_template: remove empty comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 14:39:58 +02:00
Darryl Wallace
3e16047507 s302m encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 12:03:06 +00:00
Paul B Mahol
fbd0f91a3a escape130: switch to init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 10:21:12 +00:00
Michael Niedermayer
ac2c52174f avcodec/wavpack: remove ;;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 12:07:31 +02:00
Paul B Mahol
79f452f4e6 fraps: set avctx->color_range
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 10:05:28 +00:00
Paul B Mahol
591fa05278 doc/general: remove obsolete info about APE decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-23 09:32:12 +00:00
Michael Niedermayer
b7d16dc4bd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wavpack: check packet size early

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:55:46 +02:00
Michael Niedermayer
402bec52d4 Merge commit '3f0b6d7a6248a33df37b98cfcb37a1acce263f62'
* commit '3f0b6d7a6248a33df37b98cfcb37a1acce263f62':
  wavpack: use bytestream2 in wavpack_decode_block

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:46:05 +02:00
Michael Niedermayer
1fded9b69c Merge commit 'f36d7831d96aeb072db5a2b78892a534d96e288e'
* commit 'f36d7831d96aeb072db5a2b78892a534d96e288e':
  pixdesc: mark gray8 as pseudopal

Conflicts:
	libavutil/pixdesc.c

No change as gray8 was already marked as pseudopal in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:33:45 +02:00
Michael Niedermayer
1724123c65 Merge commit '3eae9b030cbbdc263f69834b791624613032d548'
* commit '3eae9b030cbbdc263f69834b791624613032d548':
  mpegvideo: unref buffers in ff_mpeg_unref_picture on frame size changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 10:25:25 +02:00
Dale Curtis
c54a1565f5 avformat/utils: Keep internal and external av_read_frame() packets in sync.
Otherwise, during error conditions, the caller will be left with
dangling pointers to a destructed packet => boom.

BUG=242786
TEST=ffmpeg_regression_tests

Commit slightly simplified by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-23 03:29:47 +02:00
Paul B Mahol
1f02927d28 lavfi/mp: try to pass interlaced & tff flags
This makes mp=softpulldown actually useful.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-22 20:30:09 +00:00
Clément Bœsch
91b461459a lavfi/lut3d: avoid overread. 2013-05-22 22:12:14 +02:00
Luca Barbato
fd06291239 wavpack: check packet size early
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-22 22:02:57 +02:00
Luca Barbato
3f0b6d7a62 wavpack: use bytestream2 in wavpack_decode_block
Prevent most out of buffer reads.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-22 22:02:55 +02:00
Michael Niedermayer
657875b145 avcodec/aic: Fix vlc value checks
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 21:30:28 +02:00
Anton Khirnov
f36d7831d9 pixdesc: mark gray8 as pseudopal
Many functions treat it as such already.
Fixes Bug 499.

CC:libav-stable@libav.org
2013-05-22 21:18:08 +02:00
Michael Niedermayer
30df9789a9 proresdec: Fix end condition
Fixes out of array writes
No FFmpeg release is affected by this

This also fixes some artifacts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 20:24:50 +02:00
Michael Niedermayer
df3ee7b9a9 smvjpegdec: use av_pix_fmt_desc_get() avoid direct table access
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 20:24:50 +02:00
Clément Bœsch
165bc9caa2 v4l2: make possible to disable libv4l2 at runtime.
Also disable it by default since it looks currently buggy. The
usefulness of such library is mostly limited to backward compatibility
with very old devices.
2013-05-22 19:49:29 +02:00
Clément Bœsch
12f51c1f9e lavfi: add lut3d filter.
Fixes part of Ticket #2517.
2013-05-22 18:23:43 +02:00
Michael Niedermayer
ad22767cb6 shorten: fix "off by padding" bug
Fixes array overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 17:40:12 +02:00
Janne Grunau
3eae9b030c mpegvideo: unref buffers in ff_mpeg_unref_picture on frame size changes
ff_mpeg_unref_picture clears the flag indicating that the frame needs to
be reallocated after a frame size change. Since we have now reference
counted buffers we can unref the buffers immediately.
2013-05-22 15:40:12 +02:00
Ash Hughes
14ec9d2590 Support playing SMV files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 15:20:22 +02:00
Michael Niedermayer
cc0db8cf30 avienc: Disallow the first frame to be skiped
Fixes Ticket2386

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 14:11:42 +02:00
Michael Niedermayer
c88e52e797 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Enable the strtod workaround when building for bionic

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 10:57:46 +02:00
Michael Niedermayer
32f550ee01 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add a fate test for ProRes Transparency.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 04:40:12 +02:00
Michael Niedermayer
914ab4cd1c j2kdec & jpeg2000dec: check lengthinc against array size
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 04:18:38 +02:00
Michael Niedermayer
17e66c9ff4 j2k & jpeg2000dec: reset numX/Ytiles if tiles failed allocation
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 03:18:55 +02:00
Michael Niedermayer
53f0442464 avcodec/jpeg2000dec: Port tile size check from j2kdec
Fixes potential integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 03:16:52 +02:00
Michael Niedermayer
73ffab4195 jpeg2000dec: check TPsot
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:53:21 +02:00
Michael Niedermayer
fec8783883 jpeg2000dec: read and check curtileno
Fixes out of array accesses
Code ported from j2kdec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:29:49 +02:00
Michael Niedermayer
f399b33c2b jpeg2000dec & j2kdec: Fix return type of get_sot()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:14:04 +02:00
Michael Niedermayer
4a9a6a1f35 vcodec/jpeg2000dec: fix av_log() type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:05:50 +02:00
Michael Niedermayer
8d9fa738f5 j2kdec: cosmetics from jpeg2000dec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 01:25:52 +02:00
Michael Niedermayer
0b42631641 avcodec/jpeg2000dec: merge bytestream2 reading from j2kdec
This fixes at least one out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 01:24:47 +02:00
Michael Niedermayer
c649ecb3b2 avcodec/jpeg2000dec: get_qcx, fix stack and heap overwrites
This is likely remotely exploitable
Fix ported from j2kdec
No uptodate FFmpeg release should be affected by this

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 00:07:45 +02:00
Carl Eugen Hoyos
898268a23b Add a fate test for ProRes Transparency. 2013-05-21 23:09:19 +02:00
Paul B Mahol
f98dbc7311 lavu/opt: check if class is NULL too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-21 20:50:49 +00:00
Clément Bœsch
39dc1bc90f lavfi/(a)showinfo: use link frame counter instead of local counter. 2013-05-21 22:29:16 +02:00
Michael Niedermayer
81bec0ace4 avutil/pixfmt: add forgotten deprecated to YUVJ411
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:49:28 +02:00
Michael Niedermayer
069ede2981 jpeg2000dec: Check ncomponents and tile dimensions
Fixes various problems

Code ported from j2kdec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Michael Niedermayer
78c7bff04a avcodec/j2k: rename J2K_ constants to JPEG2000_
This should simplify merging the 2 decoders

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Michael Niedermayer
0ab0ed2b86 j2k: Rename structs to be more similar to jpeg2000dec
This should simplify merging

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Michael Niedermayer
376e89e280 j2kdec: s/decode_packets/jpeg2000_decode_packets/
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Stefano Sabatini
a8d98377b1 lavfi/geq: prefer symbolic constants
Hopefully enhance readability.
2013-05-21 21:15:08 +02:00
Stefano Sabatini
2210003b7f lavfi/geq: add aliases for RGB options 2013-05-21 21:15:00 +02:00
Paul B Mahol
dbb49a6539 vp3: zero allocated tables
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-21 17:49:29 +00:00
Martin Storsjö
5b2b0b912d configure: Enable the strtod workaround when building for bionic
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-21 19:37:07 +03:00
Michael Niedermayer
66f5790d7b seek-test: make duration user configurable
Previously this was hardcoded to 4 seconds

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 18:13:25 +02:00
Clément Bœsch
b8a9876a8b lavfi/yadif: add timeline support. 2013-05-21 16:09:42 +02:00
Michael Niedermayer
b1bbd715d8 avcodec/huffman: increase bits constant
Fixes Ticket2593

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 13:51:04 +02:00
Michael Niedermayer
b9ea6a8414 avcodec/huffman: use named identifer for the bits constant
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 13:51:04 +02:00
Michael Niedermayer
1d7e6a6bde avcodec/bitstream: print vlc length in error case.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 13:51:04 +02:00
Michael Niedermayer
b60a65ee2d mjpegdec: fix AV_PIX_FMT_YUVJ411P handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:56:12 +02:00
Michael Niedermayer
a90baa63c3 add YUVJ411P
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:56:11 +02:00
Michael Niedermayer
1d8b1f0e51 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  proresdec: simplify slice component offsets handling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:01:58 +02:00
Michael Niedermayer
6ef7b6af6b Merge commit 'cfbd98abe82cfcb9984a18d08697251b72b110c8'
* commit 'cfbd98abe82cfcb9984a18d08697251b72b110c8':
  mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac

Conflicts:
	libavcodec/mjpegdec.c

See: 1f41cffe1e

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 12:01:37 +02:00
Michael Niedermayer
877cae6eff Merge commit 'c209d0df657f172f42d9bafbcdfa02dfb14f6965'
* commit 'c209d0df657f172f42d9bafbcdfa02dfb14f6965':
  fate.sh: add support for build-only FATE instances

Conflicts:
	doc/fate.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 11:36:49 +02:00
Michael Niedermayer
3b071a4390 Merge commit 'a030279a67ef883df8cf3707774656fa1be81078'
* commit 'a030279a67ef883df8cf3707774656fa1be81078':
  ljpeg: use the correct number of components in yuv

Conflicts:
	libavcodec/mjpegdec.c

See: b2e57eb5a3

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 11:25:46 +02:00
Michael Niedermayer
f57a7ac9b8 Merge commit '8aa3500905fec6c4e657bb291b861d43c34d3de9'
* commit '8aa3500905fec6c4e657bb291b861d43c34d3de9':
  mjpeg: Validate sampling factors

Conflicts:
	libavcodec/mjpegdec.c

See: 08c37a10e9

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 10:50:03 +02:00
Kostya Shishkov
03ece7b040 proresdec: simplify slice component offsets handling 2013-05-21 09:58:59 +02:00
Luca Barbato
cfbd98abe8 mjpegdec: validate parameters in mjpeg_decode_scan_progressive_ac
Prevent out of buffer write when decoding broken samples.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-21 09:46:02 +02:00
Diego Biurrun
c209d0df65 fate.sh: add support for build-only FATE instances
If the "build_only" variable is set in the configuration file, the
FATE client will skip running tests and just compile all targets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-21 10:07:19 +03:00
Xidorn Quan
5a65fea655 avutil/frame: continue to process bufs even if some are empty
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 23:34:15 +02:00
Giorgio Vazzana
a67304d05f avutil/md5: move loop inside inner function
AMD Athlon(tm) II X3 450 Processor

size: 1048576  runs: 1024  time:    5.660 +- 0.023
size: 1048576  runs: 1024  time:    5.661 +- 0.030
size: 1048576  runs: 1024  time:    5.656 +- 0.022
size: 1048576  runs: 1024  time:    5.647 +- 0.026

size: 1048576  runs: 1024  time:    5.428 +- 0.037
size: 1048576  runs: 1024  time:    5.426 +- 0.034
size: 1048576  runs: 1024  time:    5.426 +- 0.034
size: 1048576  runs: 1024  time:    5.428 +- 0.038

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 22:07:48 +02:00
Luca Barbato
a030279a67 ljpeg: use the correct number of components in yuv
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-20 22:02:05 +02:00
Luca Barbato
8aa3500905 mjpeg: Validate sampling factors
They must be non-zero.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-20 22:02:05 +02:00
Michael Niedermayer
2211c76287 smacker: remove av_clip_int16()
Fixes Ticket2425

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 21:45:40 +02:00
Michael Niedermayer
2187600f47 libx264: silence: warning: the address of val will always evaluate as true
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 16:39:00 +02:00
Clément Bœsch
9a7f1519aa lavd/v4l2enc: check write return value. 2013-05-20 16:33:21 +02:00
Michael Niedermayer
f099cdaba3 avcodec/ratecontrol: silence "warning: expected_bits may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 15:49:49 +02:00
Michael Niedermayer
9c49d5908d avutil/hmac: silence pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 14:48:55 +02:00
Michael Niedermayer
d61681f9e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: unref old current_picture before allocating a new one

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 12:07:17 +02:00
Michael Niedermayer
c5e11e897a Merge commit 'db347280eb3746d7b70888db97f1efe5f06f5624'
* commit 'db347280eb3746d7b70888db97f1efe5f06f5624':
  vorbis: fallback to normal division instead of crashing

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 12:02:18 +02:00
Michael Niedermayer
ed113d7a6b Merge commit 'ddf1b4a2f8a680126eb611428e4f47e6e5b8c6c0'
* commit 'ddf1b4a2f8a680126eb611428e4f47e6e5b8c6c0':
  vorbis: simplify the inner loop in setup_classifs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 11:42:03 +02:00
Michael Niedermayer
aef044d215 Merge commit '36f10380043c8b8c5cbf8c1add8695089cdaa341'
* commit '36f10380043c8b8c5cbf8c1add8695089cdaa341':
  vorbis: use normal integer values for iterators

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 11:28:21 +02:00
Stefano Sabatini
6e7c534955 doc/filters: add RGB geq example 2013-05-20 11:12:09 +02:00
Stefano Sabatini
281fc4e958 doc/filters: extend/fix documentation for the geq filter 2013-05-20 11:12:04 +02:00
Michael Niedermayer
fbba76e89d Merge commit '98186578a2a21af5bfe6dd71d222dc270f763c7d'
* commit '98186578a2a21af5bfe6dd71d222dc270f763c7d':
  vorbis: refactor vorbis_residue_decode_internal

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 10:58:43 +02:00
Michael Niedermayer
faac955d9b Merge commit 'c360fb174b01170ab3fd3048d4d0acb44aa4e834'
* commit 'c360fb174b01170ab3fd3048d4d0acb44aa4e834':
  win32: Do not use GetProcAddress when compiled for Vista+

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 10:52:19 +02:00
Michael Niedermayer
2afcd16711 Merge commit '0b6899f154347cdd0aa66c5ec16ed9c65871766f'
* commit '0b6899f154347cdd0aa66c5ec16ed9c65871766f':
  configure: msvc: Set the target windows version to XP if no target is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 10:46:21 +02:00
Giorgio Vazzana
d0a34aeedf md5: optimize second round by using 4-operation form of G()
4-operation form is preferred over 3-operation because it breaks a long
dependency chain, thus allowing a superscalar processor to execute more
operations in parallel.
The idea was taken from: http://www.zorinaq.com/papers/md5-amd64.html

AMD Athlon(tm) II X3 450 Processor, x86_64

$ for i in $(seq 1 4); do ./avutil_md5_test2; done
size: 1048576  runs: 1024  time:    5.821 +- 0.019
size: 1048576  runs: 1024  time:    5.822 +- 0.019
size: 1048576  runs: 1024  time:    5.841 +- 0.018
size: 1048576  runs: 1024  time:    5.821 +- 0.018

$ for i in $(seq 1 4); do ./avutil_md5_test2; done
size: 1048576  runs: 1024  time:    5.646 +- 0.019
size: 1048576  runs: 1024  time:    5.646 +- 0.018
size: 1048576  runs: 1024  time:    5.642 +- 0.019
size: 1048576  runs: 1024  time:    5.641 +- 0.019

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-20 04:27:34 +02:00
Stefano Sabatini
b7be8ea92a lavfi/geq: mark timeline support 2013-05-20 01:40:07 +02:00
Clément Bœsch
16a75eaa20 lavd: add v4l2 outdev. 2013-05-20 01:11:33 +02:00
Clément Bœsch
8eec655320 lavd/v4l2: move pixel format conversion code to a separate place.
This will be shared with the output device.
2013-05-20 01:11:28 +02:00
Michael Niedermayer
729fa55b8f avformat/matroskadec: fix integer overflow
Fixes fate-mkv with ekopath 4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 23:38:01 +02:00
Janne Grunau
4b79668154 mpegvideo: unref old current_picture before allocating a new one
Allows decoding with only three frame buffers with frame reference
counting. Fixes VAAPI based decoding in vlc which uses only three
frame buffers for the mpegvideo-based codecs.
2013-05-19 23:02:35 +02:00
Luca Barbato
db347280eb vorbis: fallback to normal division instead of crashing
The use of ff_inverse speeds up slightly arches + compilers that
do not provide a division faster than the whole machinery, such
as ppc32 + gcc4.7, but has operational limits.

Drop the always-enable assert and provide a fallback.
2013-05-19 22:56:37 +02:00
Luca Barbato
ddf1b4a2f8 vorbis: simplify the inner loop in setup_classifs 2013-05-19 22:56:37 +02:00
Luca Barbato
36f1038004 vorbis: use normal integer values for iterators
No need to use fixed-size integers.
2013-05-19 22:56:37 +02:00
Luca Barbato
98186578a2 vorbis: refactor vorbis_residue_decode_internal 2013-05-19 22:56:37 +02:00
Michael Niedermayer
1a5f1bcff0 configure: add more allocation functions to valgrind-massif
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 20:30:51 +02:00
Stefano Sabatini
427b51269e cmdutils: show timeline support in -filters listing 2013-05-19 19:55:15 +02:00
Stefano Sabatini
66f32a8a7f lavfi/drawgrid: fix drawgrid options after 4c205f42c8 2013-05-19 19:26:31 +02:00
Stefano Sabatini
be3f4c13b6 doc/Makefile: install .3 man pages to man3 subdir
Fix trac ticket #2585.
2013-05-19 19:26:25 +02:00
Stefano Sabatini
90cb081f88 build: drop unused ALLMANPAGES variable 2013-05-19 19:26:21 +02:00
Michael Niedermayer
73b9f31c74 mjpeg_decode_com: remove redundant len checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 18:09:57 +02:00
Piotr Bandurski
2f75dcdc1c mjpegdec: Fix field orderforinterlacedAVDJand AVRN in ntsc mode
Fixes ticket1656

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 18:09:57 +02:00
Clément Bœsch
56f7e29dba tools: add zmqshell.py. 2013-05-19 17:59:21 +02:00
Jean-Baptiste Kempf
c360fb174b win32: Do not use GetProcAddress when compiled for Vista+
Instead link directly to the condition variable functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-19 18:22:39 +03:00
Martin Storsjö
0b6899f154 configure: msvc: Set the target windows version to XP if no target is set
MSVC 2010 (or more precisely, Windows SDK 7.0 which comes with MSVC
2010) sets _WIN32_WINNT to the constant for Windows 7 if nothing is
set. This could lead to the libav configure script detecting and
using functions only present in Windows 7 or newer, which in most
cases isn't desired. If the caller explicitly wants this, the caller
can add the _WIN32_WINNT define via --extra-cflags, setting the desired
version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-19 18:22:32 +03:00
Paul B Mahol
68c4633fa8 lavfi/histogram: cache log2 of max_hval
Instead of calculating same value over and over again.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-19 14:30:42 +00:00
Paul B Mahol
b154d203b1 swscale/output: silence warning about undefined 'ASSERT_LEVEL'
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-19 14:06:16 +00:00
Paul B Mahol
f4b2d3598b swscale/output: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-19 14:04:14 +00:00
Michael Niedermayer
a3264b4ba1 ffv1dec: defuse membomb
Fixes Ticket2589

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 13:56:13 +02:00
Michael Niedermayer
1de28cb7e4 configure: use the user specified valgrind excutable for massif
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:24:15 +02:00
Michael Niedermayer
f51263e6fe configure: fix valgrind-massif to actually work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:23:28 +02:00
Michael Niedermayer
73920ac573 ffserver: replace atoll() by strtoll()
this should make it easier to support ffserver with msvc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:13:07 +02:00
Michael Niedermayer
0a8e86faf2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Escape 130 FATE test

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 11:06:39 +02:00
Michael Niedermayer
fa6001e728 Merge commit '8e673efc6f5b7a095557664660305148f2788d30'
* commit '8e673efc6f5b7a095557664660305148f2788d30':
  prores: update FATE test to account for alpha plane present in the test sample
  configure: Add basic valgrind-massif support

Conflicts:
	tests/fate/prores.mak
	tests/ref/fate/prores-alpha

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:53:39 +02:00
Michael Niedermayer
3e3514bce2 Merge commit 'ed50673066956d6f2201a57c3254569f2ab08d9d'
* commit 'ed50673066956d6f2201a57c3254569f2ab08d9d':
  wavpack: validate samples size parsed in wavpack_decode_block

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:38:08 +02:00
Michael Niedermayer
2ad415cfa4 Merge commit '8c34558131d846d2b10389564caadaa206372fd4'
* commit '8c34558131d846d2b10389564caadaa206372fd4':
  wavpack: return meaningful errors

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:22:05 +02:00
Michael Niedermayer
02788d2ac5 Merge commit '0f689a3d97a1d3053ca0e9516b296909a72ff31e'
* commit '0f689a3d97a1d3053ca0e9516b296909a72ff31e':
  wavpack: K&R formatting cosmetics

Conflicts:
	libavcodec/wavpack.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:10:00 +02:00
Hendrik Leppkes
df07a833f1 ftp: favor strtoll over atoll
Both strtoll and atoll have different names on MSVC, and strtoll has a
compatibility layer in place for this case.

Fixes compilation on MSVC.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-19 10:02:44 +02:00
Kostya Shishkov
e45d6222cc Escape 130 FATE test 2013-05-19 07:09:36 +02:00
Kostya Shishkov
8e673efc6f prores: update FATE test to account for alpha plane present in the test sample 2013-05-19 07:09:23 +02:00
Carl Eugen Hoyos
e32bbd4112 proresdec2: Only try to decode alpha plane if four output planes were allocated.
Fixes a crash with MPlayer.
2013-05-19 01:48:39 +02:00
Lukasz Marek
c86d3a54de FTP protocol support
Implementation of ftp protocol.

Fixes #1672

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 22:16:02 +02:00
Luca Barbato
edfe609fc9 configure: Add basic valgrind-massif support
With the parameter --toolchain valgrind-massif, the configure
script sets reasonable defaults that can be overridden as explained
in the documentation.
2013-05-18 21:29:17 +02:00
Luca Barbato
ed50673066 wavpack: validate samples size parsed in wavpack_decode_block
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-18 20:39:32 +02:00
Luca Barbato
8c34558131 wavpack: return meaningful errors
And forward those that were already meaningful.
2013-05-18 20:37:18 +02:00
Michael Niedermayer
9f88db5df1 avfilter/vf_deshake: check rx
Fixes crash on SSE2
Fixes Ticket2443

Note, its possible to restructure the code to avoid the 16pixel limitation,
and such change is welcome!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 18:28:59 +02:00
Christophe Gisquet
f49564c607 fmtconvert: int32_t input to int32_to_float_fmul_scalar
It was previously declared as int.
Does not change fate results for x86.

Conflicts:

	libavcodec/ppc/fmtconvert_altivec.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 18:01:16 +02:00
Luca Barbato
0f689a3d97 wavpack: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-18 17:19:43 +02:00
Kostya Shishkov
d13fa0e995 proresdec2: Support decoding transparency information.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-05-18 16:48:34 +02:00
Jean First
7e570f027b movenc: add video_track_timescale option
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 16:42:36 +02:00
Piotr Bandurski
7baef22fca mov: set block_align for MACE 3:1 and MACE 6:1
fixes remuxing of audio track from mov to aifc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 16:26:50 +02:00
Michael Niedermayer
5e29e91232 avcodec_align_dimensions2: add missing yuva formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 16:21:09 +02:00
Michael Niedermayer
e1efacf60b sws/output: yuv2rgb_write() assert that alpha has the correct value in the tables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 15:14:19 +02:00
Stefano Sabatini
d91e44301c doc/filters: apply minor fixes to owdenoise documentation 2013-05-18 14:52:37 +02:00
Michael Niedermayer
ed0aed09e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Escape 130 (RPL) decoder

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/codec_desc.c
	libavcodec/escape130.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 14:31:01 +02:00
Michael Niedermayer
849bb62c2c Merge commit 'cebdedca57d95834a8f8098c7b6a322a1163e26b'
* commit 'cebdedca57d95834a8f8098c7b6a322a1163e26b':
  prores: decode alpha plane when it's present
  avfilter: check a malloc in avfilter_link().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 13:41:47 +02:00
Michael Niedermayer
d56ced5fbf Merge commit 'bf5b5d2b1561535cc013c12ab8033228bb0d0081'
* commit 'bf5b5d2b1561535cc013c12ab8033228bb0d0081':
  avfilter.c: cosmetics, reformat

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 13:36:49 +02:00
Michael Niedermayer
fb8dde37e4 Merge commit 'd79bd6040599ef017dc45d5997fcc959ab1f71f6'
* commit 'd79bd6040599ef017dc45d5997fcc959ab1f71f6':
  lavfi: factorize freeing a link

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 13:10:57 +02:00
Michael Niedermayer
dd2eaf57b7 Merge commit '1dd35611433c224e2231ed7ae26b5b560863a3cb'
* commit '1dd35611433c224e2231ed7ae26b5b560863a3cb':
  vf_format: do not use the AVFilterFormats internals.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 12:47:22 +02:00
Michael Niedermayer
71b7427e9b doc/fate: update server host key fingerprints
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 12:40:10 +02:00
Michael Niedermayer
4742edd50e Merge commit 'c5ab6088ad7b0dac461fb6757b038f5260e638e5'
* commit 'c5ab6088ad7b0dac461fb6757b038f5260e638e5':
  af_aformat: cosmetics, fix indentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 12:22:25 +02:00
Michael Niedermayer
74cb7ef851 Merge commit 'b01f6041f4260fba053c2f96ce1611ea77e833a0'
* commit 'b01f6041f4260fba053c2f96ce1611ea77e833a0':
  lavfi: rename AVFilterFormats.format_count to nb_formats

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/filtfmts.c
	libavfilter/formats.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:46:09 +02:00
Michael Niedermayer
937af7f6d3 Merge commit 'e27f4b7cbf8a3fde313cfe4b3a1880bf5031e9ae'
* commit 'e27f4b7cbf8a3fde313cfe4b3a1880bf5031e9ae':
  doxy: don't sort struct members alphabetically

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:35:51 +02:00
Michael Niedermayer
20f75a810c Merge commit '006ec64877fb638de4b15ae5fd969e22bd0f60ca'
* commit '006ec64877fb638de4b15ae5fd969e22bd0f60ca':
  lavr doxy: add version.h to the lavr group
  lavc doxy: add avcodec.h to the libavcodec group.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:25:58 +02:00
Michael Niedermayer
97200d89b9 Merge commit '40020e171a3549a2c0b65ce6f2649aec868872f2'
* commit '40020e171a3549a2c0b65ce6f2649aec868872f2':
  doxy: add a section about versioning.

Conflicts:
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:17:52 +02:00
Michael Niedermayer
0718f0cc24 Merge commit 'bc8c1cdc7bfe7b1fe56df812aabdac3de2555cec'
* commit 'bc8c1cdc7bfe7b1fe56df812aabdac3de2555cec':
  lavfi doxy: add a page for lavfi.
  jpegls: check the scan offset

Conflicts:
	libavcodec/jpeglsdec.c
	libavfilter/avfilter.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 11:04:11 +02:00
Michael Niedermayer
7d84bb2bcc Merge commit '4a4107b48944397c914aa39ee16a82fe44db8c4c'
* commit '4a4107b48944397c914aa39ee16a82fe44db8c4c':
  jpegls: factorize return paths

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 10:22:39 +02:00
Michael Niedermayer
b53d6a47c5 Merge commit 'a5a0ef5e13a59ff53318a45d77c5624b23229c6f'
* commit 'a5a0ef5e13a59ff53318a45d77c5624b23229c6f':
  jpegls: return meaningful errors
  sparc: VIS mnemonics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 10:05:00 +02:00
Eli Friedman
350914fc80 Escape 130 (RPL) decoder
Some fixes provided by Paul B Mahol <onemda@gmail.com>
and Michael Niedermayer <michaelni@gmx.at> and me.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2013-05-18 07:12:56 +02:00
Kostya Shishkov
cebdedca57 prores: decode alpha plane when it's present 2013-05-18 07:11:34 +02:00
Michael Niedermayer
5918b7ac41 sws/output: init A1/A2 so that rgba64 ends with 0xffff in the absence of alpha input
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-18 01:20:30 +02:00
Michael Niedermayer
6c593f1b67 avidec: dont randomly skip packets for offseting the index
Fixes Ticket2490

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 22:16:10 +02:00
Reimar Döffinger
24c65eb29f md5: avoid unnecessary copying.
Where necessary use memcpy instead.
Thanks to Giorgio Vazzana [mywing81 gmail] for
spotting this loop as the cause for the bad
performance.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-17 21:16:02 +02:00
Anton Khirnov
7e2b15c094 avfilter: check a malloc in avfilter_link().
Additionally change sizeof(type) into sizeof(var)
2013-05-17 20:32:27 +02:00
Anton Khirnov
bf5b5d2b15 avfilter.c: cosmetics, reformat 2013-05-17 20:32:18 +02:00
Anton Khirnov
d79bd60405 lavfi: factorize freeing a link 2013-05-17 20:30:25 +02:00
Anton Khirnov
1dd3561143 vf_format: do not use the AVFilterFormats internals.
Use the formats.h API instead.
2013-05-17 20:30:17 +02:00
Anton Khirnov
c5ab6088ad af_aformat: cosmetics, fix indentation 2013-05-17 20:30:02 +02:00
Anton Khirnov
b01f6041f4 lavfi: rename AVFilterFormats.format_count to nb_formats
This is more consistent with naming in the rest of Libav.
2013-05-17 20:29:50 +02:00
Anton Khirnov
e27f4b7cbf doxy: don't sort struct members alphabetically
The declaration order is more meanigful in most cases.
2013-05-17 20:27:52 +02:00
Anton Khirnov
006ec64877 lavr doxy: add version.h to the lavr group 2013-05-17 20:27:48 +02:00
Anton Khirnov
f0cebf51dd lavc doxy: add avcodec.h to the libavcodec group. 2013-05-17 20:27:38 +02:00
Anton Khirnov
40020e171a doxy: add a section about versioning. 2013-05-17 20:26:18 +02:00
Anton Khirnov
bc8c1cdc7b lavfi doxy: add a page for lavfi. 2013-05-17 20:26:11 +02:00
Paul B Mahol
47ac344970 id3v2enc: chapter support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 16:52:55 +00:00
Luca Barbato
4a4107b489 jpegls: factorize return paths 2013-05-17 16:44:13 +02:00
Luca Barbato
a5a0ef5e13 jpegls: return meaningful errors 2013-05-17 16:44:13 +02:00
Luca Barbato
abad374909 jpegls: check the scan offset
Prevent an out of array bound write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-05-17 16:44:13 +02:00
Paul B Mahol
d26f637b02 libmodplug: fix sz type
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 14:19:18 +00:00
Michael Kostylev
2768f7e4fe sparc: VIS mnemonics
Currently, if VIS is enabled by configure, it will also be enabled at
run-time regardless of its support in the hardware. Thus, masking VIS
usage as it is done in vis.h by constructing binary instructions is
pointless. Using normal VIS mnemonics in inline assembly allows to take
advantage of automatic register allocation, gets rid of register
variables, which are unsupported by suncc for SPARC, and improves code
readability.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-17 15:37:03 +02:00
Michael Niedermayer
ebe8c7fe52 vc1dec: restructure interpmvp code
This fixes a valgrind warning about use of uninitialized stuff
(no actual such use occurs though)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:47 +02:00
Vignesh Venkatasubramanian
98c292a7a8 Adding support for encoding VP8 Alpha
This patch adds support for encoding VP8 files with alpha. The alpha channel
is encoded separately and the output is placed in AVPacket's side_data. The
muxer then muxes it into the BlockAdditional element of the matroska container.
More details on spec here: http://goo.gl/wCP1y

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:23 +02:00
Michael Niedermayer
2fb193b1e7 vformat/matroskaenc: factorize alpha code in mkv_write_block()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:23 +02:00
Vignesh Venkatasubramanian
8ffcc826b3 Adding support for muxing VP8 Alpha files
This patch adds support for muxing VP8 Alpha Files. The Alpha channel data is
placed in BlockAdditional element of the matroska container. More information
& exact spec on how this is implemented can be found here: http://goo.gl/wCP1y

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 15:11:23 +02:00
Paul B Mahol
85e8a1169c lavfi/pad: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol
1d2ecf9609 lavfi/drawtext: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol
83e892233c lavfi/life: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol
05b7560d39 lavfi/color: switch to AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:54 +00:00
Paul B Mahol
3a751eab78 lavu/opt: add AV_OPT_TYPE_COLOR
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-17 11:32:53 +00:00
Michael Niedermayer
1ec578c010 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: allocate sufficiently large scratch buffer for interlaced vid

Conflicts:
	libavcodec/mpegvideo.c

See: 73db0bf1b0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 12:10:57 +02:00
Michael Niedermayer
1a0057dc88 Merge commit 'db8e336e5fc18c41cb4e9bab1960349e9800d546'
* commit 'db8e336e5fc18c41cb4e9bab1960349e9800d546':
  pthread: reindent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:55:40 +02:00
Michael Niedermayer
36d349034e Merge commit '30e256430eb88c6d4c382581b89bca171d79fbc0'
* commit '30e256430eb88c6d4c382581b89bca171d79fbc0':
  lavc/pthread: remove obsolete checks

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:49:00 +02:00
Michael Niedermayer
1e9a050bc0 Merge commit '16a645adeb758207346a4bbf66766f02734c461e'
* commit '16a645adeb758207346a4bbf66766f02734c461e':
  vf_pixdesctest: make config_props work properly when called multiple times.
  vf_hqdn3d: make config_props work properly when called multiple times.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:41:14 +02:00
Michael Niedermayer
71fcb6072e Merge commit '3fb29588a27a711132106b924e27b53789a58dcb'
* commit '3fb29588a27a711132106b924e27b53789a58dcb':
  vf_drawtext: don't leak the expressions.
  vf_crop: make config_props work properly when called multiple times.
  vf_setdar: make config_props work properly when called multiple times.

Conflicts:
	libavfilter/vf_aspect.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:29:22 +02:00
Michael Niedermayer
c7078f4907 Merge commit '4c205f42c86ccefa093c59434669af34ad14a52b'
* commit '4c205f42c86ccefa093c59434669af34ad14a52b':
  vf_drawbox: make config_props work properly when called multiple times.
  vf_drawtext: do not reset the frame number in config_input.
  vf_fps: move initializing pts from config_props to init.

Conflicts:
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 11:05:18 +02:00
Michael Niedermayer
d5e5e73c52 Merge commit 'd371c3c2e2830d9783465ecfe1ab7d93351083b7'
* commit 'd371c3c2e2830d9783465ecfe1ab7d93351083b7':
  vf_frei0r: make config_props work properly when called multiple times.
  vf_gradfun: make config_props work properly when called multiple times.
  vf_lut: make config_props work properly when called multiple times.

Conflicts:
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:51:59 +02:00
Michael Niedermayer
5bc892cb17 Merge commit '1232a1647ab27e024a3baf4d01d40c8d08d6ced9'
* commit '1232a1647ab27e024a3baf4d01d40c8d08d6ced9':
  Apple Intermediate Codec decoder
  movenc: Don't add base_data_offset in tfhd for PIFF files

Conflicts:
	Changelog
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:38:08 +02:00
Michael Niedermayer
c453da33a3 Merge commit '1fb013a57c6d98d3f425506eb25f32b2cf7ddc6f'
* commit '1fb013a57c6d98d3f425506eb25f32b2cf7ddc6f':
  vc1dec: Add support for interlaced B-frames

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:23:40 +02:00
Jeremy Hinegardner
28e6b7b9b4 Turn off usage of base_data_offset in tfhd for PIFF files
According to the PIFF specification[1] the base_data_offset field MUST be
omitteed. See section 5.2.17. Since the ISMV files created by ffmpeg state
that they are 'piff' compatible via 'ftyp' box, this needs to be corrected.

[1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 10:04:45 +02:00
Jindrich Makovicka
259af1b923 mpegvideo: allocate sufficiently large scratch buffer for interlaced vid
MPV_decode_mb_internal needs 3 * 16 * linesize bytes of scratch buffer

For interlaced content, linesize is multiplied by two after the allocation
of the scratch buffer, and the dest_cr pointer ends past the buffer.

This patch makes ff_mpv_frame_size_alloc allocate a total of
(aligned line_size) * 2 * 16 * 3 bytes, which suffices even for the
interlaced case.

CC:libav-stable@libav.org

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-17 07:49:05 +02:00
Anton Khirnov
db8e336e5f pthread: reindent 2013-05-17 07:44:50 +02:00
Anton Khirnov
30e256430e lavc/pthread: remove obsolete checks
Those were useful when avcodec_thread_init() was a public functions. It
was deprecated and removed some time ago, so those checks are not needed
anymore.
2013-05-17 07:44:40 +02:00
Anton Khirnov
16a645adeb vf_pixdesctest: make config_props work properly when called multiple times. 2013-05-17 07:44:23 +02:00
Anton Khirnov
3ba35a346c vf_hqdn3d: make config_props work properly when called multiple times.
Do not leak all the temp buffers.
2013-05-17 07:44:12 +02:00
Anton Khirnov
3fb29588a2 vf_drawtext: don't leak the expressions. 2013-05-17 07:44:04 +02:00
Anton Khirnov
6592cd22a2 vf_crop: make config_props work properly when called multiple times.
Do not leak the x/y expressions.
2013-05-17 07:43:57 +02:00
Anton Khirnov
d5c66d9c56 vf_setdar: make config_props work properly when called multiple times.
Do not overwrite the variable set through AVOptions.
2013-05-17 07:43:44 +02:00
Anton Khirnov
4c205f42c8 vf_drawbox: make config_props work properly when called multiple times.
Do not overwrite the variables set through AVOptions.
2013-05-17 07:43:17 +02:00
Anton Khirnov
90d9a2a04c vf_drawtext: do not reset the frame number in config_input.
Frame number should be incremented normally even if the link properties
change.
2013-05-17 07:43:07 +02:00
Anton Khirnov
7727be79d1 vf_fps: move initializing pts from config_props to init.
It should not be reinitialized if the link properties change.
2013-05-17 07:42:55 +02:00
Anton Khirnov
d371c3c2e2 vf_frei0r: make config_props work properly when called multiple times.
Do not leak the initialized filter instance.
2013-05-17 07:42:46 +02:00
Anton Khirnov
87c31cfd7a vf_gradfun: make config_props work properly when called multiple times. 2013-05-17 07:42:39 +02:00
Anton Khirnov
b06848f4de vf_lut: make config_props work properly when called multiple times.
Do not leak the expressions.
2013-05-17 07:42:28 +02:00
Kostya Shishkov
1232a1647a Apple Intermediate Codec decoder 2013-05-17 06:31:05 +02:00
Carl Eugen Hoyos
17989dcf54 configure: Autodetect VA-API
This fixes a regression (reproducible since 1.2) and restores the
behaviour of 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 1.0 and 1.1.
2013-05-17 02:32:21 +02:00
Stefano Sabatini
cb0b0266e5 lavfi/drawbox: restore verbal form for drawbox options descriptions 2013-05-17 00:46:32 +02:00
Stefano Sabatini
0aa013fa8a lavfi: factorize drawgrid and drawbox code 2013-05-17 00:46:32 +02:00
James Almer
54372848f3 tools/ffhash: Use O_BINARY when available
This fixes reading files in Windows

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 00:38:07 +02:00
Michael Niedermayer
ab074ab9fe avcodec/pthread: fix ffv1 with 2 threads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-17 00:28:51 +02:00
Jeremy Hinegardner
40bbbce7e8 movenc: Don't add base_data_offset in tfhd for PIFF files
According to the PIFF specification[1] the base_data_offset field MUST be
omitteed. See section 5.2.17. Since the ISMV files created by libavformat
state that they are 'piff' compatible via 'ftyp' box, this needs to be
corrected.

[1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-17 00:28:50 +03:00
Sebastian Sandberg
1fb013a57c vc1dec: Add support for interlaced B-frames
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-17 00:28:37 +03:00
Clément Bœsch
3da726f188 lavf/img2enc: use FF_CEIL_RSHIFT(). 2013-05-16 23:20:07 +02:00
Clément Bœsch
f3962c6264 lavfi/yadif: fix chroma subsampling with odd sizes. 2013-05-16 23:20:02 +02:00
Clément Bœsch
61b268eeda lavfi/idet: fix chroma subsampling with odd sizes. 2013-05-16 23:20:00 +02:00
Clément Bœsch
6c5bd7d785 lavc/vc1dec: fix a few "may be used uninitialized" warnings. 2013-05-16 23:08:01 +02:00
Michael Niedermayer
09b3bbe605 libvpxenc: Fix "passing argument 3 of av_image_copy from incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 22:54:16 +02:00
Michael Niedermayer
f4cc38e339 vc1dec: silence "may be used uninitialized in this function" warning from gcc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 22:32:01 +02:00
Clément Bœsch
d94c907008 lavfi: silence a discarded const qualifier warning. 2013-05-16 18:38:10 +02:00
James Almer
b22f96b736 Rename ffadler to ffhash and expand it using the generic hash API
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:58:56 +02:00
Michael Niedermayer
c607a2cc97 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sparc: Eliminate dead code in VIS acceleration macros
  flacdec: drop unnecessary assert
  mjpegdec: properly report unsupported disabled features

Conflicts:
	libavcodec/flacdec.c
	libavcodec/mjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:10:51 +02:00
Michael Niedermayer
af00d68af0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_pad: use the name 's' for the pointer to the private context
  vf_overlay: use the name 's' for the pointer to the private context
  vf_lut: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 17:03:52 +02:00
Michael Niedermayer
df003cbb56 Merge commit '4753f802c00853859b7b4b8fdb79c35e082cb7f8'
* commit '4753f802c00853859b7b4b8fdb79c35e082cb7f8':
  vf_libopencv: use the name 's' for the pointer to the private context
  vf_hqdn3d: use the name 's' for the pointer to the private context
  vf_hflip: use the name 's' for the pointer to the private context
  vf_gradfun: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_gradfun.c
	libavfilter/vf_hflip.c
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 16:45:43 +02:00
Michael Niedermayer
e55092b12b Merge commit 'f6b6d6ac42c0ee427fcd3fae4c398b2103b491b8'
* commit 'f6b6d6ac42c0ee427fcd3fae4c398b2103b491b8':
  vf_frei0r: use the name 's' for the pointer to the private context
  vf_format: use the name 's' for the pointer to the private context
  vf_fieldorder: use the name 's' for the pointer to the private context
  vf_fieldorder: cosmetics, remove an extra linebreak

Conflicts:
	libavfilter/vf_frei0r.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 15:21:31 +02:00
Michael Kostylev
4dbceaa3a8 sparc: Eliminate dead code in VIS acceleration macros
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-16 14:30:49 +02:00
Luca Barbato
39cc4c61de flacdec: drop unnecessary assert
The condition cannot happen anymore.
2013-05-16 14:05:46 +02:00
Luca Barbato
b25e49b187 mjpegdec: properly report unsupported disabled features
When JPEG-LS support is disabled the decoder would feed the
data to the JPEG Lossless decode_*_scan function resulting in
faulty decoding.

CC: libav-stable@libav.org
2013-05-16 14:05:46 +02:00
Clément Bœsch
afec02afe7 lavfi/unsharp: remove unused float.h include. 2013-05-16 13:38:26 +02:00
Clément Bœsch
faceb0af0a lavfi/unsharp: use av_image_copy_plane(). 2013-05-16 13:38:03 +02:00
Clément Bœsch
5c7a33a716 fate/colorchannelmixer: make sure direct path is tested. 2013-05-16 13:18:08 +02:00
Michael Niedermayer
04dd5ddeda Merge commit 'c0279956b3ca3e5fd0a6a25253893d6f07000e68'
* commit 'c0279956b3ca3e5fd0a6a25253893d6f07000e68':
  vf_fade: use the name 's' for the pointer to the private context
  vf_drawtext: use the name 's' for the pointer to the private context
  vf_drawbox: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 10:33:31 +02:00
Michael Niedermayer
a134f9676e Merge commit 'ba09675f44612fad9f7169f71b8276beb50a0dcd'
* commit 'ba09675f44612fad9f7169f71b8276beb50a0dcd':
  vf_delogo: use the name 's' for the pointer to the private context
  vf_cropdetect: use the name 's' for the pointer to the private context
  vf_crop: cosmetics, break lines

Conflicts:
	libavfilter/vf_delogo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 10:14:00 +02:00
Michael Niedermayer
e77647c528 Merge commit '7f83959598b6565baa0091e5739dd9091ab7a990'
* commit '7f83959598b6565baa0091e5739dd9091ab7a990':
  vf_crop: use the name 's' for the pointer to the private context
  vf_boxblur: use the name 's' for the pointer to the private context
  vf_blackframe: use the name 's' for the pointer to the private context

Conflicts:
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_crop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 10:08:17 +02:00
Michael Niedermayer
efc08e00cc Merge commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110'
* commit 'b3ea76624ad1baab0b6bcc13f3f856be2f958110':
  vf_aspect: use the name 's' for the pointer to the private context
  Remove commented-out debug #define cruft

Conflicts:
	libavcodec/4xm.c
	libavcodec/dvdsubdec.c
	libavcodec/ituh263dec.c
	libavcodec/mpeg12.c
	libavfilter/avfilter.c
	libavfilter/vf_aspect.c
	libavfilter/vf_fieldorder.c
	libavformat/rtmpproto.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:56:43 +02:00
Michael Niedermayer
39354d6089 Merge commit 'ff4fc5ef12a37716c5c5d8928a2db92428e916ec'
* commit 'ff4fc5ef12a37716c5c5d8928a2db92428e916ec':
  jpegls: K&R formatting cosmetics

Conflicts:
	libavcodec/jpegls.c
	libavcodec/jpegls.h
	libavcodec/jpeglsdec.c
	libavcodec/jpeglsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:46:19 +02:00
Michael Niedermayer
0d83b5722e Merge commit '9cacdabd1c8cd257a942d8289349c37d992989b7'
* commit '9cacdabd1c8cd257a942d8289349c37d992989b7':
  jpegls: cosmetics: Drop some unnecessary parentheses
  mpegvideo: Remove commented-out PARANOID debug cruft

Conflicts:
	libavcodec/jpegls.c
	libavcodec/mpegvideo.c
	libavcodec/x86/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:19:11 +02:00
Michael Niedermayer
4390fa6273 Merge commit 'd46c588f3cb1963a00e990ceaf4ba9ffa05a716d'
* commit 'd46c588f3cb1963a00e990ceaf4ba9ffa05a716d':
  Remove commented-out #includes
  h263dec: Remove broken and disabled debug cruft
  vc1: Reindent INIT_LUT(), align backslashes

Conflicts:
	libavcodec/vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-16 09:11:04 +02:00
Anton Khirnov
3062ac4c47 vf_pad: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:36:10 +02:00
Anton Khirnov
a70519aad1 vf_overlay: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:36:04 +02:00
Anton Khirnov
8d2565c28b vf_lut: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:35:59 +02:00
Anton Khirnov
4753f802c0 vf_libopencv: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:35:53 +02:00
Anton Khirnov
56e4ce0d13 vf_hqdn3d: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:35:48 +02:00
Anton Khirnov
7af5ae2d07 vf_hflip: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:38 +02:00
Anton Khirnov
05fab5530b vf_gradfun: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:29 +02:00
Anton Khirnov
f6b6d6ac42 vf_frei0r: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:23 +02:00
Anton Khirnov
cbec213a90 vf_format: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:17 +02:00
Anton Khirnov
d64cf54b34 vf_fieldorder: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:33:07 +02:00
Anton Khirnov
9bbf6c681a vf_fieldorder: cosmetics, remove an extra linebreak 2013-05-16 07:32:49 +02:00
Anton Khirnov
c0279956b3 vf_fade: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:32:43 +02:00
Anton Khirnov
d3735f7ad6 vf_drawtext: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:32:34 +02:00
Anton Khirnov
20e2794eea vf_drawbox: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:32:27 +02:00
Anton Khirnov
ba09675f44 vf_delogo: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:31:57 +02:00
Anton Khirnov
e16e23d70e vf_cropdetect: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:31:50 +02:00
Anton Khirnov
671563d9fd vf_crop: cosmetics, break lines 2013-05-16 07:31:31 +02:00
Anton Khirnov
7f83959598 vf_crop: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:31:11 +02:00
Anton Khirnov
762df56ef9 vf_boxblur: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:30:56 +02:00
Anton Khirnov
a2a696990c vf_blackframe: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:30:41 +02:00
Anton Khirnov
b3ea76624a vf_aspect: use the name 's' for the pointer to the private context
This is shorter and consistent across filters.
2013-05-16 07:30:28 +02:00
Clément Bœsch
d686517ad1 lavfi/mp: remove mp=ow wrapper.
Filter ported natively as owdenoise.
2013-05-16 00:45:45 +02:00
Clément Bœsch
b1e84efa3d lavfi: port wavelet denoiser filter from libmpcodecs. 2013-05-16 00:45:45 +02:00
Diego Biurrun
2832ea26f3 Remove commented-out debug #define cruft 2013-05-16 00:23:30 +02:00
Luca Barbato
ff4fc5ef12 jpegls: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-16 00:00:41 +02:00
Diego Biurrun
9cacdabd1c jpegls: cosmetics: Drop some unnecessary parentheses 2013-05-15 23:58:04 +02:00
Diego Biurrun
004b81c465 mpegvideo: Remove commented-out PARANOID debug cruft 2013-05-15 23:53:42 +02:00
James Almer
35188e91ef lavu/hash: Fix CRC32 calculation
Initialize it with UINT32_MAX and xor the result with UINT32_MAX
as well.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 23:53:40 +02:00
James Almer
c55c715c81 lavu/hash: Fix adler32 calculation
Adler must be initialized with a non zero value.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 23:53:40 +02:00
Diego Biurrun
d46c588f3c Remove commented-out #includes 2013-05-15 23:01:21 +02:00
Diego Biurrun
bfd00cc4c2 h263dec: Remove broken and disabled debug cruft 2013-05-15 23:01:21 +02:00
Michael Niedermayer
42af97dbc0 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/concat: reject empty scripts.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 20:22:31 +02:00
Michael Niedermayer
e3c24f663e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Use linker hardening flags on mingw
  vc1: Make INIT_LUT() self contained
  vc1: Simplify code by using INIT_LUT()
  vc1: Move INIT_LUT() further up to allow using it in more places
  vc1dec: Remove some now unused variables
  vc1dec: Do not allow field_mode to change after the first header
  vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_header
  vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma()
  vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma()
  vc1dec: Factorize picture pointer selection code
  vc1dec: Factorize srcU/V offseting
  vc1dec: Fix tff == 0 handling in init_block_index()
  vc1dec: Update destination pointers in context for fields

Conflicts:
	libavcodec/vc1.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 20:09:20 +02:00
Martin Storsjö
b0696e947f vc1: Reindent INIT_LUT(), align backslashes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 20:59:24 +03:00
Nicolas George
ca2f6b6932 lavf/concat: reject empty scripts.
Fix trac ticket #2566.
2013-05-15 16:53:35 +02:00
Paul B Mahol
c45b823bf8 lavfi/histogram: logarithmic mode for levels
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-15 12:38:39 +00:00
Alex Smith
225a5f91cc configure: Use linker hardening flags on mingw
This makes it consistent with the msvc builds which automatically set
the DEP and ASLR flags by default.  There really is no good reason why
they shouldn't be set.

The fact that binutils does not set them on by default boggles the mind.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 14:42:08 +03:00
Paul B Mahol
fa23f94eac wv: make probing more robust
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-15 10:51:30 +00:00
Michael Niedermayer
a9cadacdd9 dpxenc: dont shift into the sign bit.
Fixes IOC warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 12:15:21 +02:00
Michael Niedermayer
e003413fe9 murmur3: fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 12:10:09 +02:00
Michael Niedermayer
6ce2c3106d vc1: Make INIT_LUT() self contained
Move the local variables it uses into the macro, enclosing them
in a do {} while (0) scope.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:42:53 +03:00
Michael Niedermayer
3ac3edf63b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Reduce probing score for flic animation files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:37:58 +02:00
Michael Niedermayer
c7c71f95f8 replace remaining PIX_FMT_* flags with AV_PIX_FMT_FLAG_*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:23:14 +02:00
Carl Eugen Hoyos
86ea021b3a Reduce probing score for flic animation files.
Fixes ticket #2567.
2013-05-15 11:20:39 +02:00
Michael Niedermayer
37f2ac36a9 vc1: Simplify code by using INIT_LUT()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer
0379fc1487 vc1: Move INIT_LUT() further up to allow using it in more places
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Martin Storsjö
3ca3709ad4 vc1dec: Remove some now unused variables
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer
4162fc62b3 vc1dec: Do not allow field_mode to change after the first header
This fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Martin Storsjö
ec7d002e55 vc1, mss2: Check for any negative return value from ff_vc1_parse_frame_header
This is required if we return other error codes than explicitly
-1, which so far has been the only other possible return value
besides 0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 12:13:53 +03:00
Michael Niedermayer
ff4680922f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_*

Conflicts:
	doc/APIchanges
	libavcodec/avpicture.c
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c
	libavcodec/imgconvert.c
	libavcodec/tiffenc.c
	libavfilter/vf_pixdesctest.c
	libavfilter/vf_scale.c
	libavutil/imgutils.c
	libavutil/pixdesc.c
	libavutil/version.h
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 11:10:09 +02:00
Michael Niedermayer
ccb148e478 vc1dec: Fix current ptr selection in vc1_mc_4mv_chroma()
No sample tried shows a difference.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:40:38 +03:00
Michael Niedermayer
201412ffec vc1dec: Factorize picture pointer selection in vc1_mc_4mv_chroma()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:40:17 +03:00
Michael Niedermayer
2412ad1717 vc1dec: Factorize picture pointer selection code
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:57 +03:00
Michael Niedermayer
19673db34a vc1dec: Factorize srcU/V offseting
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:36 +03:00
Michael Niedermayer
012b319d91 vc1dec: Fix tff == 0 handling in init_block_index()
This fixes several files from VLC ticket 5887.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:39:17 +03:00
Michael Niedermayer
75835abe91 Merge commit '7c57a582a03fb473091a88737ab92b9f2a5bb87a'
* commit '7c57a582a03fb473091a88737ab92b9f2a5bb87a':
  jpeg2000dec: don't use deprecated PIX_FMT values

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:39:00 +02:00
Michael Niedermayer
0313653928 vc1dec: Update destination pointers in context for fields
This replaces a large number of checks for the second field by
fixing the pointers when they are setup.

This should also fix I/BI field pictures.

Changes checksums for vc1_sa10143, the file becomes slightly closer
to what the reference decoder outputs.

Based on "vc1dec: the second field is written wrong to the picture"
by Sebastian Sandberg <sebastiand.sandberg@gmail.com>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-15 11:38:49 +03:00
Michael Niedermayer
5692ad00f4 Merge commit 'ffba2053edfc177d217bf4a95edf51cd0fc40753'
* commit 'ffba2053edfc177d217bf4a95edf51cd0fc40753':
  lavfi: fix compatibility code for old vf_scale options syntax

Conflicts:
	libavfilter/avfilter.c

No change as the buggy code does not exist in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:38:11 +02:00
Michael Niedermayer
aa6454e6ca Merge commit '096696ef0dd391d9430376d1444c1a3cde9171fd'
* commit '096696ef0dd391d9430376d1444c1a3cde9171fd':
  avfiltergraph: simplify inserting conversion filters.
  Clarify output of av_get_bits_per_pixel

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:21:16 +02:00
Michael Niedermayer
85de84c3e0 Merge commit '7cbc4cb4424430586ce2d5c0dba81174c6d1db01'
* commit '7cbc4cb4424430586ce2d5c0dba81174c6d1db01':
  fate: update the mmf reference
  mmf: Write metadata into an Optional Data chunk
  jpeg2000dec: Use correct printf length modifier for pointer differences

Conflicts:
	libavformat/mmf.c
	tests/ref/lavf/mmf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:15:15 +02:00
Michael Niedermayer
23439cf99b Merge commit '5d9d8461fbb87046a7ca220d3676a045bd7ab46e'
* commit '5d9d8461fbb87046a7ca220d3676a045bd7ab46e':
  vc1dec: Don't apply the loop filter on fields

Conflicts:
	tests/ref/fate/vc1_sa10143

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:07:15 +02:00
Michael Niedermayer
cb22692f05 Merge commit 'fe06795d783785a76c6cbcaa2cd3012e6deb5fa5'
* commit 'fe06795d783785a76c6cbcaa2cd3012e6deb5fa5':
  vc1: implement frame interlaced b-frame header parsing

Conflicts:
	libavcodec/vc1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:57:28 +02:00
Michael Niedermayer
b602e47f12 Merge commit '46430fd47c6239ef8742d0a34f9412d5060fa798'
* commit '46430fd47c6239ef8742d0a34f9412d5060fa798':
  vc1dec: Don't attempt error concealment on field pictures
  vc1dec: fieldtx is only valid for interlaced frame pictures
  aacenc: Fix erasure of surround channels
  aacenc: Fix target bitrate for twoloop quantiser search

Conflicts:
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:49:17 +02:00
Michael Niedermayer
772c801c7d Merge commit '7c71ada4cad3c6aab5fa24155c379465c41cfd76'
* commit '7c71ada4cad3c6aab5fa24155c379465c41cfd76':
  aacenc: Fix a rounding bug in aacpsy channel bitrate computation
  yadif: correct strides in filter_edges_16bit
  yadif: restore speed of the C filtering code

Conflicts:
	libavfilter/x86/vf_yadif_init.c

No change as these commits where already in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:45:43 +02:00
Michael Niedermayer
6bf6b9c279 Merge commit '252c0bfdc014c1fb6ad4fe06242c7beca58a6b41'
* commit '252c0bfdc014c1fb6ad4fe06242c7beca58a6b41':
  lavc: Fix msvc compilation of utils.c with -WX (warnings treated as errors)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 09:39:07 +02:00
Anton Khirnov
e6c4ac7b5f pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_* 2013-05-15 07:46:51 +02:00
Anton Khirnov
7c57a582a0 jpeg2000dec: don't use deprecated PIX_FMT values 2013-05-15 07:46:39 +02:00
Anton Khirnov
ffba2053ed lavfi: fix compatibility code for old vf_scale options syntax
Currently it would incorrectly trigger on a string that contains a '='
but does not contain a ':', e.g. flags=<flags>.
2013-05-15 07:46:04 +02:00
Anton Khirnov
096696ef0d avfiltergraph: simplify inserting conversion filters.
There is now no need to explicitly pass 0:0 as width/height to scale,
those are the defaults.
2013-05-15 07:45:51 +02:00
Kieran Kunhya
ede75ebc9b Clarify output of av_get_bits_per_pixel
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-15 07:45:09 +02:00
Clément Bœsch
bc1c90eabf lavfi/dctdnoiz: fix 10l typo in pr_height computation. 2013-05-15 03:19:49 +02:00
Michael Niedermayer
1a36c756d8 ffmpeg: free threads on error conditions.
Fixes Ticket2562

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 01:28:59 +02:00
Clément Bœsch
7b43120c7c lavfi: add dctdnoiz filter. 2013-05-15 00:54:00 +02:00
Vignesh Venkatasubramanian
48de04f4ec avcodec/avpacket: Refactoring copy_side_data into a separate function
Refactoring copy_side_data into a separate function so that it can be called
in cases where side data needs to be duplicated.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 22:51:12 +02:00
Michael Niedermayer
5d22ac488b libx264: zero x264_picture before use.
This prevents use of uninitialized memory by ffmpeg later
(i_qpplus1)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 22:44:08 +02:00
Michael Niedermayer
640e524ff6 libavfilter/Makefile: unbreak make alltools
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 21:58:56 +02:00
Stefano Sabatini
2a1b7dee6d tools: add zmqsend tool, useful to test the zmq filters 2013-05-14 20:10:55 +02:00
Stefano Sabatini
7ddb0ef9af lavfi: add zmq filters 2013-05-14 20:10:44 +02:00
James Almer
dc7656279a lavu/hash: Fix name of SHA224
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 19:43:51 +02:00
Paul B Mahol
b24530019f lavfi/blend: timeline support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-14 17:41:50 +00:00
Michael Niedermayer
e751481cd8 swscale/output: silence compiler warnings about uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 18:58:02 +02:00
Luca Barbato
7cbc4cb442 fate: update the mmf reference
Using Optional Data chunk introduced changes the hash.
2013-05-14 18:50:27 +02:00
Stefano Sabatini
e65c4a2330 doc/outdevs: fix typos (devices -> device) 2013-05-14 18:46:14 +02:00
Paul B Mahol
811b17fbad lavfi: cosmetics: fix vertical alignment for pads in some filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-14 15:31:56 +00:00
Yoshihisa Uchida
3dff1bf99c mmf: Write metadata into an Optional Data chunk
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-05-14 17:14:38 +02:00
Diego Biurrun
a349458e67 jpeg2000dec: Use correct printf length modifier for pointer differences
Also eliminate an unnecessary cast. Fixes the following warning:
jpeg2000dec.c:1200:20: warning: format ‘%lX’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘long long unsigned int’
2013-05-14 16:46:56 +02:00
Michael Niedermayer
dc6f1a8dda avformat/srtdec: Fix pointer corruption
This fixes use of uninitialized memory and possible out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 16:38:33 +02:00
Martin Storsjö
5d9d8461fb vc1dec: Don't apply the loop filter on fields
Fixes read of uninitialized memory.

Based on a patch by Michael Niedermayer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 14:36:00 +03:00
Michael Niedermayer
6b13f54262 vf_colorchannelmixer: round lut entries to nearest
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:51:22 +02:00
Michael Niedermayer
f268727a8f fate: change colorchannelmixers coefficients to be less unstable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:49:11 +02:00
Hendrik Leppkes
fe06795d78 vc1: implement frame interlaced b-frame header parsing
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 13:24:55 +03:00
Michael Niedermayer
46430fd47c vc1dec: Don't attempt error concealment on field pictures
This is not implemented and doesn't work.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 13:24:52 +03:00
Michael Niedermayer
509cc1e883 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Disable PIC for cygwin just as for win32/mingw

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:21:48 +02:00
Michael Niedermayer
a887372109 Merge commit '1399931d07f0f37ef4526eb8d39d33c64e09618a'
* commit '1399931d07f0f37ef4526eb8d39d33c64e09618a':
  x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 12:12:20 +02:00
Sebastian Sandberg
1bd57a850a vc1dec: fieldtx is only valid for interlaced frame pictures
The fieldtx_plane is not cleared for interlaced fields.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:44:09 +03:00
Claudio Freire
8bbdd20a29 aacenc: Fix erasure of surround channels
This was due to a miscomputation of s->cur_channel, which led to
psy-based encoders using the psy coefficients for the wrong channel.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:05 +03:00
Claudio Freire
f4d0a63b5b aacenc: Fix target bitrate for twoloop quantiser search
This fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:04 +03:00
Claudio Freire
7c71ada4ca aacenc: Fix a rounding bug in aacpsy channel bitrate computation
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 12:42:03 +03:00
Michael Niedermayer
b2da63db50 Merge commit '245b76a108585b6fb52eebc2626c472d6fa530dc'
* commit '245b76a108585b6fb52eebc2626c472d6fa530dc':
  x86: dsputil: Split inline assembly from init code

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Note, the author attribution is left in place and not removed
as it is in the merged commit.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 11:19:20 +02:00
Michael Niedermayer
eda9d97b7a Merge commit '46bb456853b197f4562de7acf5d42abf11ded9be'
* commit '46bb456853b197f4562de7acf5d42abf11ded9be':
  x86: dsputil: Refactor pixels16 wrapper functions with a macro

Conflicts:
	libavcodec/x86/hpeldsp_avg_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-14 10:18:46 +02:00
James Darnley
d10499a32a yadif: correct strides in filter_edges_16bit
The C code treats the data as arrays of uint16_t so strides must not
be in bytes but in pixels.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:24:13 +02:00
James Darnley
b0ef0ae776 yadif: restore speed of the C filtering code
Always use the special filter for the first and last 3 columns (only).

Changes made in 64ed397 slowed the filter to just under 3/4 of what it
was.  This commit restores the speed while maintaining identical output.

For reference, on my Athlon64:
1733222 decicycles in old
2358563 decicycles in new
1727558 decicycles in this

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-14 09:23:55 +02:00
Matt Wolenetz
252c0bfdc0 lavc: Fix msvc compilation of utils.c with -WX (warnings treated as errors)
This fixes https://bugzilla.libav.org/show_bug.cgi?id=514.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-14 10:04:43 +03:00
burek
56ba331257 doc/filters: add some examples for the fps filter
Signed-off-by: burek <burek021@gmail.com>
2013-05-14 00:33:52 +00:00
Hendrik Leppkes
37d9784083 md5enc: don't reuse priv_class in two formats
Apparently, this is not allowed and can trip up all sorts of things.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 23:39:29 +02:00
Reimar Döffinger
7d1d596817 Add a generic hash API.
Also use this API in framemd5.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-13 21:42:37 +02:00
Reimar Döffinger
86215c326e Add 128 bit murmur3 hash function.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-13 21:42:37 +02:00
Andrey Utkin
47a628bfb3 avfilter: Add 'drawgrid' video filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 21:34:15 +02:00
Martin Storsjö
05165c2f7a configure: Disable PIC for cygwin just as for win32/mingw
If this is explicitly disabled for win32/mingw, it should also
be disabled for cygwin, for consistency and for the same reasons
as for win32/mingw.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-13 20:20:55 +03:00
Joseph Artsimovich
3967f68053 Better handling for MXF essence reading reaching EOF.
If no metadata follows MXF essence, that is essence ends with EOF,
"Operation not permitted" error was produced and a non-zero code
was returned from ffmpeg executable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 19:03:04 +02:00
Michael Niedermayer
1e00bbb10c avcodec/lcldec: Check that dimensions are a multiple of the subsample factors
Other dimensions would not work correctly currently,
also ask for a sample for files that fail this check.

This fixes an integer overflow leading to out of array
accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 18:52:00 +02:00
Clément Bœsch
b3c263e209 lavu/common: make FF_CEIL_RSHIFT faster when shift is constant.
See "[PATCH] lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding."
thread for more information.
2013-05-13 17:53:16 +02:00
Michael Niedermayer
45150f90e7 fate: fix filter-colorchannelmixer by adding bitexact & accurate flags
Idea by durandal11707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 17:15:58 +02:00
Paul B Mahol
8671e995c8 imgconvert: silence "incompatible pointer type" warning
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-13 14:42:41 +00:00
Michael Niedermayer
f9db2fc84d cdgraphics: initialize buffer
Prevent use of uninitialized memory

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 14:39:32 +02:00
Michael Niedermayer
e6b6ae4695 vorbisdec: check codebook entry count
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 14:27:35 +02:00
Stefano Sabatini
3a4c8788e3 tools/ffeval: use av_dynarray2_add()
Simplify, increment robustness.
2013-05-13 13:52:37 +02:00
Stefano Sabatini
e3984166a4 lavu/mem: add av_dynarray2_add()
Based on a patch by Clément Bœsch.

See thread:
From: Clément Bœsch <ubitux@gmail.com>
Subject: [FFmpeg-devel] [PATCH 1/5] lavu: add av_dynarray_alloc_elem().
Date: Sun, 14 Apr 2013 03:07:54 +0200
2013-05-13 13:52:31 +02:00
Stefano Sabatini
84be806982 lavu: define FF_MEMORY_POISON and use it
Allow single-place definition of constant used to fill poisoned memory.
2013-05-13 13:52:26 +02:00
Michael Niedermayer
e70e2583d0 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Do not read strd chunk in avi files as H264 extradata.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 13:25:12 +02:00
Paul B Mahol
2dedd8988a fate: add colorchannelmixer test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-13 10:57:48 +00:00
Carl Eugen Hoyos
231b331718 Do not read strd chunk in avi files as H264 extradata.
Fixes ticket #2561.
2013-05-13 12:39:44 +02:00
Paul B Mahol
4383e1b239 tests/lavf-regression: fix gbrp10 dpx test on big endian
For some reason only for that pix format decoder picks native format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-13 10:09:03 +00:00
Michael Niedermayer
df4f4fc8a5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: x86: Only enable cpunop on i686

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 11:36:46 +02:00
Michael Niedermayer
69d52ef8ff Merge commit 'f54b55058a429c4eea5bae7e5bcb49bd29b34199'
* commit 'f54b55058a429c4eea5bae7e5bcb49bd29b34199':
  configure: Rename cmov processor capability to i686

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 11:29:40 +02:00
Michael Niedermayer
6585275e79 Merge commit 'e08c946c6860a78b0c479551d5f6735361160cbd'
* commit 'e08c946c6860a78b0c479551d5f6735361160cbd':
  configure: Explicitly disable PIC when targeting win32/mingw

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 11:23:16 +02:00
Michael Niedermayer
352eb1f02f Merge commit 'b1803c79dcd6d0a345fa1cbe18dd8e2149717121'
* commit 'b1803c79dcd6d0a345fa1cbe18dd8e2149717121':
  configure: Use enable_weak when enabling pic

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 10:53:18 +02:00
Andrey Utkin
bc63a76083 pngenc: Add 'dpi', 'dpm' options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-13 00:12:45 +02:00
Paul B Mahol
c0a30dd2e4 fate: increase coverage for dpx encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 22:04:40 +00:00
Paul B Mahol
ae9ef151ad dpxenc: simplifiy code using AVPixFmtDescriptor
Update rgb24 fate test as it no longer writes image in big endian
format.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 21:56:29 +00:00
Paul B Mahol
22a038606c dpxenc: do not set coded_frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 21:15:59 +00:00
Diego Biurrun
1399931d07 x86: dsputil: Rename dsputil_mmx.h --> dsputil_x86.h
The header is not (anymore) MMX-specific.
2013-05-12 22:28:07 +02:00
Diego Biurrun
245b76a108 x86: dsputil: Split inline assembly from init code
Also remove some pointless comments.
2013-05-12 22:28:07 +02:00
Diego Biurrun
46bb456853 x86: dsputil: Refactor pixels16 wrapper functions with a macro 2013-05-12 22:28:07 +02:00
Michael Niedermayer
145e644aee sws/output: remove offset/coef for alpha in rgba64
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 22:01:18 +02:00
Paul B Mahol
e1746d057b swscale: RGBA64 output
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 21:47:19 +02:00
Diego Biurrun
2c2c48a9bd configure: x86: Only enable cpunop on i686
The assembler may insert nopl instructions for cpunop, which are not
(universally) supported on i586 CPUs.
2013-05-12 21:23:38 +02:00
Diego Biurrun
f54b55058a configure: Rename cmov processor capability to i686
The goal is to make the capapility slightly more general and have it
cover the availability of the nopl instruction in addition to cmov.
2013-05-12 21:23:38 +02:00
Claudio Freire
e41cd3cdeb aacenc: Fix ticket #1784: erasure of surround channels
This was due to a miscomputation of s->cur_channel, which led to
psy-based encoders using the psy coefficients for the wrong channel.
Test sample attached on the bug tracker had the peculiar case of all
other channels being silent, so the error was far more noticeable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 19:14:17 +02:00
Martin Storsjö
e08c946c68 configure: Explicitly disable PIC when targeting win32/mingw
These platforms do not have any notion of PIC. On some compilers,
enabling pic produces a number of warnings.

This avoids trying to produce PIC loads in the ARM assembly - there
are no relocation types in PE/COFF that correspond to
BFD_RELOC_32_PCREL (R_ARM_REL32 in ELF).

As a side-effect, this avoids enabling PIC on mingw64, getting rid
of the warnings about PIC not having any effect on that platform.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-12 19:45:33 +03:00
Martin Storsjö
b1803c79dc configure: Use enable_weak when enabling pic
This allows it to be overridden, either by the user on the command
line, or by other sections of the configure script.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-12 19:45:26 +03:00
Michael Niedermayer
91f4a44ff4 sws/packed_16bpc_bswap: fix handling of negative stride 2013-05-12 17:26:39 +02:00
Michael Niedermayer
63725d158d Revert "sws: support endianness conversion for AV_PIX_FMT_RGBA64"
This reverts commit 23f7b14f28.

This commit broke fate
2013-05-12 15:05:25 +02:00
Paul B Mahol
d93bc4ef5c redspark: fix memleak in redspark_read_header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 12:14:33 +00:00
Paul B Mahol
87888c043d fate: add exr tests
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 11:47:30 +00:00
Paul B Mahol
23f7b14f28 sws: support endianness conversion for AV_PIX_FMT_RGBA64
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 11:44:20 +00:00
Clément Bœsch
cd43a7e945 doc/filters: split item options which are not aliases. 2013-05-12 13:23:45 +02:00
Clément Bœsch
09d3449a8f fate/filter: test gradfun timeline. 2013-05-12 13:07:47 +02:00
Clément Bœsch
9b11c2ef36 fate/filter: test hqdn3d timeline. 2013-05-12 13:07:47 +02:00
Clément Bœsch
0122300c86 lavfi/hqdn3d: restore timeline feature. 2013-05-12 13:07:47 +02:00
Clément Bœsch
0652111833 lavfi/hqdn3d: use macros instead of hardcoded indexes. 2013-05-12 13:07:47 +02:00
Clément Bœsch
1776177b7f lavfi: replace passthrough_filter_frame with a flag.
With the introduction of AVFilterContext->is_disabled, we can simplify
the custom passthrough mode in filters.

This commit is technically a small compat break, but the timeline was
introduced very recently.

Doxy by Stefano Sabatini.
2013-05-12 13:07:47 +02:00
Clément Bœsch
60f0e30431 lavfi/vflip: use FF_CEIL_RSHIFT for chroma w/h rounding. 2013-05-12 12:59:00 +02:00
Clément Bœsch
59d33eafd1 lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding. 2013-05-12 12:59:00 +02:00
Paul B Mahol
91cae60ecb lavfi/select: unbreak compatibility with older PICT_TYPE syntax
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-12 10:52:26 +00:00
Michael Niedermayer
cbcc5cbbd8 Merge remote-tracking branch 'jamrial/adpcm'
* jamrial/adpcm:
  ADPCM IMA Radical decoder
  RedSpark demuxer
  RSD demuxer
  adpcm_thp: Allow the use of extradata for the adpcm table
  ADP demuxer
  ADPCM DTK decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-12 00:38:39 +02:00
Michael Niedermayer
9a2153894f ffv1enc: fix 1000l typo
Thanks to ubitux for spotting that
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:33:03 +02:00
Michael Niedermayer
b8a2331a70 ffv1: check for malloc failure.
Somehow i managed to loose this fix before pushing

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:23:46 +02:00
Michael Niedermayer
bd63f8f657 ffv1enc: Fix memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:03:54 +02:00
Michael Niedermayer
19411d32d4 ffv1enc: dont set coded_frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:37:20 +02:00
Michael Niedermayer
a0c0900e47 ffv1dec: Support frame threading with gop > 1
This is about 20-30% faster than slice threading

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:17:45 +02:00
Michael Niedermayer
54602590d9 ffv1enc: Check the return value of ffv1_common_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:17:09 +02:00
Michael Niedermayer
69cfe63a43 ffv1: Switch to ThreadFrame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:16:49 +02:00
Michael Niedermayer
44f69c0df8 avfilter/af_astats: fix 64bit printf type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 19:10:39 +02:00
Michael Niedermayer
bb0d3a4393 avfilter/vf_mp: remove unused function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 19:08:42 +02:00
Michael Niedermayer
efaa2e01e6 vf_copy: silence "incompatible pointer type" warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 15:51:27 +02:00
Stefano Sabatini
90d35e527b doc/filters: remove duplicated abuffer docs 2013-05-11 10:32:30 +02:00
Stefano Sabatini
edc05698aa doc/filters: sort audio filters by name 2013-05-11 10:32:22 +02:00
Clément Bœsch
a9705e4de9 lavfi/curves: avoid ctx pointer indirection. 2013-05-10 23:47:28 +02:00
Michael Niedermayer
496f2df908 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: avoid writes without necessary alignment in copy_cell()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 23:26:32 +02:00
Michael Niedermayer
5e1278c640 Merge commit '2c299d4165cd9653153e12270971c2368551b79e'
* commit '2c299d4165cd9653153e12270971c2368551b79e':
  x86: sbrdsp: implement SSE2 qmf_pre_shuffle

Conflicts:
	libavcodec/x86/sbrdsp.asm
	libavcodec/x86/sbrdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 23:16:09 +02:00
Michael Niedermayer
2a7d719848 Merge commit '16a4a18db089af8c432f1cdec62155000585b72c'
* commit '16a4a18db089af8c432f1cdec62155000585b72c':
  af_asyncts: fix offset calculation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 23:03:50 +02:00
Michael Niedermayer
fc94b68eb5 Merge commit '72fbc9685c08baae7ab9996642707eaab873b6f1'
* commit '72fbc9685c08baae7ab9996642707eaab873b6f1':
  avconv: use current syntax for the scale filter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 22:51:04 +02:00
James Almer
67fad0d221 ADPCM IMA Radical decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:53:50 -03:00
James Almer
e5e86db178 RedSpark demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:53:02 -03:00
James Almer
d3710c51d9 RSD demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:52:10 -03:00
James Almer
22c7784f60 adpcm_thp: Allow the use of extradata for the adpcm table
There are several containers that support adpcm_thp (Also known as Gamecube DSP)
streams, but only thp files contain the coeff table and previous sample inside
each frame.
Some don't even contain previous sample information at all.

This change will make it easier to implement demuxers for said containers
without having to create a new decoder.

Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:10:53 -03:00
James Almer
b4866f717c ADP demuxer
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:10:52 -03:00
James Almer
e7814ed839 ADPCM DTK decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2013-05-10 16:10:51 -03:00
Michael Niedermayer
b2cf655d6e sws: add casts to silence pointer type mismatch warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 20:36:12 +02:00
Michael Niedermayer
7ded017983 sws/output/yuv2gbrp_full_X_c(): silence warning about uninitialized variable
clang did not show this one, so i missed it in the last batch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 20:36:12 +02:00
Paul B Mahol
4868855b13 lavfi/select: set forgotten VAR_PICT_TYPE_BI
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-10 17:39:09 +00:00
Paul B Mahol
005ee7a586 lavfi: avectorscope filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-10 17:11:54 +00:00
Clément Bœsch
50e66726a2 lavfi: use ceil right shift for chroma width/height.
This should fix several issues with odd dimensions inputs.

lut, vflip, pad and crop video filters also need to be checked for such
issues. It's possible sws is also affected.
2013-05-10 17:20:06 +02:00
Paul B Mahol
d751a2526f lavfi/anull: remove redundant lines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-10 15:08:12 +00:00
Michael Niedermayer
a079ed63d3 avidec: Enable full parsing for potencoder mpeg1/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 16:55:06 +02:00
highgod0401
63e8fc4d8f lavfi: modify names of deshake_kernel.h and unsharp_kernel.h
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 12:44:04 +02:00
Janne Grunau
94235f2ba2 indeo3: avoid writes without necessary alignment in copy_cell()
Cells starting at a position aligned to 8 pixels but wider than
4 blocks are copied with 3 blocks per loop. This creates problems on the
next loop iterations since the routine copying 2 blocks requires the
same alignment on some architectures like ARM NEON.
2013-05-10 12:02:09 +02:00
Carl Eugen Hoyos
0f05b72f19 Fix configure --help output for some autodetected features. 2013-05-10 10:41:28 +02:00
Stefano Sabatini
5c4c929878 lavfi/avfiltergraph: fix style 2013-05-10 10:33:00 +02:00
Stefano Sabatini
e1332ff324 lavfi/avfilter.h: fix typo 2013-05-10 10:33:00 +02:00
Stefano Sabatini
eeb9a4928d lavu/mem.h: fix typo 2013-05-10 10:32:59 +02:00
Michael Niedermayer
c475a58dd6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mmf: K&R formatting cosmetics

Conflicts:
	libavformat/mmf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 09:35:33 +02:00
Christophe Gisquet
2c299d4165 x86: sbrdsp: implement SSE2 qmf_pre_shuffle
From 253 to 51 cycles on Arrandale and Win64.
44 cycles on SandyBridge.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-10 09:31:27 +02:00
Anton Khirnov
16a4a18db0 af_asyncts: fix offset calculation
delta is in samples, not bytes. Also the sample format is not guaranteed
to be planar.

CC:libav-stable@libav.org
2013-05-10 09:31:27 +02:00
Luca Barbato
72fbc9685c avconv: use current syntax for the scale filter 2013-05-10 08:26:04 +02:00
Michael Niedermayer
500220a8e8 mimic: Fix race condition
Fixes access after free.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 01:40:24 +02:00
Michael Niedermayer
8ef453ff83 sws/output: silence warnings about uninitialized use of variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-10 01:33:57 +02:00
Paul B Mahol
13cb6ed3c4 takdec: simplify use of scalarproduct_int16 in decode_subframe()
Makes decoding little faster.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-09 20:36:58 +00:00
Carl Eugen Hoyos
43b6482d0a Add fate test for solid colour lagarith frames. 2013-05-09 17:18:12 +02:00
Clément Bœsch
4db84bac13 lavfi/opencl: replace SHIFTUP with FF_CEIL_RSHIFT. 2013-05-09 16:59:43 +02:00
Clément Bœsch
f0250cc463 lavfi/overlay: simpler up-rounded w/h computations. 2013-05-09 16:59:43 +02:00
Clément Bœsch
570d63eef3 lavu: add FF_CEIL_RSHIFT and use it in various places. 2013-05-09 16:59:42 +02:00
Michael Niedermayer
d9cb1e0e15 ffadler: fix duplicate \n on errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 16:54:04 +02:00
Paul B Mahol
88e0e2054d lavfi: remove alphaextract special code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-09 14:53:21 +00:00
Michael Niedermayer
a11593189b ffadler: add multifile support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 16:21:25 +02:00
Michael Niedermayer
3d66ce17b7 tools: Add adler32 checksum tool
This is about 6 times faster than md5sum on linux

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 16:21:17 +02:00
Luca Barbato
ee9a4dff4a mmf: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-09 16:12:58 +02:00
Paul B Mahol
d1cb559a6a fate: add test for lut filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-09 10:37:58 +00:00
Michael Niedermayer
769efe56b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Remove unused argument from QPEL_OP macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:55:46 +02:00
Michael Niedermayer
696f5f98e2 Merge commit '6e9f8d6a7d7392a236df19fef6f4eba41f18167e'
* commit '6e9f8d6a7d7392a236df19fef6f4eba41f18167e':
  x86: vf_yadif: Remove stray dsputil_mmx #include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:51:40 +02:00
Michael Niedermayer
bda5487d92 Merge commit '3d40c1ee742db5f13ebcf53c2d1fa4bf4f39bcd2'
* commit '3d40c1ee742db5f13ebcf53c2d1fa4bf4f39bcd2':
  x86: dsputil: Move TRANSPOSE4 macro to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:43:00 +02:00
Michael Niedermayer
164899c6e8 Merge commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57'
* commit '71469f3b636fbe06b6aca5933f9fdebddd8d5f57':
  x86: dsputil: Move constant declarations into separate header

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:36:29 +02:00
Michael Niedermayer
5747d835c7 Merge commit 'ed880050edf061b38d3e39e25657c59ad9108b27'
* commit 'ed880050edf061b38d3e39e25657c59ad9108b27':
  x86: dsputil: Group all assembly constants together in constants.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:23:40 +02:00
Michael Niedermayer
3469c24a10 Merge commit '87614667606b42476f9017d79faf12b45a0bd77c'
* commit '87614667606b42476f9017d79faf12b45a0bd77c':
  x86: dsputil: Move ff_pd assembly constants to the only place they are used

Conflicts:
	libavcodec/x86/lpc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-09 11:01:14 +02:00
Michael Niedermayer
e4723a82f7 avfilter: fix 2 warnings about discarding const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer
33ff943f70 ffmpeg: add -apad option which injects a apad filter only in the presence of video streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer
410905f7fd ffmpeg: use av_freep() for forced_kf_pts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer
1e1015f330 avfilter/af_apad: Support AVFILTER_FLAG_SUPPORT_TIMELINE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Michael Niedermayer
df9f9caba5 avfilter: Make enabled/disabled state available as a field of the AVFilterContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 23:55:06 +02:00
Paul B Mahol
c4a5499d25 lavfi/extractplanes: packed rgb support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 19:28:30 +00:00
Paul B Mahol
8245520b88 lavfi/colorchannelmixer: remove now redudant code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 19:24:23 +00:00
Paul B Mahol
deef4b1ac9 lavfi/drawutils: add 16 bit rgb and planar rgb to ff_fill_rgba_map()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 19:24:23 +00:00
Diego Biurrun
f243bf7aa2 x86: dsputil: Remove unused argument from QPEL_OP macro 2013-05-08 18:18:58 +02:00
Diego Biurrun
6e9f8d6a7d x86: vf_yadif: Remove stray dsputil_mmx #include 2013-05-08 18:18:23 +02:00
Diego Biurrun
3d40c1ee74 x86: dsputil: Move TRANSPOSE4 macro to the only place it is used 2013-05-08 18:18:23 +02:00
Diego Biurrun
71469f3b63 x86: dsputil: Move constant declarations into separate header 2013-05-08 18:18:23 +02:00
Paul B Mahol
8e2972274e lavfi/null: remove redudant lines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol
443181c0a9 libswscale: simplify isAnyRGB macro
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol
94ff68ccb3 lavfi/lut: add support for YUVA422P and YUVA444P
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol
1f2baec7bd lavfi: add gbrap support to some filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Paul B Mahol
5c057433cc libswscale: GBRAP input & output and GBRAP16 input support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-08 12:48:05 +00:00
Michael Niedermayer
8d9537228f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  msvc: Move linker pragma from config.h to libavutil/internal.h

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:32:43 +02:00
Michael Niedermayer
63208c034b Merge commit 'bd392785a75d7d51414a9788d50396a8d9f29d77'
* commit 'bd392785a75d7d51414a9788d50396a8d9f29d77':
  fate-run: Drop unnecessary regtest() indirection

Conflicts:
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:21:39 +02:00
Michael Niedermayer
e3869dd17e Merge commit '1b343cedd7cd68e7865aa5280d1568c7e5d79917'
* commit '1b343cedd7cd68e7865aa5280d1568c7e5d79917':
  x86: dsputil: Remove unused ff_pb_3F constant
  x86: dsputil: Remove unused MOVQ_BONE macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:13:48 +02:00
Michael Niedermayer
69d2eff5af Merge commit '63bac48f734fc69cca2ef2cfada92cd9a222734d'
* commit '63bac48f734fc69cca2ef2cfada92cd9a222734d':
  x86: dsputil: Move rv40-specific functions where they belong

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_mmx.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:08:00 +02:00
Michael Niedermayer
2f9ef60c97 Merge commit '92f8e06ecb431a427ea13d794e5a6bc927a034d2'
* commit '92f8e06ecb431a427ea13d794e5a6bc927a034d2':
  x86: dsputil hpeldsp: Move shared template functions into separate object

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 14:01:58 +02:00
Michael Niedermayer
bf18810a21 Merge commit '7edaf4edb5c3c04f34ad1242680cbc32d11f4087'
* commit '7edaf4edb5c3c04f34ad1242680cbc32d11f4087':
  x86: rnd_template: Eliminate pointless OP_AVG macro indirection

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:55:31 +02:00
Michael Niedermayer
f302ba4dda Merge commit 'db9aee6ccf183508835acc325f5ad87d595eacc4'
* commit 'db9aee6ccf183508835acc325f5ad87d595eacc4':
  oma: properly forward errors in oma_read_packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:41:45 +02:00
Michael Niedermayer
d13bc208da Merge commit '6f98508e2b86dcb79614d8c9b8e97c5e83a21cb0'
* commit '6f98508e2b86dcb79614d8c9b8e97c5e83a21cb0':
  oma: return meaningful errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:37:26 +02:00
Michael Niedermayer
fe6a36e768 Merge commit 'e55e8b2c362a60bad66929d83d8c83b0d7f5ffc9'
* commit 'e55e8b2c362a60bad66929d83d8c83b0d7f5ffc9':
  lavc: do not leak frames in avcodec_decode_audio4

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 13:25:19 +02:00
Michael Niedermayer
9818bbde53 Merge commit 'e0c53c3408181d2e7d544eb65fc7355a79438dfe'
* commit 'e0c53c3408181d2e7d544eb65fc7355a79438dfe':
  nut: use meaningful error values
  FATE: use a less ambiguous end time for filter-trim-time test

Conflicts:
	libavformat/nutdec.c
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:47:54 +02:00
Michael Niedermayer
1aed0513a1 configure: use shorter variable name for "libavdevice_pc_deps"
This is in line with the new name for the libavfilter variable.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:38:01 +02:00
Michael Niedermayer
28397de4df Merge commit '9779f93066ee5ea6fba6b76f001d358cc2857891'
* commit '9779f93066ee5ea6fba6b76f001d358cc2857891':
  configure: add dependencies to lavfi .pc file

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:37:15 +02:00
Michael Niedermayer
bf0547504b Merge commit 'bce70f8170592599a4f2f5f02606c1246e88df57'
* commit 'bce70f8170592599a4f2f5f02606c1246e88df57':
  configure: make avconv select (a)trim filters

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:17:46 +02:00
Michael Niedermayer
42f5fc716e Merge commit '481575d255195c6c2f32e04686b94de984ae78d4'
* commit '481575d255195c6c2f32e04686b94de984ae78d4':
  avconv: remove -deinterlace

Conflicts:
	Changelog
	doc/ffmpeg.texi
	ffmpeg.c
	ffmpeg_opt.c

The merge removes the documentation for the deprecated -deinterlace
the code itself has already been replaced a while ago by code
that inserts yadif, that insertion code is left in place.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 12:07:56 +02:00
Michael Niedermayer
e077ba8016 Merge commit 'a97d8cc16e0da30c9ffefa1ede2a0adf3db5f3f8'
* commit 'a97d8cc16e0da30c9ffefa1ede2a0adf3db5f3f8':
  indeo3: use unaligned reads on reference blocks.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:54:29 +02:00
Michael Niedermayer
1bad40ef27 Merge commit '70f9661542a581dfe93b636b1c55b5558e4a4e3c'
* commit '70f9661542a581dfe93b636b1c55b5558e4a4e3c':
  jpeg2000dec: initialize static data just once

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:46:41 +02:00
Michael Niedermayer
aecb3421f6 Merge commit '45a1694fde251ee56e23aec073d73172c00aa470'
* commit '45a1694fde251ee56e23aec073d73172c00aa470':
  jpeg2000dec: cleanup properly after decoding errors

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:41:54 +02:00
Christophe Gisquet
fc37cd4333 x86: sbrdsp: force PIC addressing for Win64
MSVC complains about the 32bits addressing, while mingw/gcc does not.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 03:07:03 +02:00
Stefano Sabatini
ae0ce99ca4 lavfi/unsharp: use verbal form in help message options 2013-05-08 01:39:12 +02:00
Stefano Sabatini
ee9794ed20 lavu/mem: fix potential int overflow and crash in av_dynarray_add()
Also extend documentation accordingly.
2013-05-08 01:39:12 +02:00
Stefano Sabatini
c773adee3f lavu/mem: extend documentation for av_dynarray_add()
In particular, mention the fact that the amortized element addition cost
is constant.
2013-05-08 01:39:12 +02:00
Michael Niedermayer
c67bca2b5a avcodec/mpegvideo: Fix edge emu with lowres
Fixes a few green artifacts at the top
Fixes rest of Ticket 2535

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 01:18:56 +02:00
Michael Niedermayer
bca50e5cd5 avcodec/mpegvideo: Fix block height for lowres 3 interlaced blocks
Fixes green trash
Fixes part of Ticket2535

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 01:17:45 +02:00
Diego Biurrun
ed880050ed x86: dsputil: Group all assembly constants together in constants.c 2013-05-08 01:04:04 +02:00
Diego Biurrun
8761466760 x86: dsputil: Move ff_pd assembly constants to the only place they are used 2013-05-08 01:04:04 +02:00
Martin Storsjö
06122c2533 msvc: Move linker pragma from config.h to libavutil/internal.h
This makes linking succeed for tools that include config.h but
don't link to libavutil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-08 01:28:25 +03:00
Michael Niedermayer
bc0cbaca62 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi: add comments to explain the negotiation loop.
  lavfi: fix filter format negotiation loop.
  ffmpeg: move a local variable definition later.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 23:52:39 +02:00
Michael Niedermayer
a527e69259 avformat/vqf: check number of channels before use.
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 22:26:56 +02:00
Michael Niedermayer
9dd04f6d8c sanm: Check dimensions before use
Fixes integer overflow and out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 21:59:05 +02:00
Michael Niedermayer
ad002e1a13 avcodec/cdgraphics: check buffer size before use
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 21:06:48 +02:00
Michael Niedermayer
ead590c256 dxa: check vectors of 2x2 motion blocks
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 20:33:46 +02:00
Michael Niedermayer
f96e0eb238 dxa: check vectors of 4x4 motion blocks
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 20:20:14 +02:00
Michael Niedermayer
89d998f1c1 shorten: allocate space for padding
Fixes array overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 20:05:53 +02:00
Diego Biurrun
bd392785a7 fate-run: Drop unnecessary regtest() indirection
The indirection was used to abstract from the different -regression.sh
scripts. Now that only one remains, this indirection is pointless.
2013-05-07 19:27:47 +02:00
Nicolas George
4582e4c086 lavfi: add comments to explain the negotiation loop. 2013-05-07 18:40:51 +02:00
Nicolas George
78d16b6a51 lavfi: fix filter format negotiation loop.
query_formats() returning EAGAIN is not considered a progress
in the format negotiation.

If the filter returns EAGAIN but did set some of its formats
lists, it could be considered a partial success and counted
as progress in the negotiation. Not counting it is not a
problem because it currently only happens in the first round,
where there will always be some progress on the other filters.
2013-05-07 18:40:51 +02:00
Nicolas George
449704b475 ffmpeg: move a local variable definition later.
Fix a segfault when using the -map option without input files.
2013-05-07 18:39:45 +02:00
Diego Biurrun
1b343cedd7 x86: dsputil: Remove unused ff_pb_3F constant 2013-05-07 18:03:35 +02:00
Diego Biurrun
63bac48f73 x86: dsputil: Move rv40-specific functions where they belong 2013-05-07 18:03:35 +02:00
Diego Biurrun
3334cbec0a x86: dsputil: Remove unused MOVQ_BONE macro 2013-05-07 18:03:35 +02:00
Diego Biurrun
92f8e06ecb x86: dsputil hpeldsp: Move shared template functions into separate object 2013-05-07 18:03:34 +02:00
Diego Biurrun
7edaf4edb5 x86: rnd_template: Eliminate pointless OP_AVG macro indirection 2013-05-07 18:03:34 +02:00
Michael Niedermayer
d23b8462b5 gifdec: reset previous Graphic Control Extension disposal type
This fixes out of array accesses.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 17:03:34 +02:00
Clément Bœsch
d3f7b98f87 lavfi/overlay: reindent fix. 2013-05-07 15:43:28 +02:00
Clément Bœsch
5043d8d213 lavfi/alphaextract: copy width and not linesize.
Padding data is not supposed to be copied.
2013-05-07 15:33:49 +02:00
Clément Bœsch
c3dcd3a255 sws: factorize rgb 9+ planar funcs declarations. 2013-05-07 15:23:27 +02:00
Luca Barbato
db9aee6ccf oma: properly forward errors in oma_read_packet
Prevent spurios EIO on EOF.

CC:libav-stable@libav.org
2013-05-07 14:37:32 +02:00
Luca Barbato
6f98508e2b oma: return meaningful errors 2013-05-07 14:37:32 +02:00
Luca Barbato
e55e8b2c36 lavc: do not leak frames in avcodec_decode_audio4
Notwithstanding the return value the frame should be freed if
is not going to be used.

Reported-by: Matthew Wolenetz <wolenetz@chromium.org>
2013-05-07 14:37:32 +02:00
Luca Barbato
e0c53c3408 nut: use meaningful error values
Fix the mispresented EINVAL for EOF on partial files, among the other.
2013-05-07 14:37:32 +02:00
Michael Niedermayer
144baf427a Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Support decoding of Lagarith frame type FRAME_SOLID_COLOR.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 14:21:49 +02:00
Gunther Piez
acc4a7e5b3 Ticket #2540 Enable threading when using -c:v libx264rgb
Signed-off-by: Gunther Piez <gupiez@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 13:38:15 +02:00
Michael Niedermayer
2efbbc4644 avutil/av_pix_fmt_swap_endianness: simplify and fix code
This makes the code also more robust, not having a hard-coded
table that can become (and was) incomplete.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 13:13:09 +02:00
Anton Khirnov
cd4bfe3a50 FATE: use a less ambiguous end time for filter-trim-time test
0.1 seconds at 25 fps is exactly 2.5 frames, which may be rounded either
to 2 or 3 on different platforms.
2013-05-07 12:33:13 +02:00
Anton Khirnov
9779f93066 configure: add dependencies to lavfi .pc file
The scale filter depends on sws, resample on lavr, and movie on lavf and
lavc.

Fixes Bug 502.
2013-05-07 12:32:14 +02:00
Anton Khirnov
bce70f8170 configure: make avconv select (a)trim filters
They are now used for -ss/-t
2013-05-07 12:32:03 +02:00
Anton Khirnov
481575d255 avconv: remove -deinterlace
It is incompatible with refcounted frames and since it's been deprecated
for a long time now, fixing it is not worth the effort.
2013-05-07 12:31:55 +02:00
Anton Khirnov
a97d8cc16e indeo3: use unaligned reads on reference blocks.
They are not guaranteed to be aligned.
Fixes Bug 503.

CC:libav-stable@libav.org
2013-05-07 12:29:56 +02:00
Carl Eugen Hoyos
f381dc1d61 Support decoding of Lagarith frame type FRAME_SOLID_COLOR.
Fixes bug 459.
2013-05-07 11:46:35 +02:00
Michael Niedermayer
9276467bce Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate-jpeg2000-dcinema: force output to xyz12le

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:35:07 +02:00
Michael Niedermayer
fe5b089596 Merge commit '5f87c277bd5caa09cc4f9061d4ccdd58dc121110'
* commit '5f87c277bd5caa09cc4f9061d4ccdd58dc121110':
  vf_scale: add endianness conversion pixel format in query_formats

Conflicts:
	libavfilter/vf_scale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:27:44 +02:00
Michael Niedermayer
dce12f6948 Merge commit '9cfa21c8c2b81146aab574f55c93f27e5c2d435c'
* commit '9cfa21c8c2b81146aab574f55c93f27e5c2d435c':
  swscale: support endianness conversion for AV_PIX_FMT_XYZ12

Conflicts:
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:13:46 +02:00
Michael Niedermayer
2060d94409 Merge commit 'c1eb3e7fecdc270e03a700d61ef941600a6af491'
* commit 'c1eb3e7fecdc270e03a700d61ef941600a6af491':
  swscale: add support for endianness only conversion

Conflicts:
	libswscale/utils.c
	libswscale/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 11:04:07 +02:00
Michael Niedermayer
60fd88059a Merge commit '74652af821d7e526a6541876a637fbf81261fa8e'
* commit '74652af821d7e526a6541876a637fbf81261fa8e':
  pixdesc: add function to return pixel format with swapped endiannes

Conflicts:
	libavutil/pixdesc.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 10:49:40 +02:00
Reimar Döffinger
399f6ef971 Add FATE test for matroska error recovery.
This is the first 2 MB of the official test7.mkv.
That length seems to be enough to detect the bugs
we had in our code so far.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-07 05:30:19 +02:00
Reimar Döffinger
762d4335ae matroska: set "done" only during resync fail.
Fixes playback of test7.mkv validation test file.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-07 05:30:19 +02:00
Matt Wolenetz
004779cc59 avcodec/utils: Fix leak by dereferencing audio frame when side data causes whole frame skip
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-07 01:33:08 +02:00
Michael Niedermayer
974420a701 jpeg2000dec: fix memleaks in error cases in jpeg2000_decode_frame()
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 22:56:22 +02:00
Clément Bœsch
a82cc54fb5 lavf/mpsub: remove sscanf from probing.
This should make probing faster.
2013-05-06 22:50:59 +02:00
Janne Grunau
70f9661542 jpeg2000dec: initialize static data just once 2013-05-06 22:45:47 +02:00
Janne Grunau
45a1694fde jpeg2000dec: cleanup properly after decoding errors
Fixes memory leak in fate-redcode-demux.
2013-05-06 22:27:33 +02:00
Carl Eugen Hoyos
905e1e4b52 Cosmetics: Fix indentation and add braces after last commit. 2013-05-06 21:55:14 +02:00
Carl Eugen Hoyos
8b8fa09b65 vc1dec: Call ff_vdpau_vc1_decode_picture() once for each field.
Fixes mplayer -vc ffvc1vdpau for interlaced streams.
2013-05-06 21:55:14 +02:00
Rainer Hochecker
06d8fdb660 Fix vdpau vc1 interlace modes also when using decoder vc1_vdpau.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-05-06 21:55:14 +02:00
Janne Grunau
851465f9d9 fate-jpeg2000-dcinema: force output to xyz12le
Fixes Fate tests on big-endian configs.
2013-05-06 21:48:15 +02:00
Janne Grunau
5f87c277bd vf_scale: add endianness conversion pixel format in query_formats 2013-05-06 21:48:15 +02:00
Janne Grunau
9cfa21c8c2 swscale: support endianness conversion for AV_PIX_FMT_XYZ12 2013-05-06 21:48:14 +02:00
Michael Niedermayer
b3e9fd1fe5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  swscale: Use alpha from the right row in yuva2rgba_c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:48:03 +02:00
Michael Niedermayer
050b48f397 Merge commit '6c5eac9a603a91a707d030d96ba97e2ef6b3ce50'
* commit '6c5eac9a603a91a707d030d96ba97e2ef6b3ce50':
  swscale: Remove unnecessary backslashes
  jpeg2000: Fix uninitialized data errors pointed out by valgrind/memcheck

Conflicts:
	libavcodec/jpeg2000dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:23:29 +02:00
Nicolas Bertrand
a06f0cef5b jpeg2000: fix for uninitialized data errors in valgrind/memcheck
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:14:19 +02:00
Michael Niedermayer
108e2ae829 Merge commit '110796739ab32854dc0b6b0a1c95e6ae98889062'
* commit '110796739ab32854dc0b6b0a1c95e6ae98889062':
  x86: hpeldsp: Move avg_pixels8_x2_mmx() out of hpeldsp_rnd_template.c

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:00:40 +02:00
Michael Niedermayer
a6e782434a Merge commit 'dc1b328d0df6e5ad5ff0ca4ae031e08466624f9c'
* commit 'dc1b328d0df6e5ad5ff0ca4ae031e08466624f9c':
  x86: hpeldsp: Only compile MMX hpeldsp code if MMX is enabled

Conflicts:
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 20:53:37 +02:00
Michael Niedermayer
32cc7dacde Merge commit '9e5e76ef9ea803432ef2782a3f528c3f5bab621e'
* commit '9e5e76ef9ea803432ef2782a3f528c3f5bab621e':
  x86: More specific ifdefs for dsputil/hpeldsp init functions

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 20:46:27 +02:00
Janne Grunau
c1eb3e7fec swscale: add support for endianness only conversion
Use bitfields in FormatEntry array to avoid wasting an int for each flag.
2013-05-06 18:55:58 +02:00
Janne Grunau
74652af821 pixdesc: add function to return pixel format with swapped endiannes 2013-05-06 18:51:47 +02:00
Michael Niedermayer
8cdf95d9b8 snow: add av_cold where appropriate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:58:17 +02:00
Michael Niedermayer
f4341c64be avfilter: add av_cold to uninit()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:55:06 +02:00
Martin Storsjö
6e293d111f swscale: Use alpha from the right row in yuva2rgba_c
Every other pixel had the alpha channel taken from the wrong
row.

This fixes bug 504.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-06 17:40:25 +03:00
Martin Storsjö
6c5eac9a60 swscale: Remove unnecessary backslashes
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-06 17:40:19 +03:00
Michael Niedermayer
d2bf8aecd3 j2kdec: frame multithreading support
This allows comparing the 2 decoders with threads

Based on:commit 2e2d24667a
By: Nicolas Bertrand <nicoinattendu@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:38:03 +02:00
highgod0401
b02f073ad4 lavfi/deshake_opencl: use ff_opencl_set_parameter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 16:30:22 +02:00
Nicolas Bertrand
28816f9db8 jpeg2000: Fix uninitialized data errors pointed out by valgrind/memcheck
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-06 13:07:00 +02:00
Michael Niedermayer
0b5f4fdc38 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Remove a superfluous include from libavcodec/options_table.h.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 12:43:08 +02:00
Carl Eugen Hoyos
76f43cbe26 Remove a superfluous include from libavcodec/options_table.h. 2013-05-06 12:16:50 +02:00
highgod0401
e215cb5e96 lavfi/unsharp_opencl: use av_opencl_errstr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 12:08:22 +02:00
highgod0401
41aa199998 lavu/opencl_internal: use av_opencl_errstr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 12:08:04 +02:00
highgod0401
9a09a9fc43 lavfi/unsharp: fix opencl crash on 64bit linux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 11:45:40 +02:00
Diego Biurrun
110796739a x86: hpeldsp: Move avg_pixels8_x2_mmx() out of hpeldsp_rnd_template.c
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-06 11:02:08 +02:00
Diego Biurrun
dc1b328d0d x86: hpeldsp: Only compile MMX hpeldsp code if MMX is enabled 2013-05-06 11:02:08 +02:00
Diego Biurrun
9e5e76ef9e x86: More specific ifdefs for dsputil/hpeldsp init functions 2013-05-06 11:02:07 +02:00
Michael Niedermayer
09602dbe7a wav_seek_tag: fix integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:58:31 +02:00
Michael Niedermayer
5cb9093aa8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wav: Always seek to an even offset

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:47:49 +02:00
Michael Niedermayer
77c85cbd9d Merge commit '46c1917350f58dfab84e41919e6c02d43950db8c'
* commit '46c1917350f58dfab84e41919e6c02d43950db8c':
  nut: use a define for the nut version
  bgmc: Do not mark ff_bgmc_decode_init() as av_cold

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:41:43 +02:00
Michael Niedermayer
b50ab3a4c7 Merge commit 'bd8ac882140a38868c33c000a430a1292a352533'
* commit 'bd8ac882140a38868c33c000a430a1292a352533':
  avcodec: Add av_cold attributes to end functions missing them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:28:27 +02:00
Michael Niedermayer
5c2ccf83df Merge commit '7abd35a1ffaecfd79fa07b801621ee11ab595c43'
* commit '7abd35a1ffaecfd79fa07b801621ee11ab595c43':
  avformat: Add av_cold attributes to init functions missing them

Conflicts:
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 10:19:56 +02:00
Luca Barbato
ac87eaf856 wav: Always seek to an even offset
RIFF chunks are aligned to 16bit according to the specification.

Bug-Id:500
CC:libav-stable@libav.org
2013-05-06 09:14:43 +02:00
Luca Barbato
46c1917350 nut: use a define for the nut version
Ease switching version in the future and make evident why that value.
2013-05-06 09:14:43 +02:00
Paul B Mahol
f5846dc98c id3v2: stop ignoring text encoding for chapter titles
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-06 00:54:13 +00:00
Michael Niedermayer
5a9e376049 h264: check mb_width/height
Fixes inconsistency that leads to out of array accesses with threads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 01:58:10 +02:00
Michael Niedermayer
edabbfbaf2 ff_h264_decode_seq_parameter_set: dont set h->sps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:37:47 +02:00
Michael Niedermayer
26482ae716 h264_sei/decode_picture_timing: do not depend on h->sps being set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:35:25 +02:00
Michael Niedermayer
ccdaa31d86 ff_h264_decode_picture_parameter_set: fix return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:01:47 +02:00
Michael Niedermayer
dc35b77b28 ff_h264_decode_picture_parameter_set: use the correct sps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:01:05 +02:00
Diego Biurrun
2d5fd7886a bgmc: Do not mark ff_bgmc_decode_init() as av_cold
The function is possibly called once per block.
2013-05-05 20:51:52 +02:00
Diego Biurrun
bd8ac88214 avcodec: Add av_cold attributes to end functions missing them 2013-05-05 20:51:28 +02:00
Carl Eugen Hoyos
7c23922c2b Cosmetics: Reindent Sierra vmd demuxer after last commit. 2013-05-05 19:56:46 +02:00
Carl Eugen Hoyos
4ec509ce3d Support demuxing of audio-only vmd files.
Reviewed-by: Paul B Mahol
2013-05-05 19:52:30 +02:00
Carl Eugen Hoyos
a07ac1f788 Fix type of shared flac table ff_flac_blocksize_table[].
Fixes ticket #2533.
2013-05-05 19:29:00 +02:00
Diego Biurrun
7abd35a1ff avformat: Add av_cold attributes to init functions missing them 2013-05-05 18:33:04 +02:00
Michael Niedermayer
2d8dddd926 Merge branch 'vdpau' of https://github.com/FernetMenta/FFmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 16:28:18 +02:00
Michael Niedermayer
fb90e7b86d configure: Use the tool specified with --valgrind instead of a hardcoded "valgrind"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 16:22:44 +02:00
Michael Niedermayer
54021aea57 configure: set valgrind-memcheck toolchain when --valgrind is specified
This avoids duplicating the default command line arguments

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 16:21:57 +02:00
Rainer Hochecker
fe1f36547d register AV_PIX_FMT_VDPAU for hwaccel 2013-05-05 16:15:41 +02:00
Rainer Hochecker
b37cc5995b fix vdpau vc1 interlace modes 2013-05-05 15:12:59 +02:00
Michael Niedermayer
cdfa1c89b7 avcodec: Set frame.width/height on all exit pathes of ff_get_buffer()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 14:23:16 +02:00
highgod0401
548101b553 lavu/opencl: add opencl public error API
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:44:29 +02:00
Michael Niedermayer
097f668047 avformat: replace "AVPROBE_SCORE_MAX / X" by AVPROBE_SCORE_EXTENSION / Y
Demuxers where the changed code looked less readable where skiped

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:34:56 +02:00
Michael Niedermayer
a1f234be11 make the ordering of the return type and av_cold consistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:13:00 +02:00
Michael Niedermayer
35623d833e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for getenv

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:05:45 +02:00
Michael Niedermayer
d5dbd84c9a Merge commit '2b677ffca54a5fbef9c8860841c32f28ecd68f70'
* commit '2b677ffca54a5fbef9c8860841c32f28ecd68f70':
  swscale: Add av_cold attributes to init functions missing them

Conflicts:
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:00:21 +02:00
Michael Niedermayer
3c200aa693 Merge commit '1fda184a85178cfd7b98d9e308d18e1ded76a511'
* commit '1fda184a85178cfd7b98d9e308d18e1ded76a511':
  avutil: Add av_cold attributes to init functions missing them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:53:50 +02:00
Michael Niedermayer
e7f8493fd8 Merge commit '20c86571ccc71412781d4a4813e4693e0c42aec6'
* commit '20c86571ccc71412781d4a4813e4693e0c42aec6':
  lavfi: let gcc realign the stack on public graph driving functions

Conflicts:
	libavfilter/buffersink.c
	libavfilter/buffersrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:48:25 +02:00
Michael Niedermayer
fdccb84e3b Merge commit 'c0c2b96c136ec2cbfd808eefc26de399f447d62f'
* commit 'c0c2b96c136ec2cbfd808eefc26de399f447d62f':
  sctp: Add a note on why sctp_recvmsg and sctp_sendmsg have ff_-prefixes
  avs: Increase magic value score above file extension score

Conflicts:
	libavformat/avs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:41:36 +02:00
Michael Niedermayer
f083b4c338 Merge commit 'e0f8be6413b6a8d334d6052e610af32935c310af'
* commit 'e0f8be6413b6a8d334d6052e610af32935c310af':
  avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate

Conflicts:
	libavformat/ac3dec.c
	libavformat/avformat.h
	libavformat/avs.c
	libavformat/m4vdec.c
	libavformat/mov.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegvideodec.c
	libavformat/psxstr.c
	libavformat/pva.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:31:03 +02:00
Michael Niedermayer
77570facdb Merge commit '4d7ed3e73541983459a7913c2034eba69ebc113d'
* commit '4d7ed3e73541983459a7913c2034eba69ebc113d':
  build: output-example: Add avutil to ELIBS in link command

Conflicts:
	libavformat/Makefile

No change as our example build code doesnt have this bug

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 12:00:24 +02:00
Michael Niedermayer
b507c00dc0 Merge commit 'e445647b4fdf481b13b2743b303d84de4f43bedd'
* commit 'e445647b4fdf481b13b2743b303d84de4f43bedd':
  avresample: Add av_cold attributes to init functions missing them

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:50:37 +02:00
Michael Niedermayer
a8ff830b79 Merge commit '093804a93cc5da3f95f98265a5df116912443cec'
* commit '093804a93cc5da3f95f98265a5df116912443cec':
  avfilter: Add av_cold attributes to init/uninit functions

Conflicts:
	libavfilter/af_ashowinfo.c
	libavfilter/af_volume.c
	libavfilter/src_movie.c
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:42:18 +02:00
Michael Niedermayer
0aa095483d Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'
* commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487':
  avcodec: Add av_cold attributes to init functions missing them

Conflicts:
	libavcodec/aacpsy.c
	libavcodec/atrac3.c
	libavcodec/dvdsubdec.c
	libavcodec/ffv1.c
	libavcodec/ffv1enc.c
	libavcodec/h261enc.c
	libavcodec/h264_parser.c
	libavcodec/h264dsp.c
	libavcodec/h264pred.c
	libavcodec/libschroedingerenc.c
	libavcodec/libxvid_rc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/proresdsp.c
	libavcodec/rangecoder.c
	libavcodec/videodsp.c
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:34:29 +02:00
Michael Niedermayer
057c5d2e16 Merge commit '72e228b274a98af1aba9588415d0cd87fde44663'
* commit '72e228b274a98af1aba9588415d0cd87fde44663':
  nut: K&R formatting cosmetics

Conflicts:
	libavformat/nut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:19:12 +02:00
Michael Niedermayer
86c9cf643b configure: fix valgrind-memcheck arguments
They now match the --valgrind arguments

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:52:39 +02:00
Michael Niedermayer
4451be5ce1 Merge commit 'b1ee8eec849f17fce2f411a297de9cbf2edaeb3a'
* commit 'b1ee8eec849f17fce2f411a297de9cbf2edaeb3a':
  configure: Add basic valgrind-memcheck support

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:47:19 +02:00
Michael Niedermayer
336ffb8377 Merge commit '95e8ac60f8b7317ce23c648250fdc8fb68d65a07'
* commit '95e8ac60f8b7317ce23c648250fdc8fb68d65a07':
  build: normalize coverage.info

Conflicts:
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:36:23 +02:00
Michael Niedermayer
fbede75a25 Merge commit '768e44d044bc32de1e58c198a3708d186af7e966'
* commit '768e44d044bc32de1e58c198a3708d186af7e966':
  build: tune down the output of lcov/gcov

Conflicts:
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 10:18:41 +02:00
Reimar Döffinger
d82729e5d9 Detect and skip mj2-style jp2c header.
This this fixes one of the issues with
http://blogs.bu.edu/mhirsch/files/2012/08/Rotate180CCW-checkerboard.mj2_.zip
and at least allows to demux the file properly instead
of failing during probing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-05 10:01:22 +02:00
Reimar Döffinger
3bb1c58e95 Avoid incorrect deprecated pixel format warning.
Should only be printed if a "JPEG" format was used,
not for e.g. XYZ.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-05 10:01:22 +02:00
Claudio Freire
1ef82cc60d AAC encoder: Fix rate control on twoloop.
Fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.
Now fixed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 04:19:34 +02:00
Claudio Freire
c545876d1b AAC encoder: Fixed a rounding bug in psy's channel bitrate computation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 01:24:57 +02:00
Michael Niedermayer
adaa7743f5 src_movie: fix scanf string
Fixes out of array accesses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 00:56:39 +02:00
Michael Niedermayer
369a120826 xbmdec: fix off by one error in scanf()
Fixes out of array access

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 00:27:18 +02:00
Martin Storsjö
2cca96e670 configure: Check for getenv
When targeting the "windows store application" (metro) API subset
(or the windows phone API subset), the getenv function isn't
available. If it is unavailable, just define getenv to NULL.

The check uses check_func_headers, since the function actually
might exist in the libraries, but is hidden in the headers.

The fallback is in config.h since msvc can't do -D defines with
parameters on the command line, and it's used both within the
libraries and the frontend applications (so a libavutil internal
header wouldn't be enough).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-04 23:58:59 +03:00
Diego Biurrun
2b677ffca5 swscale: Add av_cold attributes to init functions missing them 2013-05-04 22:48:05 +02:00
Diego Biurrun
1fda184a85 avutil: Add av_cold attributes to init functions missing them 2013-05-04 22:48:05 +02:00
Hendrik Leppkes
20c86571cc lavfi: let gcc realign the stack on public graph driving functions
The functions which actually drive the filter graph by pushing
frames through it need to ensure an aligned stack for SIMD functions.

This fixes a crash in YADIF filter when using a mingw build in a MSVC
application.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-04 23:40:13 +03:00
Diego Biurrun
c0c2b96c13 sctp: Add a note on why sctp_recvmsg and sctp_sendmsg have ff_-prefixes 2013-05-04 22:22:17 +02:00
Diego Biurrun
a8a45dfe25 avs: Increase magic value score above file extension score
This should fix misdetection of AVS files as AviSynth scripts
when AviSynth support is enabled (Bugzilla #357).
2013-05-04 21:51:00 +02:00
Diego Biurrun
e0f8be6413 avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate 2013-05-04 21:43:06 +02:00
Diego Biurrun
4d7ed3e735 build: output-example: Add avutil to ELIBS in link command
output-example links against swscale, which depends on avutil.  In standard
configurations, by pure good luck, the libs before swscale pull in all of
swscale's dependencies and linking succeeds.  However, in some configurations
like --disable-asm this is not the case and linking fails.

Hardcode the dependency to avoid a more general Makefile refactoring.
2013-05-04 21:19:49 +02:00
Diego Biurrun
e445647b4f avresample: Add av_cold attributes to init functions missing them 2013-05-04 21:10:05 +02:00
Diego Biurrun
093804a93c avfilter: Add av_cold attributes to init/uninit functions 2013-05-04 21:10:05 +02:00
Diego Biurrun
6fee1b90ce avcodec: Add av_cold attributes to init functions missing them 2013-05-04 21:09:45 +02:00
Michael Niedermayer
c40f51e15b h264: Always decode MMCOs into temprary array
When decoding succeeded the array is copied into the permanent one.
This prevents inconsistencies
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 20:23:05 +02:00
Luca Barbato
72e228b274 nut: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-04 20:01:08 +02:00
Michael Niedermayer
30db867cb7 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavf/matroskaenc: return an error for unsupported types.
  lavf/concatdec: remove invalid check for AVSEEK_FLAG_BACKWARD.
  lavf: filter out AVSEEK_FLAG_BACKWARD in new API.
  lavf: call the new seek API from the old.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 17:10:48 +02:00
Michael Niedermayer
c7a7605656 wmaprodec: Fix null pointer dereference in decode_frame()
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 16:51:01 +02:00
Michael Niedermayer
e9e207ece7 dfa: Put our pointer check back.
The reimplementation by Libav does not prevent out of array
writes, even though it looks like it does at a quick glance.

No FFmpeg releases are affected by this

See: d1c95d2ce3
     3623589edc
     740ebe468c

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 14:42:19 +02:00
Nicolas George
fa245e432b lavf/matroskaenc: return an error for unsupported types. 2013-05-04 14:12:57 +02:00
Nicolas George
d608a27d9e lavf/concatdec: remove invalid check for AVSEEK_FLAG_BACKWARD. 2013-05-04 14:11:53 +02:00
Nicolas George
3fc66dfef2 lavf: filter out AVSEEK_FLAG_BACKWARD in new API.
Also document that it has no effect.
2013-05-04 14:11:53 +02:00
Nicolas George
cc24afb45c lavf: call the new seek API from the old.
If the demuxer implements read_seek2() and not read_seek(),
call avformat_seek_file() from av_seek_frame().
Allow to properly seek in formats that only implement the
new API from applications that use the old one.
Tested with mplayer and a concat script.
2013-05-04 14:11:53 +02:00
Hendrik Leppkes
d18341fb11 aacdec: free frame buffer if no audio was decoded
If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.

Fixes part of ticket #2095

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 13:20:19 +02:00
Reinhard Tartler
b1ee8eec84 configure: Add basic valgrind-memcheck support
With the parameter --valgrind-memcheck, the configure script sets
reasonable defaults that can be overridden as explained in the
documentation.

The idea of using set_defaults is from Luca Barbato.
2013-05-04 12:17:51 +02:00
Michael Niedermayer
23a7c32a7a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wav: return meaningful errors

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:33:50 +02:00
Michael Niedermayer
0104570fb6 Merge commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7'
* commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7':
  silly typo fixes

Conflicts:
	doc/protocols.texi
	libavcodec/aacpsy.c
	libavformat/utils.c
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:17:52 +02:00
Michael Niedermayer
711c8ee71d Merge commit '4a7af92cc80ced8498626401ed21f25ffe6740c8'
* commit '4a7af92cc80ced8498626401ed21f25ffe6740c8':
  sbrdsp: Unroll and use integer operations
  sbrdsp: Unroll sbr_autocorrelate_c
  x86: sbrdsp: Implement SSE2 qmf_deint_bfly

Conflicts:
	libavcodec/sbrdsp.c
	libavcodec/x86/sbrdsp.asm
	libavcodec/x86/sbrdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:07:43 +02:00
Reinhard Tartler
95e8ac60f8 build: normalize coverage.info
Without this, lcov sometimes misses to normalize paths that contain "/./".
Also, ignore uninteresting hits in system headers.
2013-05-04 09:34:58 +02:00
Reinhard Tartler
768e44d044 build: tune down the output of lcov/gcov
In the default settings, both tools produce a lot of unhelpful noise.
2013-05-04 09:34:58 +02:00
Michael Niedermayer
f18d2dff11 evrcdec: fix sign error
The specification wants round(abs(x))) * sign(x) which is
equivakent to round(x)

Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 02:50:30 +02:00
Michael Niedermayer
64819bfc7a snow: Fix off by 1 error in reference picture management
Fixes out of array accesses
No release is affected by this bug

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 01:19:48 +02:00
Michael Niedermayer
e756635964 eamad: Check against minimum supported dimensions
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 23:17:37 +02:00
Paul B Mahol
b937d3694e doc/filters: document asetpts in single place
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-03 18:22:29 +00:00
Luca Barbato
69467fb64b wav: return meaningful errors 2013-05-03 19:56:06 +02:00
Paul B Mahol
e6d4e68755 lavu: add planar 16 bit and 8 bit rgb with alpha
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-03 16:58:22 +00:00
Stefano Sabatini
f51aa92b0f lavfi/testsrc: add support for color interactive command 2013-05-03 18:37:54 +02:00
Paul B Mahol
ce322f4c19 extractplanes filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-03 16:30:39 +00:00
Diego Biurrun
a5f8873620 silly typo fixes 2013-05-03 18:26:12 +02:00
Christophe Gisquet
4a7af92cc8 sbrdsp: Unroll and use integer operations
This patch can be controversial, by assuming floats are IEEE-754 and
particular behaviour of the FPU will get in the way.
Timing on Arrandale and Win32 (thus, x87 FPU is used in the reference).

sbr_qmf_pre_shuffle_c: 115 to 76
sbr_neg_odd_64_c: 84 to 55
sbr_qmf_post_shuffle_c: 112 to 83

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:30 +02:00
Christophe Gisquet
8394d9a676 sbrdsp: Unroll sbr_autocorrelate_c
1410 cycles to 1148 on Arrandale/Win64

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:30 +02:00
Christophe Gisquet
5a97469a4f x86: sbrdsp: Implement SSE2 qmf_deint_bfly
Sandybridge: 47 cycles

Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:14 +02:00
Michael Niedermayer
d29f9f4a0e vc1dec: fix lutuv use in vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:09:15 +02:00
Michael Niedermayer
7e30bfcb91 vc1dec: Fix mixed field/frame intensity compensation
Fixes Ticket2523

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:04:48 +02:00
Michael Niedermayer
90c2e40ebb vc1dec: vc1_mc_4mv_chroma4: match addressing between compensation and MC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:04:48 +02:00
Clément Bœsch
e85ea7d387 lavfi/frei0r: fix crash when parameters are not set. 2013-05-03 17:08:33 +02:00
Michael Niedermayer
760f7d3a90 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  compat: msvc: Make sure the object files are included when linking statically
  id3v2: check for end of file while unescaping tags

Conflicts:
	configure
	libavformat/id3v2.c

Note, ffmpeg is not affected by the out of buffer write bug

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:50:01 +02:00
Michael Niedermayer
0966623604 ffmpeg: drop old non monotone dts workaround.
All bugs should now be fixed in the new so the old can be droped.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:04:47 +02:00
Michael Niedermayer
af2d964336 ffmpeg: set correct log context for non monotone dts workaround warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:03:35 +02:00
Michael Niedermayer
b2a1d92b7b ffmpeg: port loglevel selection code to new dts workaround code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:02:43 +02:00
Michael Niedermayer
30c05f6b02 ffmpeg: fix pts handling in the non monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 15:00:21 +02:00
Michael Niedermayer
007ee09d7c ffmpeg: fix the used maximum dts in the monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:58:28 +02:00
Michael Niedermayer
26b89f6274 ffmpeg: use a max variable to hold the maximum dts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:57:05 +02:00
Michael Niedermayer
6b2fbdb047 ffmpeg: Check dts before use in non monotone dts workaround
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:55:20 +02:00
Michael Niedermayer
ee3824f6f6 ffmpeg: limit non monotone workaround to audio & video streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:55:12 +02:00
Michael Niedermayer
9fe2a62cc4 ffmpeg: move non monotone prevention code down
This moves the code to after the bitstream filters

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:52:37 +02:00
Michael Niedermayer
2b7f595aca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: do not send non-monotonous DTS to the muxers.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 14:52:03 +02:00
Michael Niedermayer
22dc25cb29 Merge commit 'b4a5a292274f904f404f40f826c51e6fc9cfb8fe'
* commit 'b4a5a292274f904f404f40f826c51e6fc9cfb8fe':
  avconv: improve -re implementation

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:53:08 +02:00
Michael Niedermayer
6537827189 Merge commit 'e3b225a4fe0ff1e64a220b757c6f0a5cf9258521'
* commit 'e3b225a4fe0ff1e64a220b757c6f0a5cf9258521':
  matroskaenc: add an option to put the index at the start of the file

Conflicts:
	doc/muxers.texi
	libavformat/matroskaenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:16:34 +02:00
Michael Niedermayer
2e0cc34292 Merge commit '0574bc06d23a6690a16c5926dddc9be359a3d7bb'
* commit '0574bc06d23a6690a16c5926dddc9be359a3d7bb':
  matroskaenc: cosmetics, reorder the #includes

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:09:23 +02:00
Michael Niedermayer
9fd5e75bdf Merge commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a'
* commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a':
  vc1_parser: Set field_order.
  mpegvideo_parser: Set field_order.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:03:00 +02:00
Martin Storsjö
769d921f3e compat: msvc: Make sure the object files are included when linking statically
If building libav with -MD in the cflags (for making the MSVC compiler
generate code for using a dynamically linked libc), the system headers
that declare strtod, snprintf and vsnprintf declare the functions as
imported from a DLL. To hook up wrappers of our own for these functions,
the function names are defined to avpriv_*, so that the calling code
within libav calls the wrappers instead. Since these functions
are declared to be imported from DLLs, the calling code expects to
load them from DLL import function pointers (creating references to
_imp__avpriv_strtod instead of directly to avpriv_strtod). If the
libav libraries are not built as DLLs, no such function pointers (as
the calling code expects) are created.

The linker can fix this up automatically in some cases (producing
warnings LNK4217 and LNK4049), if the object files are already
included. By telling the linker to try to include those symbols
(without the _imp prefix as the calling code ends up using),
we get the object files included, so that the linker can do the
automatic fixup. This is done via config.h, so that all (or at least
most) of the object files in our libraries force including the compat
files, to make sure they are included regardless of what files from our
static libraries actually are included.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-03 13:34:34 +03:00
Michael Niedermayer
6fc58a8cb6 Merge commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5'
* commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5':
  avcodec: Add field order information to AVCodecParserContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 12:15:01 +02:00
Michael Niedermayer
e91339cde2 Merge commit '566b7a20fd0cab44d344329538d314454a0bcc2f'
* commit '566b7a20fd0cab44d344329538d314454a0bcc2f':
  x86: float dsp: butterflies_float SSE

Conflicts:
	libavutil/x86/float_dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:57:59 +02:00
Michael Niedermayer
550defe16e Merge commit 'b333f3a22a4db4cf65d6a0457ac82ecbe7c7ac44'
* commit 'b333f3a22a4db4cf65d6a0457ac82ecbe7c7ac44':
  lavf-regression: use -frames instead of -t for image tests

Conflicts:
	tests/lavf-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:41:48 +02:00
Michael Niedermayer
2ee29b5fb9 avcodec: move lowres down with the next ABI bump and add accessors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:32:04 +02:00
Michael Niedermayer
88ef7f6d2b Merge commit '803d21f38bdafe7c4e2571a9ae7052013a12923b'
* commit '803d21f38bdafe7c4e2571a9ae7052013a12923b':
  lavc: schedule AVCodecContext.lowres for removal on next bump.

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:30:00 +02:00
Michael Niedermayer
6190aae90d Merge commit 'ffb068ce8e99df121d18a5b9b1d820f3ea8697fb'
* commit 'ffb068ce8e99df121d18a5b9b1d820f3ea8697fb':
  configure: Don't do enable_deep_weak on disabled variables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:17:02 +02:00
Michael Niedermayer
085a4e6b16 Merge commit '4d810ad2e943a59658ddf00a397121c2b62f7157'
* commit '4d810ad2e943a59658ddf00a397121c2b62f7157':
  configure: Use a different variable name in push/popvar

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:11:44 +02:00
Michael Niedermayer
482c1ac849 Merge commit '13f57a4d881ec669b87bf82f424bfff502433060'
* commit '13f57a4d881ec669b87bf82f424bfff502433060':
  wav: K&R formatting cosmetics

Conflicts:
	libavformat/wavdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:06:27 +02:00
Michael Niedermayer
1ba4cbf734 Merge commit '6b753015ca6f93d16a05e1a97da1fa42e4da60ec'
* commit '6b753015ca6f93d16a05e1a97da1fa42e4da60ec':
  aac: Remove aacpsy.h header, unused since 78e65cd772
  cavs: Remove cavsdata.h header, unused since 88386feefd

Conflicts:
	libavcodec/aacpsy.h
	libavcodec/cavsdata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:55:43 +02:00
Michael Niedermayer
05599308e9 Merge commit 'bf7c3c6b157f7938578f964b62cffd5e504940be'
* commit 'bf7c3c6b157f7938578f964b62cffd5e504940be':
  x86: dsputil: Move cavs and vc1-specific functions where they belong

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:50:27 +02:00
Michael Niedermayer
35ef98013d Merge commit '932806232108872655556100011fe369125805d3'
* commit '932806232108872655556100011fe369125805d3':
  x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
  x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:44:09 +02:00
Michael Niedermayer
ed1697ffcb Merge commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd'
* commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd':
  x86: Move duplicated put_pixels{8|16}_mmx functions into their own file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:36:52 +02:00
Luca Barbato
af4cc2605c id3v2: check for end of file while unescaping tags
Prevent a serious out of buffer bound write.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-05-03 10:21:27 +02:00
Anton Khirnov
76d23f4031 avconv: do not send non-monotonous DTS to the muxers.
Hack partially based on a commit by Michael Niedermayer <michaelni@gmx.at>
Should fix (or work around) bug 458.
2013-05-03 09:59:48 +02:00
Anton Khirnov
b4a5a29227 avconv: improve -re implementation
Integrate the code in the packet reading function, instead of inserting
sleeps in many places.
This is simpler to follow and should work better.
2013-05-03 09:57:13 +02:00
Anton Khirnov
e3b225a4fe matroskaenc: add an option to put the index at the start of the file 2013-05-03 08:32:35 +02:00
Anton Khirnov
0574bc06d2 matroskaenc: cosmetics, reorder the #includes 2013-05-03 08:26:55 +02:00
Masaki Tanaka
accde1bd87 vc1_parser: Set field_order.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:19 +02:00
Masaki Tanaka
f43c14d046 mpegvideo_parser: Set field_order.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:11 +02:00
Masaki Tanaka
507b1e454c avcodec: Add field order information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:16:10 +02:00
Christophe Gisquet
566b7a20fd x86: float dsp: butterflies_float SSE
97c -> 49c
Some codecs could benefit from more unrolling, but AAC doesn't.
2013-05-03 08:08:02 +02:00
Anton Khirnov
b333f3a22a lavf-regression: use -frames instead of -t for image tests
-t 0.5 is 12.5 frames at 25 fps, which may round to either 12 or 13 on
different platforms.
2013-05-03 08:07:45 +02:00
Anton Khirnov
803d21f38b lavc: schedule AVCodecContext.lowres for removal on next bump.
It has been deprecated some time ago, but was forgotten during the last
bump.
2013-05-03 08:07:35 +02:00
highgod0401
f685aee18f lavu/opencl: fix the compile bug on linux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 04:15:29 +02:00
Michael Niedermayer
2e2b6d7ab3 fate: Adjust filter-trim-time parameters
This should workaround rounding differences between platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 00:26:35 +02:00
Michael Niedermayer
ae2132ac90 mmvideo/mm_decode_intra: check horizontal coordinate too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 22:12:19 +02:00
Michael Niedermayer
8d3c99e825 mmvideo/mm_decode_inter: check horizontal coordinate too
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 22:05:19 +02:00
Martin Storsjö
ffb068ce8e configure: Don't do enable_deep_weak on disabled variables
This avoids cases where configure tries to weakly enable an item
which actually is disabled, ending up still enabling dependencies
of the item which itself is only enabled weakly.

More concretely, the h264 decoder suggests error resilience, which
is then enabled weakly (unless manually disabled). Previously,
dsputil, which is a dependency of error resilience, was enabled
even if error resilience wasn't enabled in the end.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-02 22:31:57 +03:00
Martin Storsjö
4d810ad2e9 configure: Use a different variable name in push/popvar
The variable name 'var' is commonly used to iterate through arguments
in other functions. When the pushvar function internally uses the
variable 'var', it makes pushing/popping the variable 'var' not
work as intended.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-05-02 22:31:55 +03:00
Luca Barbato
13f57a4d88 wav: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-02 19:04:22 +02:00
Michael Niedermayer
fd68371b07 nutdec: Implement duration parsing for indexed nuts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 18:57:29 +02:00
Diego Biurrun
6b753015ca aac: Remove aacpsy.h header, unused since 78e65cd772 2013-05-02 18:16:06 +02:00
Diego Biurrun
153f31b1af cavs: Remove cavsdata.h header, unused since 88386feefd 2013-05-02 18:15:37 +02:00
Michael Niedermayer
60ab448042 ape_decode_value_3860: check k before using it in get_bits()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 17:24:02 +02:00
Michael Niedermayer
8937230719 ape_decode_value_3900: check tmpk
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 16:45:32 +02:00
Michael Niedermayer
49ec4c7e49 ffmpeg: fix segfault with random output
Found-by: <durandal_1707>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 16:01:28 +02:00
highgod0401
6354a6ce52 lavu/opencl: fix bug of opencl options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 14:42:02 +02:00
Paul B Mahol
a64c9afe3d lavfi/blend: merge config_input_top into config_output
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 12:22:18 +00:00
Paul B Mahol
990b13806d lavfi/blend: use correct way to check number of planes
This fix crash with gray, as its marked as pseudopal,
and thus have extra plane.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 12:22:18 +00:00
Michael Niedermayer
89b5039ff2 avutil/mem: add av_memdup()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 13:44:05 +02:00
Paul B Mahol
663794f63d vmdav: unbreak decoding of samples from game The Last Dynasty
This fixes video output with samples HG060808.VMD and
HG060810.VMD. Regression since c0cbe36b18.

While here show warning if decoding is aborted for some reason.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 11:37:59 +00:00
Paul B Mahol
cdada4f639 vmdav: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 11:34:14 +00:00
Michael Niedermayer
4d4ec18b21 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add wmv2 dependency to vc1 compilation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 13:02:09 +02:00
Michael Niedermayer
0beff42823 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  id3v2: K&R formatting cosmetics
  ppc: Only compile AltiVec FFT assembly when AltiVec is enabled

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 12:49:23 +02:00
Diego Biurrun
bf7c3c6b15 x86: dsputil: Move cavs and vc1-specific functions where they belong 2013-05-02 11:45:37 +02:00
Diego Biurrun
9328062321 x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
The function does not do any rounding, so there is no point in
keeping it in a round template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun
9c112a6158 x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun
9b3a04d306 x86: Move duplicated put_pixels{8|16}_mmx functions into their own file 2013-05-02 11:16:45 +02:00
Carl Eugen Hoyos
d0a661d48a Add wmv2 dependency to vc1 compilation.
Fixes compilation with --disable-everything --enable-decoder=vc1.
2013-05-02 11:04:57 +02:00
Luca Barbato
0671adbb18 id3v2: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-02 11:02:45 +02:00
Diego Biurrun
a650c906cb ppc: Only compile AltiVec FFT assembly when AltiVec is enabled 2013-05-02 10:25:30 +02:00
Michael Niedermayer
6021615bbe avcodec/ansi: Fix right/bottom end checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 02:16:41 +02:00
Michael Niedermayer
e91fd754c6 avcodec/ansi: Check x/y
This prevents out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 02:15:40 +02:00
Michael Niedermayer
c1f2c4c3b4 vmdav: Try to fix unpack_rle()
This fixes out of array accesses
The code prior to this commit could not have worked, thus obviously
was untested. I was also not able to find a valid sample that uses this
code.
This fix is thus only based on the description of the format

If someone has a sample that uses unpack_rle(), please mail me.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 23:51:05 +02:00
Michael Niedermayer
d602f16a37 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: copy subtitle_header when copying context.
  lavf: data muxer and demuxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 20:16:26 +02:00
Michael Niedermayer
67731ef40f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: doxy: Small clarification for av_buffer_create()
  avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
  avcodec: doxy: Clarify what get_buffer2 must fill in buf[]

Conflicts:
	libavutil/buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:33:30 +02:00
Michael Niedermayer
a5ba4e186b Merge commit 'e926b5ceb1962833f0c884a328382bc2eca67aff'
* commit 'e926b5ceb1962833f0c884a328382bc2eca67aff':
  avformat: Drop unnecessary ff_ name prefixes from static functions

Conflicts:
	libavformat/audiointerleave.c
	libavformat/mux.c
	libavformat/mxfenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:28:48 +02:00
Michael Niedermayer
dbcf7e9ef7 Merge commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d'
* commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d':
  ppc: Drop unnecessary ff_ name prefixes from static functions
  x86: Drop unnecessary ff_ name prefixes from static functions
  arm: Drop unnecessary ff_ name prefixes from static functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:21:35 +02:00
Michael Niedermayer
04fa818779 Merge commit '088f38a4f9f54bb923405c67c9e72d96d90aa284'
* commit '088f38a4f9f54bb923405c67c9e72d96d90aa284':
  avcodec: Drop unnecessary ff_ name prefixes from static functions

Conflicts:
	libavcodec/ass.c
	libavcodec/h264_parser.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:16:32 +02:00
Michael Niedermayer
cae8f469fe Merge commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f'
* commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f':
  ppc: More consistent arch initialization

Conflicts:
	libavcodec/fft.h
	libavcodec/mpegaudiodsp.c
	libavcodec/mpegaudiodsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:08:13 +02:00
Michael Niedermayer
ebd99ff112 Merge commit '42b9150b0d4f0a130c1d93dc991fd5412743a8cf'
* commit '42b9150b0d4f0a130c1d93dc991fd5412743a8cf':
  fft: Remove pointless #ifdefs around function declarations
  ppc: Move AltiVec utility headers out of AltiVec ifdefs

Conflicts:
	libavcodec/fft.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:02:36 +02:00
Michael Niedermayer
148f69eb4e Merge commit 'f5eecee865a731d2412fde2f73c29f8f8115c499'
* commit 'f5eecee865a731d2412fde2f73c29f8f8115c499':
  ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:57:55 +02:00
Michael Niedermayer
3ad5d8694c Merge commit '6b110d3a739c31602b59887ad65c67025df3f49d'
* commit '6b110d3a739c31602b59887ad65c67025df3f49d':
  ppc: More consistent names for H.264 optimizations files
  mpegaudiosp: More consistent names for ppc/x86 optimization files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:53:33 +02:00
Michael Niedermayer
2514b80045 sws: share xyzgamma tables.
They are currently always constant and thus theres no point to
store them in the context.
This makes the context 16kb smaller

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:52:18 +02:00
Michael Niedermayer
4818388e6c Merge commit '8cd472d3f947a6233e7dc628f0dc71c74e62413a'
* commit '8cd472d3f947a6233e7dc628f0dc71c74e62413a':
  avconv: make output -ss insert trim/atrim filters.

Conflicts:
	Changelog
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:24:43 +02:00
Michael Niedermayer
76c1f9200f Merge commit 'a83c0da539fb07260310bc3b34056239d2b138b2'
* commit 'a83c0da539fb07260310bc3b34056239d2b138b2':
  avconv: make -t insert trim/atrim filters.

The filter insertion code is merged but disabled as it is buggy.
For example it fails in various ways when used with -s with some files.
Also the trimming is arguably less accurate than the default without
filters in some cases.
These issues should be fixed before auto inserting the filters,
until then the user can explicitly add a trim/atrim filter when one is
wanted.

Conflicts:
	Changelog
	ffmpeg.c
	ffmpeg_filter.c
	tests/ref/fate/bethsoft-vid
	tests/ref/lavf/aiff
	tests/ref/lavf/asf
	tests/ref/lavf/au
	tests/ref/lavf/avi
	tests/ref/lavf/dpx
	tests/ref/lavf/ffm
	tests/ref/lavf/gxf
	tests/ref/lavf/jpg
	tests/ref/lavf/mkv
	tests/ref/lavf/mmf
	tests/ref/lavf/mov
	tests/ref/lavf/mpg
	tests/ref/lavf/nut
	tests/ref/lavf/ogg
	tests/ref/lavf/pcx
	tests/ref/lavf/png
	tests/ref/lavf/rm
	tests/ref/lavf/ts
	tests/ref/lavf/voc
	tests/ref/lavf/voc_s16
	tests/ref/lavf/wav

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 14:23:52 +02:00
Michael Niedermayer
1a94d7c7c8 avfilter/trim: improve rounding precission
Note, the design is still flawed, dont expect this to be frame
accurate. float/double first needs to be removed and frames
itself trimmed instead of drop vs nodrop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 13:55:30 +02:00
Clément Bœsch
24939d567b fate/pixfmts: use the appropriate variable names for temporary files.
${1} is now the filter args and is inappropriate as a unique name for
the test (and causes some FATE issues because of the ':' in them).
${filter} is not used either to replace the ${1} because ${outfile}
already contains a unique name for the test.
2013-05-01 13:25:42 +02:00
Michael Niedermayer
1924a61a0a Merge commit '3d624420086ed3cd0c74f4510f0285968e21c117'
* commit '3d624420086ed3cd0c74f4510f0285968e21c117':
  avconv_opt: allocate an OutputFile before the streams.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 12:09:07 +02:00
Nicolas George
ceb33f3aee lavc: copy subtitle_header when copying context.
Fix trac ticket #2489.
2013-05-01 11:56:34 +02:00
Nicolas George
276fcbde6c lavf: data muxer and demuxer.
Allow to use tools designed to work with demuxers, muxers
and packets (for example ffmpeg itself) to process raw byte
streams (like aviocat).
2013-05-01 11:56:34 +02:00
Michael Niedermayer
3319679d0a Merge commit 'a1e05b0487a1939334c2920fc7f9936bc9efe876'
* commit 'a1e05b0487a1939334c2920fc7f9936bc9efe876':
  lavfi: add trim and atrim filters.

Conflicts:
	Changelog
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 11:34:34 +02:00
Michael Niedermayer
1cba7fa364 Merge commit 'b472938233b98178ed6c1353c37e0dc7ab585902'
* commit 'b472938233b98178ed6c1353c37e0dc7ab585902':
  lavfi: add an asetpts filter

Conflicts:
	Changelog
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/f_setpts.c
	libavfilter/setpts.c
	libavfilter/version.h
	libavfilter/vf_setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:59:21 +02:00
Michael Niedermayer
0061ba044a Merge commit '2548834b2248ad4d7da9bd0afed09d7d0cddeeb0'
* commit '2548834b2248ad4d7da9bd0afed09d7d0cddeeb0':
  vf_setpts: cosmetics, reformat

Conflicts:
	libavfilter/f_setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:24:45 +02:00
Michael Niedermayer
e41d3aba01 Merge commit 'c22263d3e813d442df8fa5f5ba8993573fe775d8'
* commit 'c22263d3e813d442df8fa5f5ba8993573fe775d8':
  graphparser: only print filter arguments if they are non-NULL
  af_channelmap: ensure the output channel layout is valid.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:16:31 +02:00
Michael Niedermayer
a1b8879714 Merge commit '949c603ed9210df0e1b8e1aa82c71b93543d8071'
* commit '949c603ed9210df0e1b8e1aa82c71b93543d8071':
  af_channelmap: remove now unnecessary goto
  vf_split: fix description

Conflicts:
	libavfilter/split.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:11:01 +02:00
Michael Niedermayer
52fa2945b5 Merge commit 'e036bb7899d0faca9159206be9bf5552e76e7633'
* commit 'e036bb7899d0faca9159206be9bf5552e76e7633':
  lavc: clear AVBuffers on decoded frames if refcounted_frames is not set
  FATE: add an additional indeo3 test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:00:08 +02:00
Michael Niedermayer
d8b6557c86 Merge commit 'bda9e6d923df6d46cc5cafb30a59a01d2514fa61'
* commit 'bda9e6d923df6d46cc5cafb30a59a01d2514fa61':
  indeo3: use put_pixels instead of put_no_rnd_pixels in copy_cell()

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 09:51:37 +02:00
Michael Niedermayer
71091698a2 Merge commit '95220be1faac628d849a004644c0d102df0aa98b'
* commit '95220be1faac628d849a004644c0d102df0aa98b':
  indeo3: fix off by one in MV validity check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 09:45:09 +02:00
Clément Bœsch
14f45bcbe7 doc/filters: fix scale example equivalence.
scale=w=200:h=100 and scale=w=200:h=100 are of course equivalent...
2013-05-01 04:46:14 +02:00
Clément Bœsch
e3e66568cc doc/filters: replace hqdn3d with smartblur in timeline section.
hqdn3d needs some adjustements before timeline support can be restored
(patch welcome).
2013-05-01 04:44:27 +02:00
Michael Niedermayer
fbaf75b166 h264: Use the correct croping values.
This fixes returning pictures with corrupted data pointers.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 00:06:26 +02:00
Michael Niedermayer
5299ee54a7 h264: assert that croping values at slice level are consistent
These values where checked before already.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 23:49:56 +02:00
Michael Niedermayer
c3bd306e78 h264_ps: check croping values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 23:48:53 +02:00
Michael Niedermayer
7edb984dd0 avutil/log: Fix context pointer used for get_category()
Fixes calling a random pointer

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 20:06:24 +02:00
Derek Buitenhuis
af8a47905a avutil: doxy: Small clarification for av_buffer_create()
Explicitly saying it can't hurt.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Derek Buitenhuis
00b8e650e8 avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Derek Buitenhuis
4cdb3c50b5 avcodec: doxy: Clarify what get_buffer2 must fill in buf[]
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:32:58 -04:00
Diego Biurrun
e926b5ceb1 avformat: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:16:23 +02:00
Diego Biurrun
7f75f2f2bd ppc: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:10:06 +02:00
Diego Biurrun
f2e9d44a57 x86: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:03 +02:00
Diego Biurrun
383fd4d478 arm: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:03 +02:00
Diego Biurrun
088f38a4f9 avcodec: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:02 +02:00
Michael Niedermayer
53efb2fa09 gif: Fix little endian specific code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 13:35:14 +02:00
Michael Niedermayer
147a45fca4 framecrcenc: workaround design flaw in sidedata palette
This should be reverted once palettes are dealt with in a endian independant way
in packets

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 13:35:14 +02:00
Paul B Mahol
a0adeb1f9f fate: add test for separatefields filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 10:22:16 +00:00
Diego Biurrun
38282149b6 ppc: More consistent arch initialization 2013-04-30 12:19:45 +02:00
Diego Biurrun
42b9150b0d fft: Remove pointless #ifdefs around function declarations 2013-04-30 12:19:44 +02:00
Diego Biurrun
f5eecee865 ppc: util_altivec: Surround AltiVec-related code by appropriate ifdefs
This prevents non-AltiVec-enabled compilers from choking.
2013-04-30 12:19:44 +02:00
Diego Biurrun
a053dbfcfb ppc: Move AltiVec utility headers out of AltiVec ifdefs
Now that the headers themselves have ifdef protection this is no
longer necessary and more consistent with normal include handling.
2013-04-30 12:19:44 +02:00
Diego Biurrun
6b110d3a73 ppc: More consistent names for H.264 optimizations files 2013-04-30 12:19:43 +02:00
Diego Biurrun
643e433bf7 mpegaudiosp: More consistent names for ppc/x86 optimization files 2013-04-30 12:19:43 +02:00
Paul B Mahol
468ec1714c fate: add test for swapuv filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 10:18:45 +00:00
Paul B Mahol
e85f02e3f5 fate: add test for telecine filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 10:10:23 +00:00
Anton Khirnov
8cd472d3f9 avconv: make output -ss insert trim/atrim filters.
This makes output -ss sample-accurate for audio and will allow further
simplication in the future.
2013-04-30 12:00:55 +02:00
Anton Khirnov
a83c0da539 avconv: make -t insert trim/atrim filters.
This makes -t sample-accurate for audio and will allow further
simplication in the future.

Most of the FATE changes are due to audio now being sample accurate. In
some cases a video frame was incorrectly passed with the old code, while
its was over the limit.
2013-04-30 11:53:12 +02:00
Anton Khirnov
3d62442008 avconv_opt: allocate an OutputFile before the streams.
This way OutputFile variables like recording time can be used when
creating the streams.
2013-04-30 11:48:23 +02:00
Anton Khirnov
a1e05b0487 lavfi: add trim and atrim filters. 2013-04-30 11:24:57 +02:00
Anton Khirnov
b472938233 lavfi: add an asetpts filter 2013-04-30 11:17:57 +02:00
Anton Khirnov
2548834b22 vf_setpts: cosmetics, reformat 2013-04-30 11:17:23 +02:00
Anton Khirnov
c22263d3e8 graphparser: only print filter arguments if they are non-NULL 2013-04-30 11:16:57 +02:00
Anton Khirnov
8aaab1113c af_channelmap: ensure the output channel layout is valid. 2013-04-30 11:16:37 +02:00
Anton Khirnov
949c603ed9 af_channelmap: remove now unnecessary goto
Options are freed from the generic code now, there is no need to call
av_opt_free() from the filter.
2013-04-30 11:16:22 +02:00
Anton Khirnov
1012155722 vf_split: fix description
It now allows an arbitrary number of inputs, not just two.
2013-04-30 11:16:16 +02:00
Anton Khirnov
e036bb7899 lavc: clear AVBuffers on decoded frames if refcounted_frames is not set
Otherwise some code might mistakenly think it is allowed to unref those
buffers, which would lead to double unref.
2013-04-30 11:15:32 +02:00
Paul B Mahol
2bdd434931 lavfi/stereo3d: add support for alternating frames input & output format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-30 09:13:36 +00:00
Anton Khirnov
bda9e6d923 indeo3: use put_pixels instead of put_no_rnd_pixels in copy_cell()
They are the same in this case, except put_pixels also has blocksizes
smaller than 8.
2013-04-30 11:06:03 +02:00
Anton Khirnov
95220be1fa indeo3: fix off by one in MV validity check
CC:libav-stable@libav.org
2013-04-30 11:06:03 +02:00
Anton Khirnov
3d10614529 FATE: add an additional indeo3 test
It is a part of the sample that got broken by recent indeo3 changes.
2013-04-30 11:06:03 +02:00
Michael Niedermayer
01a5a3a2e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Remove a set of pointless #ifs around function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 08:42:10 +02:00
Michael Niedermayer
a3030d47e7 Merge commit '85f2f82af66fade2f5af2a03c5011d7de1b6e295'
* commit '85f2f82af66fade2f5af2a03c5011d7de1b6e295':
  x86: dsputil: cosmetics: Group ff_{avg|put}_pixels16_mmxext() declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 08:25:24 +02:00
Clément Bœsch
2609434b45 fate: remove forgotten transpose filter results from old system. 2013-04-30 02:12:47 +02:00
Clément Bœsch
45734dea9e fate: port remaining filters to new system.
Merge of b963f021b6 is now complete.
2013-04-30 02:12:45 +02:00
Clément Bœsch
93aede41ce fate: move kerndeint test to the new system. 2013-04-30 01:47:53 +02:00
Clément Bœsch
1e0a0aafba fate: port our pixfmts change to fate-run.sh.
This patch is the same as 52b23cbf1c.
2013-04-30 01:47:53 +02:00
Clément Bœsch
e881057c98 fate: add a rule for pixfmts tests. 2013-04-30 01:47:53 +02:00
Diego Biurrun
97c56ad796 x86: dsputil: Remove a set of pointless #ifs around function declarations 2013-04-30 01:42:32 +02:00
Diego Biurrun
85f2f82af6 x86: dsputil: cosmetics: Group ff_{avg|put}_pixels16_mmxext() declarations 2013-04-30 01:41:05 +02:00
Clément Bœsch
a466c2c470 fate: fix filtfmts-test dependency after 9a5924f. 2013-04-30 01:19:24 +02:00
Clément Bœsch
d558e46469 lavfi: add two opencl headers to SKIPHEADERS.
Fix make checkheaders.
2013-04-30 00:34:58 +02:00
Clément Bœsch
6b222ea963 fate: add bitexact flags to alphaextract/alphamerge tests.
Should fix a FATE failure.
2013-04-29 22:28:37 +02:00
Clément Bœsch
9a5924f862 fate: add filters dependencies to pixfmts tests. 2013-04-29 22:25:04 +02:00
Clément Bœsch
15d6436a2a fate: move a few simple pixfmts tests to the new system. 2013-04-29 22:25:04 +02:00
Michael Niedermayer
16b2472d20 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpeldsp: Remove unused macro definitions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 22:01:53 +02:00
Clément Bœsch
3ae44df18f fate: move lavd filters tests to the new system.
Also make life test a bit more useful.
2013-04-29 21:48:49 +02:00
Clément Bœsch
6ea013fb62 fate: remove '#' in filter parameters.
It was considered a comment.
2013-04-29 21:48:48 +02:00
Paul B Mahol
c645659988 lavfi/showwaves: fix crash in case of negative linesize
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-29 19:28:12 +00:00
Paul B Mahol
32d4641219 lavfi/showspectrum: fix crash in case of negative linesize
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-29 19:27:15 +00:00
Clément Bœsch
22a86492ec fate: move alphaextract and alphamerge tests to the new system.
The standalone alphaextract tests are removed since already the filters
are already tested by the alphamerge tests.
2013-04-29 21:10:13 +02:00
Michael Niedermayer
affd5018ac Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Recognize j2k as file suffix for the image2 muxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 20:25:23 +02:00
Clément Bœsch
9a0e40ec8c fate: move colormatrix tests to the new system. 2013-04-29 20:20:13 +02:00
Clément Bœsch
80bcbed157 fate: restore our settings for drawtext/fade/unsharp. 2013-04-29 20:00:49 +02:00
Clément Bœsch
c703f7bdbd fate: move more tests from lavfi-regression.sh to filter-video.mak. 2013-04-29 20:00:49 +02:00
Diego Biurrun
20784aa678 x86: hpeldsp: Remove unused macro definitions 2013-04-29 15:57:00 +02:00
Carl Eugen Hoyos
00a61ac755 Recognize j2k as file suffix for the image2 muxer. 2013-04-29 13:11:32 +02:00
Michael Niedermayer
e92862e75f avfilter/vf_tinterlace: fix handling of not so even sizes
Fixes green bottom line

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 12:26:15 +02:00
Michael Niedermayer
b691bc424f copy_packet_data: fix memleak
This should fix gif fate memleaks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 03:08:50 +02:00
highgod0401
df9117921a lavu/opencl: add check version and platform
Reviewed-by: Hanspeter Niederstrasser <niederstrasser@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 23:42:58 +02:00
Michael Niedermayer
cb23b06e5e sws: fix typo in xyz2rgb matrix use.
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:57:45 +02:00
Michael Niedermayer
54429142c5 fate: re-enable jpeg2000 test with rgb48le
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:31:52 +02:00
Michael Niedermayer
24ec7a5e04 sws: Check for malloc failure of rgb0_tmp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:31:16 +02:00
Michael Niedermayer
0c47c9028b sws: support xyz input
The implementation is heavily based on Matthias Buerchers and Nicolas Bertrands vf_xyz2rgb.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:30:01 +02:00
Michael Niedermayer
45f1cf88a8 sws: remove hack to support partial convert / xyz bswaping
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:20:06 +02:00
Michael Niedermayer
42a7938cca fate: temporary disable jpeg2000 test to avoid fate breakage from next commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 19:19:03 +02:00
Michael Niedermayer
b4fc2a10df fate: fix jpeg2000 on big endian
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:54:02 +02:00
Michael Niedermayer
2fa08abdb6 sws: enable xyz12, this for now is just for swaping between le and be
Needed for fixing fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:53:20 +02:00
Michael Niedermayer
7f17e0ff6a sws: add 16bit gbrp formats to packed_16bpc_bswap()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:35:04 +02:00
Michael Niedermayer
f5cca47fde sws: extend packed_16bpc_bswap code to handle planar formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 15:28:00 +02:00
Michael Niedermayer
5149407731 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: check the maximum number of channels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:54:56 +02:00
Michael Niedermayer
65af5e815a Merge commit '1b6f84a98665a15130e969fd6b460a05d50090c1'
* commit '1b6f84a98665a15130e969fd6b460a05d50090c1':
  h264_refs: Do not print check_opcodes() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:40:47 +02:00
Michael Niedermayer
124244ec48 Merge commit 'b963f021b603509b5159873de4919dec441d0782'
* commit 'b963f021b603509b5159873de4919dec441d0782':
  fate: Invoke pixfmts lavfi tests through fate-run.sh

Conflicts:
	tests/fate/avfilter.mak
	tests/lavfi-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:34:23 +02:00
Stefano Sabatini
0400176772 lavfi/mp: remove mp=tinterlace wrapper
From various tests, there is no evidence that the filter is faster than
the native tinterlace, and it has several more limitations and a few
bugs.

See thread:
Subject: [FFmpeg-devel] [NOPATCH] lavfi/mp: drop tinterlace wrapper
Date: Wed, 5 Sep 2012 00:26:01 +0200
2013-04-28 13:16:40 +02:00
Stefano Sabatini
75070d9fa0 lavfi/transpose: apply grammar consistency fixes to transpose dir option 2013-04-28 13:16:40 +02:00
Stefano Sabatini
dfb3de21d8 doc/filters: apply various general fixes to vidstabdetect docs
Adopt generally used conventions, extend and clarify explanations.
2013-04-28 13:16:40 +02:00
Michael Niedermayer
191430a28f Merge commit '28663511c99b3cdaf9387a15032259879474f5f4'
* commit '28663511c99b3cdaf9387a15032259879474f5f4':
  fate: Invoke pixdesc lavfi tests through fate-run.sh

Conflicts:
	tests/fate/avfilter.mak
	tests/lavfi-regression.sh
	tests/ref/fate/filter-pixdesc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:00:04 +02:00
Michael Niedermayer
506ebdac2a Merge commit '03b052c023e1f58d879cb7eeb6421ed39262d39d'
* commit '03b052c023e1f58d879cb7eeb6421ed39262d39d':
  fate: Invoke standard lavfi tests through fate-run.sh

Conflicts:
	tests/fate/avfilter.mak
	tests/lavfi-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 12:34:55 +02:00
Michael Niedermayer
2ac6d6b7cd Merge commit 'c14010541035454b4d3ad08399d70423be4e0c87'
* commit 'c14010541035454b4d3ad08399d70423be4e0c87':
  oma: K&R formatting cosmetics

Conflicts:
	libavformat/omadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 12:18:18 +02:00
Michael Niedermayer
5fd254c4f6 Merge commit '26a44143efb513a602542fb59aee87b1fc62af51'
* commit '26a44143efb513a602542fb59aee87b1fc62af51':
  avplay: remove a warning

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 12:03:41 +02:00
Michael Niedermayer
54056c1493 Merge commit 'cf679b9476727a237c8006c685ace18acba149ab'
* commit 'cf679b9476727a237c8006c685ace18acba149ab':
  hls, segment: fix splitting for audio-only streams.

Conflicts:
	libavformat/hlsenc.c
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 11:48:40 +02:00
Michael Niedermayer
0fb64da63f avformat: Add black ops audio demuxer
Fixes Ticket2064

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 04:21:29 +02:00
Luca Barbato
a943a132f3 aac: check the maximum number of channels
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.

CC:libav-stable@libav.org
2013-04-28 00:40:33 +02:00
Michael Niedermayer
7f138310fb ffv1enc: favor version 3 over 2 unless -strict -2 is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 22:48:13 +02:00
Stefano Sabatini
1c1a2d1319 lavu/mem: remove redundant comment from av_dynarray_add()
The function is documented in mem.h.
2013-04-27 20:34:10 +02:00
Stefano Sabatini
9f3d873f5f doc/filters: update/extend transpose filter documentation
In particular, deprecate numerical values for the dir option.
2013-04-27 20:34:02 +02:00
Stefano Sabatini
028c73358a lavfi/transpose: reindent constants 2013-04-27 20:33:54 +02:00
Stefano Sabatini
d33c77b14a lavfi/transpose: restore validity of values in range 4-7
They were lost in commit a4e0defa75.
2013-04-27 20:33:48 +02:00
Diego Biurrun
1b6f84a986 h264_refs: Do not print check_opcodes() return value
The return value provides no useful information and removing the printing
avoids the following warning:
libavcodec/h264_refs.c:788:15: warning: 'i' may be used uninitialized in this function [-Wuninitialized]
2013-04-27 19:13:45 +02:00
Stefano Sabatini
1e4f75debd doc/filters: readjust w/h option descriptions 2013-04-27 18:47:51 +02:00
Stefano Sabatini
efff09418d doc/filters: fix grammar for removelogo filter doc sentence 2013-04-27 18:47:45 +02:00
Diego Biurrun
b963f021b6 fate: Invoke pixfmts lavfi tests through fate-run.sh 2013-04-27 16:53:42 +02:00
Diego Biurrun
28663511c9 fate: Invoke pixdesc lavfi tests through fate-run.sh 2013-04-27 16:53:42 +02:00
Diego Biurrun
03b052c023 fate: Invoke standard lavfi tests through fate-run.sh 2013-04-27 16:53:42 +02:00
Michael Niedermayer
d4868a960b ffv1dec: remove redundant error message.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:36:05 +02:00
Michael Niedermayer
ff0b4c08ca ffv1dec: add code to support frame threading with gop=1 ffv1
CODEC_CAP_FRAME_THREADS is not added yet because that would
unconditionally enable it, breaking gop>1 files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:20:42 +02:00
Michael Niedermayer
1a392fc550 ffv1: Store a flag in the global header that indicates if all frames are keyframes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:17:29 +02:00
Paul B Mahol
cc5c155959 astats filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-27 12:40:34 +00:00
Michael Niedermayer
3fa6c992d9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents

Conflicts:
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 11:35:03 +02:00
Luca Barbato
c140105410 oma: K&R formatting cosmetics 2013-04-27 10:53:24 +02:00
Luca Barbato
26a44143ef avplay: remove a warning
Set the data field in the flush_pkt to the pointer to the actual packet.
The field needs to contain a valid unique pointer, no read nor writes
are ever made to it.
2013-04-27 10:51:28 +02:00
Anton Khirnov
cf679b9476 hls, segment: fix splitting for audio-only streams.
CC:libav-stable@libav.org
2013-04-27 10:19:04 +02:00
Paul B Mahol
785eb5fc57 lavfi/negate: unbreak negate alpha
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 23:45:24 +00:00
Paul B Mahol
7becddd5f3 doc/filters: remove non-existent ft_load_flags entry
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 23:37:37 +00:00
Michael Niedermayer
24bb01f038 avcodec_string: Print the used codec if it differs from the codec_id name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 00:49:14 +02:00
Michael Niedermayer
59a3b6b751 avcodec_string: remove the "(hq)" listing
printing "hq" depending on a single video encoding parameter makes
little sense

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 00:49:12 +02:00
Michael Niedermayer
a057552212 avutil/log: dont count&print repeats for empty strings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 23:41:29 +02:00
Michael Niedermayer
9a0aa8d02a avcodec/intrax8: fix regression with wmv3
This also decreases dependancies between intrax8 and the outside

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 23:04:15 +02:00
Clément Bœsch
039c2b7828 lavfi/hqdn3d: remove timeline flag.
The filter stores some temporal data, which needs to be done with the
passthrough callback system when timeline is enabled. Until then,
timeline support is disabled.
2013-04-26 21:27:02 +02:00
Diego Biurrun
7c00e9d8ae x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents
The function requires increasing the fuzz factor for the ac3/eac3 encode
tests and even so makes fate fail. It only provides a slight encoding
speedup for legacy CPUs that do not support SS2. Thus its benefit is not
worth the trouble it creates and fixing it would be a waste of time.
2013-04-26 21:06:52 +02:00
Michael Niedermayer
74b1c32a80 avutil/log: leave prefix printing state on empty input.
Fixes printing the prefix after an empty string was printed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 20:31:25 +02:00
Michael Niedermayer
d78329700d vc1dec: make sure next_use_ic is set correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 15:50:32 +02:00
Michael Niedermayer
ee4c01bef6 vc1dec: factor lut clean code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 15:39:32 +02:00
Michael Niedermayer
ba323d67fa avformat/write_packet: drop disabled code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:57:56 +02:00
Michael Niedermayer
eba33396f0 avformat/mux: set avoid_negative_ts based on flags if not overridden by user or muxer
This changes the default to avoid negative timestamps.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer
e5891a2337 avformat/movenc: mov/mp4 should support negative timestamps through edit lists
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer
647f306b46 avformat/mux: assert that timestamps are positive after offsetting them
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer
c329195a27 avformat/mux: use a local variable for offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Michael Niedermayer
060f14f493 avformat/mux: change avoid_negative_ts code to support later addition of AVStreams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 14:51:47 +02:00
Paul B Mahol
30579b7ef0 dcaenc: silence address sanitizer warning
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 11:41:00 +00:00
Paul B Mahol
6a8d05061f lavfi/stereo3d: avoid division when changing aspect ratio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 10:13:50 +00:00
Paul B Mahol
42d61fd968 lavfi/afade: fix AVOptions descriptions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 10:04:16 +00:00
Paul B Mahol
e0a636fadf doc/filters: fix afade 2nd example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 09:39:10 +00:00
Paul B Mahol
09250e3445 lavfi/curves: add support for more rgb formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 09:37:28 +00:00
Paul B Mahol
1a530f9ed8 lavfi: support timeline for colorbalance and colorchannelmixer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 09:37:28 +00:00
Michael Niedermayer
721ffc691a Merge remote-tracking branch 'qatar/master'
* commit '74685f6783e77f2545d48bd2124945ad5be39982':
  x86: Rename dsputil_rnd_template.c to rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 11:10:57 +02:00
Michael Niedermayer
c4bf740225 Merge commit 'c2cb01d418dd18e1cf997c038d37378d773121be'
* commit 'c2cb01d418dd18e1cf997c038d37378d773121be':
  lavf: introduce AVFMT_TS_NEGATIVE

Conflicts:
	libavformat/avformat.h
	libavformat/mux.c
	tests/ref/lavf/asf
	tests/ref/lavf/mkv
	tests/ref/lavf/mpg
	tests/ref/lavf/ts
	tests/ref/seek/lavf-asf
	tests/ref/seek/lavf-mkv
	tests/ref/seek/lavf-mpg
	tests/ref/seek/lavf-ts

This commit does not change the default ts behaviour, such
change will, if its done, be done separately.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 10:59:45 +02:00
Michael Niedermayer
05f4c05061 vc1dec: remove interlaced warning
While not yet bugfree, the warning is IMHO no longer appropriate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:44:05 +02:00
highgod0401
cd134963e8 lavfi/unsharp: add opencl unsharp filter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:05:26 +02:00
highgod0401
f31247cf47 lavu/opencl:add opencl set param function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:04:42 +02:00
Michael Niedermayer
667159e718 fate: re-enable fate-acodec-dca2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 23:23:12 +02:00
Michael Niedermayer
688fc4ac56 vc1dec: Try to fix vc1_mc_4mv_chroma4() parameters
This fixes several chroma artifacts in several videos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer
9b49d3974e vc1dec: add avg & variable direction support to vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer
dd6e291e40 vc1dsp: add avg_no_rnd_vc1_chroma_mc4_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer
5183365aeb vc1dec: fix doxy for vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Paul B Mahol
2c5700c5e2 vima: add @file doxy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:17:05 +00:00
Paul B Mahol
da22760364 vima: generate predict_table once, and share it with all decoders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:15:33 +00:00
Paul B Mahol
77570a390d lavc/cdxl: add @file doxy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:06:13 +00:00
Martin Storsjö
74685f6783 x86: Rename dsputil_rnd_template.c to rnd_template.c
This makes it less confusing when this template is shared both by
dsputil and by hpeldsp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-25 23:03:09 +03:00
Paul B Mahol
084709f6a5 fate: update dca test and disable dca2 test
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 18:39:30 +00:00
Paul B Mahol
89b5ed5f15 lavfi/noise: remove get_video_buffer, its redundant now
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 17:05:42 +00:00
Paul B Mahol
e86ed98f43 lavfi/noise: add missing emms_c()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 17:01:40 +00:00
Paul B Mahol
00acfdd926 lavfi/telecine: show time base change too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 16:52:29 +00:00
Paul B Mahol
e1ba5fc968 dcaenc: update
Long story short: previous code was useless and was port of older
dcaenc, this commit just "sync" with current dcaenc, hopefuly
making this encoder more useful.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 14:21:00 +00:00
Michael Niedermayer
8f0db04b08 avcodec/pthread: use THREAD_SAFE_CALLBACKS() to simplifx more code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 16:01:42 +02:00
Michael Niedermayer
94b3a666fa avcodec/pthread: Make sure ff_thread_finish_setup() conditions match
Prevents warning from being shown due to multiple calls.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 15:55:01 +02:00
Michael Niedermayer
32a6dfeb12 vc1dec: drop mv_f_last, simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 13:51:44 +02:00
Stefano Sabatini
16cecf9c3d doc/filters: put vidstab filters documentation in a sensible order 2013-04-25 11:26:33 +02:00
Stefano Sabatini
cb23de1904 doc/filters: remove "q" constant docs for noise mode
It was removed in 62447248f3.
2013-04-25 11:19:53 +02:00
Stefano Sabatini
f40cf96ec0 doc: remove all-components.texi, include its content verbatim
Force re-generation of the manuals when an included file is modified.
The current dependency generation system is enable to track nested
inclusions.

The drawback is that the files will be generated even when there is no
strict need (for example if filters.texi is modified, ffmpeg.1 is
rebuilt), thus it trades a false negative with a false positive.
2013-04-25 11:19:53 +02:00
Luca Barbato
c2cb01d418 lavf: introduce AVFMT_TS_NEGATIVE
Most formats do not support negative timestamps, shift them to avoid
unexpected behaviour and a number of bad crashes.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-25 10:13:27 +02:00
Michael Niedermayer
575399c7e1 Merge commit 'fc18cc44ebfae07da153dc782572e7ce2f6fe47d'
* commit 'fc18cc44ebfae07da153dc782572e7ce2f6fe47d':
  fate: add CVFC1_Sony_C to h264 conformance tests
  doc/APIchanges: add missing hashes and dates

Conflicts:
	doc/APIchanges
	tests/fate/h264.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 09:54:11 +02:00
Paul B Mahol
aa96439fae lavc: remove unused put_bits.h headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-24 23:17:09 +00:00
Clément Bœsch
035a3792c2 lavfi/subtitles: zero-init AVSubtitle.
This avoids invalid free when the stream id doesn't match the packet
stream index.

Ticket #2501
2013-04-25 00:56:38 +02:00
Michael Niedermayer
d382170c5d Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: check decoded subtitles encoding.
  lavu: fix GET_UTF8 macro.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 23:56:48 +02:00
Michael Niedermayer
12e3c1bee4 vc1dec: drop old use_ic code from vc1_b_mc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:56:34 +02:00
Michael Niedermayer
100184ccff vc1: use use_ic instead of shuffling mv_mode around
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:08:17 +02:00
Michael Niedermayer
84c0ec92ae vc1dec: Implement intensity compensation for vc1_interp_mc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:08:17 +02:00
Michael Niedermayer
782ebd6118 vc1dec: redesign the intensity compensation
The existing implementation had little to do with VC1.
This could be implemented by adjusting the reference frames
ithemselfs but that would make frame multi-threading difficult.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:07:26 +02:00
Clément Bœsch
73050df240 lavfi: add timeline support in {de,remove}logo.
Both don't change anything in the context between frames.
2013-04-24 20:13:01 +02:00
Nicolas George
70feca926b lavc: check decoded subtitles encoding.
Address trac ticket #2431.
2013-04-24 19:41:27 +02:00
Nicolas George
29ebb7ba8d lavu: fix GET_UTF8 macro.
Prevent 0xFE and 0xFF from being considered the start of
non-standard 7-bytes sequences. No noticeable effect on speed.
2013-04-24 19:41:27 +02:00
Clément Bœsch
1f6aa7de3e lavfi: add vidstabutils.h to SKIPHEADERS.
Fix checkheaders when vid.stab is not available.
2013-04-24 19:38:06 +02:00
Clément Bœsch
c7d2a3abf0 lavfi/vidstabdetect: fix direct path.
The frame must be writable if the show option is set, otherwise pass the
frame unchanged.
2013-04-24 18:30:43 +02:00
Clément Bœsch
c82f6e58da lavfi/vidstab: remove mention of defaults for consistency with other filters. 2013-04-24 18:30:43 +02:00
Clément Bœsch
111ac10b60 lavfi/vidstab: make use of direct variable. 2013-04-24 18:30:42 +02:00
Clément Bœsch
9273cc8eb5 lavfi/vidstab: add missing flags for 2 options. 2013-04-24 18:30:42 +02:00
Clément Bœsch
c857c21a8c doc/filters: reword vidstab options intro. 2013-04-24 18:30:42 +02:00
Clément Bœsch
cdc48775aa lavfi/vidstab: consistent descriptions. 2013-04-24 18:30:42 +02:00
Clément Bœsch
017051266b lavfi/vidstab: miscelenaous cosmetics and typo fixes. 2013-04-24 18:30:42 +02:00
Georg Martius
4364e1f150 lavfi: add video stabilization plugins using vid.stab library
vidstabdetect and vidstabtransform common functions for interfacing
vid.stab are in libavfilter/vidstabutils.c

Signed-off-by: Georg Martius <martius@mis.mpg.de>
2013-04-24 18:30:42 +02:00
Stefano Sabatini
6f1716c4b6 doc/filters: amend documentation for the hue filter
Make clear that the options accept an expression.
2013-04-24 17:47:10 +02:00
Stefano Sabatini
18144950d4 doc/filters: introduce example in vflip filter 2013-04-24 17:47:03 +02:00
Stefano Sabatini
892af3eb47 doc/filters: split luma/chroma descriptions for unsharp option
Honour declaration order in filter implementation, for shorthand
consistency.
2013-04-24 17:46:56 +02:00
Vittorio Giovara
fc18cc44eb fate: add CVFC1_Sony_C to h264 conformance tests
The sample is already included in the FATE suite, but is not tested
because cropping wasn't fully supported before.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-24 17:44:11 +02:00
Nicolas Bertrand
69c02b520b MAINTAINERS: add jpeg2000 maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 16:42:47 +02:00
Michael Niedermayer
c560437e95 vc1: make INIT_LUT() self contained
factorize variable declarations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 15:33:11 +02:00
Michael Niedermayer
c5669f3c59 vc1dec: fix current ptr selection in vc1_mc_4mv_chroma()
No sample tried shows a difference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 15:05:25 +02:00
Michael Niedermayer
236b0c4084 vc1dec: factorize picture pointer selection in vc1_mc_4mv_chroma()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:59:49 +02:00
Michael Niedermayer
72e5d91908 vc1dec: factorize picture pointer selection code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:50:41 +02:00
Michael Niedermayer
3fdd0979ac vc1dec: Fix mv_f shuffling
Avoid a (confusing) memcpy()
Simpler code
Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:06:07 +02:00
Michael Niedermayer
1d0f817b17 vc1dec: Fix mv_f shuffling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 13:16:27 +02:00
Michael Niedermayer
62d9445396 vc1: simplify code use INIT_LUT()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 12:52:52 +02:00
Michael Niedermayer
2e789d165b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Get rid of duplication between *_rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:17:28 +02:00
Michael Niedermayer
8d86cf4cfa Merge commit 'feec9349d35b3a46d0c6a05e3b23626050b76a77'
* commit 'feec9349d35b3a46d0c6a05e3b23626050b76a77':
  mpegvideo: unref cur/next/prev frames when flushing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:11:34 +02:00
Michael Niedermayer
c2a0833c09 Merge commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223'
* commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223':
  x86: Factorize duplicated inline assembly snippets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:01:15 +02:00
Michael Niedermayer
03b81df9e6 Merge commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b'
* commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b':
  jpeg2000: Add mutlti-threading support to decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 09:55:59 +02:00
Anton Khirnov
35386fbf41 doc/APIchanges: add missing hashes and dates 2013-04-24 09:48:57 +02:00
Michael Niedermayer
fc69033371 avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC, Try #2
This should fix building with MSVC until someone can change the
    code so it works with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 02:02:25 +02:00
Stefano Sabatini
dfdee6cab3 doc/filters: sort multimedia filters by name
Also favor the video filter name for indexing, in case there is an a*
audio filter variant.
2013-04-23 22:48:47 +02:00
Stefano Sabatini
638ffb2413 lavfi/hue: rework logic for setting commands
In particular, fix h/H commands in case h and H are not specified as
initial parameters.
2013-04-23 22:33:53 +02:00
Martin Storsjö
486f76f029 x86: Get rid of duplication between *_rnd_template.c
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-23 23:30:17 +03:00
Hendrik Leppkes
feec9349d3 mpegvideo: unref cur/next/prev frames when flushing
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-23 19:11:59 +02:00
Michael Niedermayer
b21b2ca95b Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Read block_align from extradata when decoding qclp in aiff.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 16:58:31 +02:00
Carl Eugen Hoyos
9526c9ccc3 Read block_align from extradata when decoding qclp in aiff.
Fixes ticket #1287.
2013-04-23 16:19:26 +02:00
Michael Niedermayer
488c760091 doc/filters: document geq rgb mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 16:13:53 +02:00
Michael Niedermayer
8f04220df8 avfilter/geq: rgb support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 16:06:37 +02:00
Paul B Mahol
ad56535dd1 avformat: fix orig_pos type to match pkt->pos
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-23 13:56:34 +00:00
Martin Storsjö
6a8561dbd7 x86: Factorize duplicated inline assembly snippets
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 15:07:31 +02:00
Michael Niedermayer
7a617d6c17 avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC
This should fix building with MSVC until someone can change the
code so it works with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 12:46:28 +02:00
Nicolas Bertrand
2e2d24667a jpeg2000: Add mutlti-threading support to decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 11:53:04 +02:00
Michael Niedermayer
0a73803c86 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Move some conditional code around to avoid unused variable warnings

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavfilter/x86/vf_yadif_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 11:01:46 +02:00
Michael Niedermayer
5056cff125 Merge commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d'
* commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d':
  jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 10:24:49 +02:00
Michael Niedermayer
7c49c8b0ac Merge commit '94660c35249e11c53b9a9f0c2f85c4335b21eda7'
* commit '94660c35249e11c53b9a9f0c2f85c4335b21eda7':
  threads: always call thread_finish_setup for intra codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 10:12:58 +02:00
Michael Niedermayer
a9a537b154 avfilter/drawtext: add pict_type support
Fixes Ticket2470

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 03:35:28 +02:00
Clément Bœsch
15d2f26998 lavfi/overlay: support timeline through the new system. 2013-04-23 01:02:28 +02:00
Clément Bœsch
38853169ce lavfi: add 'enable' command injection to filters supporting timeline. 2013-04-23 01:02:28 +02:00
Clément Bœsch
fdd93eabfb lavfi: add timeline support.
Flag added in a few simple filters. A bunch of other filters can likely
use the feature as well.
2013-04-23 01:02:27 +02:00
Clément Bœsch
b8a5c76131 lavfi: add frame counter into AVFilterLink and use it in filters. 2013-04-23 01:02:27 +02:00
Piotr Bandurski
f4596e8bb6 mjpegdec: Add support for 4:1:1 YUV
Fixes part of ticket 2004
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 22:03:09 +02:00
Michael Niedermayer
2ae91c86f3 avcodec_get_context_defaults3: set codec_id
Fixes Ticket1996

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 21:44:05 +02:00
Michael Niedermayer
e2e9bee2da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Bump minor for JPEG 2000 decoder
  JPEG 2000 decoder for DCinema

The mqc code is merged, the rest is added independent of
the existing jpeg2000 decoder and encoder.

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/mqc.c
	libavcodec/mqc.h
	libavcodec/mqcdec.c
	libavcodec/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 20:00:54 +02:00
Michael Niedermayer
c1c2b0b339 avcodec: rename jpeg2000 decoder to j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 19:28:33 +02:00
Michael Niedermayer
7a556ebccf Merge commit '0c15a9aa7e1654a19144eb594f9639a57fd47482'
* commit '0c15a9aa7e1654a19144eb594f9639a57fd47482':
  sh4: Remove dubious aligned dsputil code

Conflicts:
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/h264chroma_init.c
	libavcodec/sh4/hpeldsp.c
	libavcodec/sh4/qpel.c

If someone wants to maintain the sh4 code in ffmpeg, wants to
add more optimizations, or volunteers to maintain any of
what is removed here and can confirm that they are faster.
Then please contact us!

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:59:23 +02:00
Michael Niedermayer
430d69c942 Merge commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85'
* commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85':
  x86: cavs: Refactor duplicate dspfunc macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:37:44 +02:00
Michael Niedermayer
74e1aa17df Merge commit 'a0d5ca4f0a8e2c34d784d503a12af6303424ac6a'
* commit 'a0d5ca4f0a8e2c34d784d503a12af6303424ac6a':
  mxfenc: Use correct printf format specifier for int64_t
  h264: Drop unused variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:33:37 +02:00
Michael Niedermayer
f84e373797 Merge commit '78fa0bd0f7067868943c0899907e313414492426'
* commit '78fa0bd0f7067868943c0899907e313414492426':
  x86: cavs: Put mmx-specific code into its own init function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:29:05 +02:00
Diego Biurrun
c1ad70c3cb x86: Move some conditional code around to avoid unused variable warnings 2013-04-22 17:50:02 +02:00
Janne Grunau
10f1a4d9bd jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12 2013-04-22 17:11:21 +02:00
Janne Grunau
94660c3524 threads: always call thread_finish_setup for intra codecs
Intra codecs do not need an update_thread_context() function and never
call ff_thread_finish_setup(). They rely on ff_thread_get_buffer()
calling it. So call it even if the get_buffer2 function pointer is
avcodec_default_get_buffer2 and it has not been called before.
2013-04-22 17:11:20 +02:00
Diego Biurrun
f13888afcc avcodec: Bump minor for JPEG 2000 decoder 2013-04-22 15:52:43 +02:00
Nicolas Bertrand
c81a706381 JPEG 2000 decoder for DCinema
Based on the 2007 GSoC project from Kamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Updated to current programming standards, style and many more small
fixes by Diego Biurrun <diego@biurrun.de>.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 15:38:29 +02:00
highgod0401
6d7ec4fc2e lavu/opencl:optimize compile kernel operation
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 15:07:54 +02:00
Michael Niedermayer
80d4d3a41d fate: re-enable af_join test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 14:54:38 +02:00
Paul B Mahol
2f11aa141a lavfi: remove mp=down3dright
Same funcionality is provided by stereo3d=ab[2]{l,r}:sbs[2]{l,r}.
Additional "features" are barely useful and cause crash or artifacts.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-22 11:49:13 +00:00
Paul B Mahol
0327400ee3 doc/filters: add examples for stereo3d
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-22 11:49:13 +00:00
Michael Niedermayer
2288c77689 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Remove some duplicate function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 13:07:20 +02:00
Michael Niedermayer
e4c0f258d3 Merge commit '9bfc6e02bae9de354fb9ba09a8a140e83eeadf7d'
* commit '9bfc6e02bae9de354fb9ba09a8a140e83eeadf7d':
  afifo: fix request_samples on the last frame in certain cases

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 13:02:29 +02:00
Michael Niedermayer
645d0384e8 Merge commit 'b845f5e97b655de0a191f736594777fec9754cf5'
* commit 'b845f5e97b655de0a191f736594777fec9754cf5':
  riff: Factor out WAVEFORMATEX parsing

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:53:58 +02:00
Michael Niedermayer
51286aaffc Merge commit '516089d5d86b6809a9458f9cf171f2bc9a8e2a25'
* commit '516089d5d86b6809a9458f9cf171f2bc9a8e2a25':
  riff: Add ACTRAC3+ guid

No change, this commit was in ffmpeg already with this formating

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:41:08 +02:00
Michael Niedermayer
05deb05fe9 Merge commit 'a3bf80a5aea577663354bd538e345b283bcb73de'
* commit 'a3bf80a5aea577663354bd538e345b283bcb73de':
  riff: Perform full lookup on WAVEFORMATEXTENSIBLE subformat guid

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:36:29 +02:00
Michael Niedermayer
52e40155a8 Merge commit 'e544782623caf1eb4b2429e9c4f35d6b627accba'
* commit 'e544782623caf1eb4b2429e9c4f35d6b627accba':
  riff: Move guid structs and helper functions into riff

Conflicts:
	libavformat/asf.h
	libavformat/riff.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 12:20:04 +02:00
Diego Biurrun
0c15a9aa7e sh4: Remove dubious aligned dsputil code
The code represents a considerable maintenance burden and it is not
clear that it gives a noticeable benefit to outweigh this after 10
years of improvements in compiler technology since its creation.
2013-04-22 12:12:24 +02:00
Diego Biurrun
b4ad7c54c8 x86: cavs: Refactor duplicate dspfunc macro 2013-04-22 12:05:09 +02:00
Diego Biurrun
a0d5ca4f0a mxfenc: Use correct printf format specifier for int64_t
libavformat/mxfenc.c:1861:9: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'int64_t' [-Wformat]
2013-04-22 12:05:09 +02:00
Diego Biurrun
fce99322b0 h264: Drop unused variable 2013-04-22 12:05:09 +02:00
Michael Niedermayer
369e5dcfc5 Merge commit '8e329dba378cef0ff6400c7df9c51da167d5a1f0'
* commit '8e329dba378cef0ff6400c7df9c51da167d5a1f0':
  riff: check for eof if chunk size and code are 0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 11:46:22 +02:00
Michael Niedermayer
e381cc3e4e Merge commit '1c88617b9421c9af8ae961c05d2381b19c585026'
* commit '1c88617b9421c9af8ae961c05d2381b19c585026':
  riff: K&R formatting cosmetics

Conflicts:
	libavformat/riff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 10:50:05 +02:00
Diego Biurrun
78fa0bd0f7 x86: cavs: Put mmx-specific code into its own init function
Before, this code was labeled as mmxext and enabled both for the
3dnow and the mmxext case.
2013-04-22 10:42:50 +02:00
Diego Biurrun
311a592dfc x86: Remove some duplicate function declarations 2013-04-22 02:29:57 +02:00
Anton Khirnov
9bfc6e02ba afifo: fix request_samples on the last frame in certain cases
The current code can fail to return the last frame if it contains
exactly the requested number of samples.

Fixes the join filter test, which previously did not include the last
408 samples in most cases.

CC:libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 02:29:56 +02:00
Michael Niedermayer
de9fbf3dc4 indeo4: implement haar 8x1 and 1x8 transforms
Fixes Ticket1984
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 02:29:12 +02:00
Andy Martin
4ac2da3793 lavfi/fade: Added ability to do video fade based on timestamp 2013-04-21 20:57:02 +02:00
Michael Niedermayer
ebea370dc3 ismindex: check mkdir()s return code
Fixes CID733724
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 19:53:18 +02:00
Michael Niedermayer
bc7330a840 tools/ismindex: dont ignore return code of write_fragments()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 19:49:22 +02:00
Michael Niedermayer
047716bbd8 ffplay: check av_samples_get_buffer_size() return
Fixes CID1005310
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 18:56:18 +02:00
Stefano Sabatini
3e40b85683 lavfi: add interleave filters 2013-04-21 18:24:04 +02:00
Luca Barbato
b845f5e97b riff: Factor out WAVEFORMATEX parsing
Makes the code simpler to follow.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross
516089d5d8 riff: Add ACTRAC3+ guid
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross
a3bf80a5ae riff: Perform full lookup on WAVEFORMATEXTENSIBLE subformat guid
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Peter Ross
e544782623 riff: Move guid structs and helper functions into riff
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Luca Barbato
8e329dba37 riff: check for eof if chunk size and code are 0
Prevent an infinite loop.

Inspired by a patch from Michael Niedermayer

CC: libav-stable@libav.org

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:30 +02:00
Luca Barbato
1c88617b94 riff: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-21 18:20:12 +02:00
Stefano Sabatini
df766673e5 lavfi/sendcmd: drop now pointless sendcmd/asendcmd_init() wrappers 2013-04-21 17:27:32 +02:00
Stefano Sabatini
5e893df7ae lavfi/sendcmd: fix various "in in" rerepepetitions in messages 2013-04-21 17:27:25 +02:00
Nicolas George
fd7a7e11b9 lavfi/buffersink: fix possible leaks after allocation failures.
Should fix Coverity CID 1005313, 1005314, 1005315.
2013-04-21 16:11:36 +02:00
Nicolas George
b57c23f8c8 lavfi: add asetrate filter. 2013-04-21 15:20:50 +02:00
Michael Niedermayer
14369f59c5 ffmpeg_filter: fix leak on error
Fixes: CID1005311
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 11:59:34 +02:00
Michael Niedermayer
83330cf5fa init_vlc_sparse: fix leak on error
Fixes CID1005312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 11:55:19 +02:00
Pavel Koshevoy
0c77cdb491 libavfilter/af_atempo: Avoid round-off error build-up, ticket #2484
Current method for constraining fragment position drift suffers from
round-off error build up.

Instead of calculating cumulative drift as a sum of input fragment
position corrections, it is more accurate to calculate drift as the
difference between current fragment position and the ideal position
specified by the tempo scale factor.

Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 10:46:52 +02:00
Pavel Koshevoy
5a2a060378 libavfilter/af_atempo: Fix uninitialized memory access
valgrind reported uninitialized memory access which was caused by
incorrect number of samples being passed to push_samples(..)

Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 10:45:57 +02:00
Michael Niedermayer
2d23493020 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: hpeldsp: Include attributes.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 09:54:02 +02:00
Roberto Togni
8017683647 qdm2: initialize coeff_per_sb_select from bit_rate
The value of coeff_per_sb_select depends on the bit rate, not on
sub_sampling.
Also remove the calculation of tmp, no longer needed.

Fixes tickets #1868 and #742 (only audio part)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 02:00:06 +02:00
Michael Niedermayer
578d9cf7cc mxf_timestamp_to_str: dont leave uninitilaized fields in time.
Fixes CID1005318
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 00:26:20 +02:00
Michael Niedermayer
63090842df av_samples_alloc_array_and_samples: Fix sizeof type.
Fixes CID1005317
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 00:26:17 +02:00
Michael Niedermayer
eda61abc84 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: only do early frame drop if video queue is not empty
  ffplay: use AV_NOPTS_VALUE video frame pts instead of using 0
  ffplay: simplify aspect ratio calculation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 22:01:05 +02:00
Michael Niedermayer
4824aea7af avcodec/mpegvideo: change asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 21:31:19 +02:00
highgod0401
fdad04e756 avfilter/deshake_kernel: fix reset value bug of deshake kernel
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 19:55:58 +02:00
Paul B Mahol
a56fd051ee lavfi/stereo3d: support more formats for non-anaglyph outputs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-20 17:45:54 +00:00
Marton Balint
b8facbeecb ffplay: only do early frame drop if video queue is not empty
Fixes ticket #2446.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-20 18:32:09 +02:00
Marton Balint
d148339d19 ffplay: use AV_NOPTS_VALUE video frame pts instead of using 0
Assuming 0 pts may lead to bad framedrop decisions...

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-20 18:32:09 +02:00
Marton Balint
40693ba3ac ffplay: simplify aspect ratio calculation
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-20 18:32:09 +02:00
Michael Niedermayer
0dd25e4699 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Remove unused inline asm instruction defines
  vc1: Remove now unused variables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:24:15 +02:00
Michael Niedermayer
0e3d2b2c8d Merge commit '287c8db39e71af7047e551bbfd1264d771cccbc9'
* commit '287c8db39e71af7047e551bbfd1264d771cccbc9':
  cosmetics: bfin: Fix indentation in the dsputil init function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:19:59 +02:00
Michael Niedermayer
9ae56b85b6 Merge commit 'd4d186d185df98492d8935a87c5b5cf369db9748'
* commit 'd4d186d185df98492d8935a87c5b5cf369db9748':
  dsputil: Remove non-8bpp draw_edge

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:07:20 +02:00
Michael Niedermayer
bf66016e4c Merge commit 'c9f5fcd08c3a33bfb1b473705c792ab051e7428d'
* commit 'c9f5fcd08c3a33bfb1b473705c792ab051e7428d':
  dsputil: Merge 9-10 bpp functions for get_pixels and draw_edge

Conflicts:
	libavcodec/dsputil.c

No difference as this has been part of ffmpeg since a while and
the rebased commit does also not introduce new changes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:03:32 +02:00
Michael Niedermayer
f6dcd844ee Merge commit '619e0da19119bcd683f135fe9a164f37c0ca70d1'
* commit '619e0da19119bcd683f135fe9a164f37c0ca70d1':
  dsputil: Remove unused 32-bit functions

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:55:29 +02:00
Michael Niedermayer
c3624cfe76 Merge commit 'c443117f25e034c1e3ef35334b61b937e1e208ff'
* commit 'c443117f25e034c1e3ef35334b61b937e1e208ff':
  dsputil: Remove dct_bits

Conflicts:
	libavcodec/dsputil.c
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:43:33 +02:00
Martin Storsjö
6d0fbebf94 ppc: hpeldsp: Include attributes.h
This fixes building in configurations where altivec is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 16:43:01 +03:00
Michael Niedermayer
d2d2c309e8 Merge commit '54cd5e4f92de6bd0fb8e24069153b0156c8136bc'
* commit '54cd5e4f92de6bd0fb8e24069153b0156c8136bc':
  dsputil: Remove hpel functions (moved to hpeldsp)

Conflicts:
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:36:23 +02:00
Michael Niedermayer
6ec26157b9 Merge commit '2957d29f0531ccd8a6f4378293424dfd92db3044'
* commit '2957d29f0531ccd8a6f4378293424dfd92db3044':
  alpha: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/alpha/hpeldsp_alpha.c
	libavcodec/alpha/hpeldsp_alpha.h
	libavcodec/alpha/hpeldsp_alpha_asm.S
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:24:25 +02:00
Michael Niedermayer
fdb1f7eb7a Merge commit '78ce568e43a7f3993c33100aa8f5d56c4c4bd493'
* commit '78ce568e43a7f3993c33100aa8f5d56c4c4bd493':
  sparc: hpeldsp: Move vis half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.h
	libavcodec/sparc/dsputil_vis.c
	libavcodec/sparc/hpeldsp_vis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:11:06 +02:00
Michael Niedermayer
4bdec0e71e Merge commit '278bd2054ca61ab70dfe38f1774409cda2da5359'
* commit '278bd2054ca61ab70dfe38f1774409cda2da5359':
  sh4: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.h
	libavcodec/sh4/hpeldsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:04:06 +02:00
Michael Niedermayer
c5a11ab6d1 Merge commit 'bfb41b5039e36b7f873d6ea7d24b31bf3e1a8075'
* commit 'bfb41b5039e36b7f873d6ea7d24b31bf3e1a8075':
  bfin: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/bfin/Makefile
	libavcodec/bfin/hpel_pixels_bfin.S
	libavcodec/bfin/hpeldsp_bfin.c
	libavcodec/bfin/hpeldsp_bfin.h
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 14:31:11 +02:00
Michael Niedermayer
c4010972c4 Merge commit '7384b7a71338d960e421d6dc3d77da09b0a442cb'
* commit '7384b7a71338d960e421d6dc3d77da09b0a442cb':
  arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/hpeldsp_arm.S
	libavcodec/arm/hpeldsp_arm.h
	libavcodec/arm/hpeldsp_armv6.S
	libavcodec/arm/hpeldsp_init_arm.c
	libavcodec/arm/hpeldsp_init_armv6.c
	libavcodec/arm/hpeldsp_init_neon.c
	libavcodec/arm/hpeldsp_neon.S
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 14:19:08 +02:00
Michael Niedermayer
055e5c8e01 Merge commit '47e5a98174eb9c07ad17be71df129719d60ec8b7'
* commit '47e5a98174eb9c07ad17be71df129719d60ec8b7':
  ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.h
	libavcodec/ppc/hpeldsp_altivec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:52:58 +02:00
Michael Niedermayer
d0aa60da10 Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197'
* commit '8db00081a37d5b7e23918ee500bb16bc59b57197':
  x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/hpeldsp_rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:42:51 +02:00
Michael Niedermayer
3fee9fa022 Merge commit '28bc406c84b04a5f1458b90ff52ddbec73e46202'
* commit '28bc406c84b04a5f1458b90ff52ddbec73e46202':
  mjpeg: Use hpeldsp instead of dsputil for half-pel functions
  svq1enc: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	configure
	libavcodec/mjpegdec.c
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:21:18 +02:00
Michael Niedermayer
ab4ba6b74d Merge commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129'
* commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129':
  svq3: Use hpeldsp instead of dsputil for half-pel functions
  mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
  svq1: Use hpeldsp instead of dsputil for half-pel functions
  mimic: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	configure
	libavcodec/motion_est.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 10:12:07 +02:00
Michael Niedermayer
3c6621708b Merge commit '8071264f2196d71ff49c3944c33f8d3d83f548f1'
* commit '8071264f2196d71ff49c3944c33f8d3d83f548f1':
  interplayvideo: Use hpeldsp instead of dsputil for half-pel functions
  bink: Use hpeldsp instead of dsputil for half-pel functions
  indeo3: Use hpeldsp instead of dsputil for half-pel functions
  vp56: Use hpeldsp instead of dsputil for half-pel functions
  vp3: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	libavcodec/bink.c
	libavcodec/indeo3.c
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 10:01:54 +02:00
Michael Niedermayer
23de9e91df Merge commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0'
* commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0':
  hpeldsp: Add half-pel functions (currently copies of dsputil)

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 09:42:07 +02:00
Michael Niedermayer
6c9d28a229 vc1dec: Fix tff == 0 handling in init_block_index()
This fixes several files from VLC ticket5887

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Michael Niedermayer
a0fbc28c38 vc1dec: Fix non pullup tff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Michael Niedermayer
8ebfd7c49e h264: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Clément Bœsch
67cc31d6c7 lavf/gif: add final_delay option. 2013-04-20 00:11:04 +02:00
Clément Bœsch
a16c20569d lavf/gifdec: add loop support.
Loop is ignored by default.
2013-04-20 00:05:35 +02:00
Clément Bœsch
f5ede48fbb lavc/gif: miscellaneous cosmetics. 2013-04-19 23:59:22 +02:00
Clément Bœsch
7004cad36d Changelog: notify GIF improvements. 2013-04-19 23:59:22 +02:00
Clément Bœsch
5927ebab51 doc/general: animated GIF are now compressed. 2013-04-19 23:59:21 +02:00
Clément Bœsch
e1b35bdde2 lavc/gif: add flag to enable transparency detection between frames.
While this is not always optimal, in practice most of the common cases are.

  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags -transdiff -frames:v 50 -y bbb-notrans.gif
  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags +transdiff -frames:v 50 -y bbb-trans.gif

  -rw-r--r-- 1 ubitux ubitux 1.1M Apr 19 19:00 bbb-notrans.gif
  -rw-r--r-- 1 ubitux ubitux 378K Apr 19 19:00 bbb-trans.gif
2013-04-19 23:59:21 +02:00
Clément Bœsch
0f1250b7e5 lavc/gif: make possible to disable offsetting. 2013-04-19 23:59:21 +02:00
Martin Storsjö
b71a0507b0 x86: Remove unused inline asm instruction defines
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:54 +03:00
Martin Storsjö
a60136ee57 vc1: Remove now unused variables
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:49 +03:00
Michael Niedermayer
8f116bf71b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: cosmetics: More sensible order for entries in video filter file

Conflicts:
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:34:58 +02:00
Michael Niedermayer
e07e8882ae Merge commit 'a77aed142cade3beb0cd43f879d4f47daae23b8a'
* commit 'a77aed142cade3beb0cd43f879d4f47daae23b8a':
  fate: Rename video filters file and add separate video filters target

Conflicts:
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:26:55 +02:00
Michael Niedermayer
6c5989cce9 Merge commit 'b357f1d1d3dd1d6672df6a397a31be425d31b6d1'
* commit 'b357f1d1d3dd1d6672df6a397a31be425d31b6d1':
  fate: Split audio filters into their own separate file

Conflicts:
	tests/Makefile
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:13:20 +02:00
Michael Niedermayer
4cb59ad84b Merge commit '3eec1d41b4a947ba497f528e68da14a8befb85b9'
* commit '3eec1d41b4a947ba497f528e68da14a8befb85b9':
  fate: Reuse VREF and AREF variables where appropriate

Conflicts:
	tests/fate/filter.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:55:21 +02:00
Michael Niedermayer
f4b05cd841 Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'
* commit '5e83d9aced2fc2b2e1360452794c58aba55d497c':
  h264: fully support cropping.

Conflicts:
	doc/APIchanges
	libavcodec/h264.c
	libavcodec/h264_ps.c
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:46:51 +02:00
Martin Storsjö
287c8db39e cosmetics: bfin: Fix indentation in the dsputil init function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
d4d186d185 dsputil: Remove non-8bpp draw_edge
It is never used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
c9f5fcd08c dsputil: Merge 9-10 bpp functions for get_pixels and draw_edge
These only care about pixel storage unit size, not actual bits
used (i.e. they don't clip).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
619e0da191 dsputil: Remove unused 32-bit functions
Previously, if dct_bits was set to 32, we used separate 32-bit
versions of these functions. Since dct_bits now is removed,
remove the unused 32-bit versions of the functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
c443117f25 dsputil: Remove dct_bits
dct_bits is never set except in h264, where it is never used,
thus remove it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
54cd5e4f92 dsputil: Remove hpel functions (moved to hpeldsp)
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
2957d29f05 alpha: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
78ce568e43 sparc: hpeldsp: Move vis half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Michael Niedermayer
278bd2054c sh4: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:21 +03:00
Ronald S. Bultje
bfb41b5039 bfin: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:19:13 +03:00
Ronald S. Bultje
7384b7a713 arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:19:08 +03:00
Ronald S. Bultje
47e5a98174 ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:59 +03:00
Ronald S. Bultje
8db00081a3 x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:53 +03:00
Ronald S. Bultje
28bc406c84 mjpeg: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:38 +03:00
Ronald S. Bultje
1277dc07fb svq1enc: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:32 +03:00
Ronald S. Bultje
2f6bc5f7c1 svq3: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:27 +03:00
Ronald S. Bultje
f4fed5a2f9 mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
This also converts vc1, since that is mpegvideo-based.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:21 +03:00
Ronald S. Bultje
6caa44aa7d svq1: Use hpeldsp instead of dsputil for half-pel functions
This makes svq1 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:14 +03:00
Ronald S. Bultje
c10470035e mimic: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:08 +03:00
Ronald S. Bultje
8071264f21 interplayvideo: Use hpeldsp instead of dsputil for half-pel functions
This makes interplayvideo independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:02 +03:00
Ronald S. Bultje
0f0a11d576 bink: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:56 +03:00
Ronald S. Bultje
8f992dc8c7 indeo3: Use hpeldsp instead of dsputil for half-pel functions
This makes the Indeo 3 decoder independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:50 +03:00
Ronald S. Bultje
cb7ecb7563 vp56: Use hpeldsp instead of dsputil for half-pel functions
This makes vp5 and vp6 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:33 +03:00
Ronald S. Bultje
3bd062bf7f vp3: Use hpeldsp instead of dsputil for half-pel functions
This makes vp3 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:26 +03:00
Ronald S. Bultje
68d8238cca hpeldsp: Add half-pel functions (currently copies of dsputil)
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:17 +03:00
Michael Niedermayer
05b2c998c7 avcodec: Fix lowres handling in buffer allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:49:36 +02:00
Michael Niedermayer
a8b05dde0d Merge commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72'
* commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72':
  ff_get_buffer(): allocate the frame for max(coded,display) dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:49:29 +02:00
Michael Niedermayer
194d0399a2 Merge commit '505642f18276aed03278ac91b1f334ea888eac6a'
* commit '505642f18276aed03278ac91b1f334ea888eac6a':
  mp3dec: fallback to generic seeking when a TOC is not present

Conflicts:
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:36:23 +02:00
Diego Biurrun
bc7fbd36ea fate: cosmetics: More sensible order for entries in video filter file 2013-04-19 18:07:48 +02:00
Diego Biurrun
a77aed142c fate: Rename video filters file and add separate video filters target 2013-04-19 18:07:48 +02:00
Diego Biurrun
b357f1d1d3 fate: Split audio filters into their own separate file 2013-04-19 18:07:48 +02:00
Diego Biurrun
3eec1d41b4 fate: Reuse VREF and AREF variables where appropriate 2013-04-19 18:07:48 +02:00
Michael Niedermayer
833bc6678f avformat: change seeking index consistency asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 17:44:07 +02:00
Michael Niedermayer
42bcc4082d avcodec/mpegvideo_motion: Use a field from the current frame if the last is unavailable in DMV & 16x8
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 14:48:01 +02:00
Clément Bœsch
30e6a02c23 lavf/http: remove duplicated dec flag. 2013-04-19 14:44:58 +02:00
Christophe Gisquet
76c7277385 x86: sbrdsp: implement SSE2 hf_apply_noise
233 to 105 cycles on Arrandale and Win64.
Replacing the multiplication by s_m[m] by a pand and a pxor with
appropriate vectors is slower. Unrolling is a 15 cycles win.
A SSE version was 4 cycles slower.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 13:19:45 +02:00
Clément Bœsch
380cfce2b2 lavc: add AV_CODEC_PROP_TEXT_SUB.
CC are not marked. Also allow potential mixed types later.
2013-04-19 13:15:54 +02:00
Clément Bœsch
6189ff3679 lavf/gif: avoid forward declaration. 2013-04-19 12:11:10 +02:00
Clément Bœsch
a7c5b7a676 lavf/gif: correct the delay after the first frame.
To define accurately the delay between two frames, it is necessary to
have both available. Before this commit, the first frame had a delay of
0; while in practice the problem is not visible in most situation, it is
problematic with low frame rate and large scene change.

This commit notably fixes output generated with commands such as:

  ffmpeg -i big_buck_bunny_1080p_h264.mov
     -vf "select='gt(scene,0.4)',scale=320:-1,setpts=N/TB"
     -frames:v 5 -y out.gif

Also, to avoid odd loop delays, the N-1 delay is duplicated for the last
frame.
2013-04-19 12:02:19 +02:00
Anton Khirnov
5e83d9aced h264: fully support cropping.
Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com>

Fixes Bug 378.
2013-04-19 09:28:08 +02:00
Anton Khirnov
a7f46586bf ff_get_buffer(): allocate the frame for max(coded,display) dimensions
Needed e.g. for h264 cropping to work properly.
2013-04-19 09:26:53 +02:00
Michael Niedermayer
505642f182 mp3dec: fallback to generic seeking when a TOC is not present
Fixes seeking without a Xing/Info header.

CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-19 09:26:34 +02:00
Paul B Mahol
b63f7b3ac7 lavfi/afade: use AV_OPT_TYPE_DURATION
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-19 00:56:55 +00:00
Clément Bœsch
7e57adb464 lavf/gif: fix timing.
pkt->duration can not be used since the values are only based on frame
rate.
2013-04-19 02:15:57 +02:00
Clément Bœsch
13478b270a gif: use only one graphic control extension block per image.
The encoder now doesn't produce any extra graphic control extension
block anymore. Only the image is encoded, and the muxer writing
its own GCE containing notably the timing information now includes the
optional palette transmitted through packet side data.

This commit avoid setting clashes between the two GCE, and reduce the
size of the generated file with pal8 output.
2013-04-19 02:10:59 +02:00
Clément Bœsch
7b80b3cef0 lavc/utils: merge side data after video encode.
This allows encoders to communicate side data to the muxers.
2013-04-19 02:10:12 +02:00
Clément Bœsch
3d786591b8 fate/gif: create meaningful gif encoding tests. 2013-04-19 02:05:01 +02:00
Marton Balint
007989c7a2 mxfdec: fix return variable type for avio_seek
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 01:29:35 +02:00
Reimar Döffinger
a39cd8766f Fix multithreaded MPEG-4 decoding.
Regression since c10d498bfd.
Unfortunately ff_thread_get_format can only be called from
a separate decode thread, running it during init will fail.
Fixes for that are welcome, for now just revert back to
calling avctx->get_format directly, which is correct
but having to decide on a case-by-case basis which approach
to use is a bit messy.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-19 01:26:54 +02:00
Michael Niedermayer
7254afdf1c Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: make -aspect work with -vcodec copy.
  lavfi/vf_aspect: improve compatibility of parsing.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 01:02:21 +02:00
Michael Niedermayer
020c287f5e avformat: Dont stop probing before the whole id3 tag is read
When a file appears to start with a id3 tag and appears to
also be something else, then try to increase the probe buffer
size if its below its limit.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 23:48:32 +02:00
Stefano Sabatini
c6a43a7244 lavfi/mptestsrc: fix invalid access in case of negative linesize
In particular, fix crash with:
ffplay -f lavfi mptestsrc,vflip
2013-04-18 23:47:44 +02:00
Clément Bœsch
7c1a002c78 subtitles: introduce ASS codec id and use it.
Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA
markup is muxed in a standalone .ass/.ssa file. This means the AVPacket
data starts with a "Dialogue:" string, followed by a timing information
(start and end of the event as string) and a trailing CRLF after each
line. One packet can contain several lines. We'll refer to this layout
as "SSA" or "SSA lines".

In matroska, this markup is not stored as such: it has no "Dialogue:"
prefix, it contains a ReadOrder field, the timing information is not in
the payload, and it doesn't contain the trailing CRLF. See [1] for more
info. We'll refer to this layout as "ASS".

Since we have only one common codec for both formats, the matroska
demuxer is constructing an AVPacket following the "SSA lines" format.
This causes several problems, so it was decided to change this into
clean ASS packets.

Some insight about what is changed or unchanged in this commit:

  CODECS
  ------

  - the decoding process still writes "SSA lines" markup inside the ass
    fields of the subtitles rectangles (sub->rects[n]->ass), which is
    still the current common way of representing decoded subtitles
    markup. It is meant to change later.

  - new ASS codec id: AV_CODEC_ID_ASS (which is different from the
    legacy AV_CODEC_ID_SSA)

  - lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of
    "ass") for consistency with the codec id and allows to add a real
    ass decoder. This ass decoder receives clean ASS lines (so it starts
    with a ReadOrder, is followed by the Layer, etc). We make sure this
    is decoded properly in a new ass-line rectangle of the decoded
    subtitles (the ssa decoder OTOH is doing a simple straightforward
    copy). Using the packet timing instead of data string makes sure the
    ass-line now contains the appropriate timing.

  - lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed
    into "ssa" (instead of "ass") for consistency with the codec id, and
    allows to add a real "ass" encoder.

    One important thing about this encoder is that it only supports one
    ass rectangle: we could have put several dialogue events in the
    AVPacket (separated by a \0 for instance) but this would have cause
    trouble for the muxer which needs not only the start time, but also
    the duration: typically, you have merged events with the same start
    time (stored in the AVPacket->pts) but a different duration. At the
    moment, only the matroska do the merge with the SSA-line codec.

    We will need to make sure all the decoders in the future can't add
    more than one rectangle (and only one Dialogue line in it
    obviously).

  FORMATS
  -------

  - lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets.
    In the case of ASS packets as input, it adds the timing based on the
    AVPacket pts and duration, and mux it with "Dialogue:", trailing
    CRLF, etc.

  - lavf/assdec: unchanged; it currently still only outputs SSA-lines
    packets.

  - lavf/mkv: the demuxer can now output ASS packets without the need of
    any "SSA-lines" reconstruction hack. It will become the default at
    next libavformat bump, and the SSA support will be dropped from the
    demuxer. The muxer can take ASS packets since it's muxed normally,
    and still supports the old SSA packets. All the SSA support and
    hacks in Matroska code will be dropped at next lavf bump.

[1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
2013-04-18 23:23:59 +02:00
Nicolas George
b1cc12d0e3 ffmpeg: make -aspect work with -vcodec copy. 2013-04-18 22:59:54 +02:00
Nicolas George
b42827ffd9 lavfi/vf_aspect: improve compatibility of parsing.
Try to accept both the old "num:den" and the new "num/den"
syntax. Fix "aspect=2" being ignored due to a missing den.

Also remove a duplicated #include.
2013-04-18 20:51:55 +02:00
Michael Niedermayer
5b9675b5ac Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  examples/filtering_audio: fix frame leak.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 20:15:47 +02:00
Michael Niedermayer
23daee0dcc avcodec/mpegvideo_motion: Check P field references
If a reference is unavailable use a field from the current
picture
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 20:13:22 +02:00
Michael Niedermayer
4c8ce750ab svq3: use memmove to avoid overlap in memcpy.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 17:56:45 +02:00
Paul B Mahol
212960eea4 colorchannelmixer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 15:31:35 +00:00
Paul B Mahol
449cdd547b colorbalance filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 15:30:10 +00:00
Nicolas George
300ca0763b examples/filtering_audio: fix frame leak.
The frame is not used after being added to the filter
graph, there is no need to keep the reference.
2013-04-18 17:03:01 +02:00
Paul B Mahol
3e9c0217fd lavu: add av_clipd_c
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 14:38:21 +00:00
Michael Niedermayer
5ae484e350 evrcdec: use memmove() instead of memcpy() when regions can overlap.
This occurs also with valid files.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 16:20:49 +02:00
Clément Bœsch
90a56ebbe5 lavc/gif: avoid encoding 0x0 images.
It seems browsers don't like it very much.
2013-04-18 15:30:02 +02:00
Clément Bœsch
9db1c6455e lavf/gif: support only GIF codec. 2013-04-18 13:53:47 +02:00
Clément Bœsch
01367b0fca lavf/gif: merge gif_write_{packet,video}.
Avoid a pointless split.
2013-04-18 13:42:26 +02:00
Clément Bœsch
b7a3f14360 lavf/gif: trim unnecessarily long netscape ext code.
Extension description comments are now placed along the avio calls, the
always defined macro removed, and the always true loop_count check as
well (loop option is bound to 0-65535).
2013-04-18 13:42:14 +02:00
Clément Bœsch
0a0e6877ff lavf/gif: remove unused fields. 2013-04-18 13:40:45 +02:00
Clément Bœsch
28f9858c91 lavf/gif: simplify streams type checking. 2013-04-18 13:40:45 +02:00
Michael Niedermayer
978e373499 cmdutils: make the "-help filter=" output less confusing
Example:
Filter overlay
  Overlay a video source on top of the input.
    Inputs:
       #0: main (video)
       #1: overlay (video)
    Outputs:
       #0: default (video)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 13:03:00 +02:00
Carl Eugen Hoyos
99818ac4d3 Fix libswscale compilation with --disable-optimizations on x86-32.
Fixes ticket #2477.
2013-04-18 12:47:16 +02:00
Michael Niedermayer
ee94362c8a Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix pgc compilation with --disable-optimizations.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 03:00:31 +02:00
Michael Niedermayer
6998af4a40 avcodec/bitstream: check codes in ff_init_vlc_sparse()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 02:57:03 +02:00
Michael Niedermayer
fb3e3808ae avcodec/bitstream: Check bits in ff_init_vlc_sparse()
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 02:47:50 +02:00
Carl Eugen Hoyos
2ade23a7ad Fix pgc compilation with --disable-optimizations.
-O1 disables dead code elimination on pgc, use -O instead.
2013-04-18 02:20:04 +02:00
Michael Niedermayer
bdfe60c769 xan: Check for overlapping copies
No valid samples i found use such copies

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 01:55:42 +02:00
Clément Bœsch
32cc7ba8a7 fate: hot fix for gif failure. 2013-04-18 01:41:23 +02:00
Clément Bœsch
b6408ffc45 lavf/gif: fix assert in avio API after dfb3231. 2013-04-18 01:13:17 +02:00
Clément Bœsch
91a5b4d480 gif: remove outdated comments. 2013-04-18 00:43:38 +02:00
Clément Bœsch
8694e87127 lavc/gif: return more meaningful error code. 2013-04-18 00:24:25 +02:00
Clément Bœsch
71411b69a2 lavc/gif: merge two allocation checks. 2013-04-18 00:24:25 +02:00
Clément Bœsch
dfb323109c lavf/gif: simplify palette writing. 2013-04-18 00:24:25 +02:00
Clément Bœsch
7b972d82b6 gif: reindent after previous commits. 2013-04-18 00:24:25 +02:00
Clément Bœsch
e065e8a4ea lavc/gif: crop image when possible.
Increase compression when pictures are similar.

-f lavfi testsrc=300: 61M -> 21M
2013-04-18 00:24:25 +02:00
Clément Bœsch
635389ccfa Cleanse GIF muxer and encoder.
This commit removes the badly duplicated code between the encoder and
the muxer. That may sound surprising, but the encoder is now responsible
from the encoding of the picture when muxing to a .gif file. It also
does not require anymore a manual user intervention such as a -pix_fmt
rgb24 to work properly. To summarize, output gif are now easier to
generate, code is saner and simpler, and files are smaller (thanks to
the lzw encoding which was unused so far with the default .gif output).
We can certainly make things even better, but this is the first step.

FATE is updated because of the output being produced by the encoder and
not the muxer (no lzw in the muxer), and in the seek test only the size
mismatches.

Fixes Ticket #2262
2013-04-18 00:24:25 +02:00
Stefano Sabatini
1efcab02b6 lavfi/aspect: apply hot fix for NUM:DEN syntax 2013-04-17 23:37:22 +02:00
Stefano Sabatini
f04ec05f0e lavfi/setdar: fix num/den swapping in log message 2013-04-17 23:37:22 +02:00
Stefano Sabatini
f212c2380a lavfi/setsar: remove spurious #if FF_API_OLD_FILTER_OPTS around init field 2013-04-17 23:37:05 +02:00
Michael Niedermayer
c25224737c avutil/intfloat_readwrite: include common.h for isinf()
Solution based on rational.c, which uses isinf() too

This should fix compilation with msvc

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 23:22:22 +02:00
Stefano Sabatini
e252460c9b lavfi/mptestsrc: remove unused size field 2013-04-17 22:40:08 +02:00
Stefano Sabatini
db84088e99 lavfi/mptestsrc: use AV_OPT_TYPE_DURATION
Simplify.
2013-04-17 22:40:02 +02:00
Stefano Sabatini
bbf003e949 lavfi/mptestsrc: reindent option constants 2013-04-17 22:39:51 +02:00
Stefano Sabatini
3933963d7b lavfi/testsrc: fix style 2013-04-17 22:39:44 +02:00
Stefano Sabatini
7ab6312610 lavfi/testsrc: use int in place of unsigned
Avoid implicit int->unsigned conversion, causing invalid access in case
of negative linesize.

Fix crash with:
ffplay -f lavfi testsrc,vflip
2013-04-17 22:39:34 +02:00
Stefano Sabatini
5229b78371 lavfi/aspect: extend verbose feedback, show old SAR and DAR values 2013-04-17 22:39:26 +02:00
Stefano Sabatini
fe5ca6b913 lavfi/aspect: restore ratio parsing
Allow to set a ratio as "a:b" (with proper escaping), and correctly
honour the max parameter.
2013-04-17 22:39:20 +02:00
Stefano Sabatini
8bfd878151 lavfi/select: factorize options definition between select and aselect 2013-04-17 22:39:04 +02:00
Stefano Sabatini
dcc1b32361 lavfi/select: add support for dynamic number of outputs 2013-04-17 22:34:05 +02:00
Stefano Sabatini
565c50ac7b lavfi/select: make select_frame() return void
Set select->select internally to the function, avoid lossy double->int
conversion causing spurious frame drop (e.g. in case the evaluation
result is positive and less than 1).
2013-04-17 22:28:56 +02:00
Michael Niedermayer
0b3bd78714 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/buffersrc: fix failed requests count.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:32:13 +02:00
Michael Niedermayer
3220083c11 ra144: Try to fix int16/uint16 warnings from pgc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:31:11 +02:00
Michael Niedermayer
cc6f848dba avutil/intfloat_readwrite: avoid comparission with INFINITY, use isinf()
Should fix pgc warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:25:41 +02:00
Michael Niedermayer
45741dd81f vf_lut: fix simplification / off by 1 error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:25:41 +02:00
Paul B Mahol
1de7dcb457 lavfi/stereo3d: fix interleave row output modes
Linesizes that did not match output width produced several artifacts.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 17:34:17 +00:00
Clément Bœsch
7ee2daed9b lavfi/interlace: remove exec permissions. 2013-04-17 19:27:33 +02:00
Clément Bœsch
4c6fa4ef45 lavfi/lut: simplify nested component stepping. 2013-04-17 19:18:08 +02:00
Clément Bœsch
45f5bf917b lavfi/lut: reindent after previous commit. 2013-04-17 19:18:08 +02:00
Clément Bœsch
3db3b278f2 lavfi/lut: add direct path. 2013-04-17 19:18:08 +02:00
Michael Niedermayer
7f2253078d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: check motion vectors.

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 17:30:07 +02:00
Paul B Mahol
716588188d lavfi/stereo3d: check input width & height
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 15:16:48 +00:00
Michael Niedermayer
2787f7b188 Merge commit '34e6af9e204ca6bb18d8cf8ec68fe19b0e083e95'
* commit '34e6af9e204ca6bb18d8cf8ec68fe19b0e083e95':
  indeo3: fix data size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:57:45 +02:00
Michael Niedermayer
4029a5ebc2 Merge commit '66531d634e75b834e89e4a6a0f7470ca018712a1'
* commit '66531d634e75b834e89e4a6a0f7470ca018712a1':
  indeo3: switch parsing the header to bytestream2

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:50:34 +02:00
Michael Niedermayer
e5dc5095f9 Merge commit '01d376f598fe95478036f5d1e3e5e14ffe32d4bf'
* commit '01d376f598fe95478036f5d1e3e5e14ffe32d4bf':
  rv10: check that extradata is large enough

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:20:49 +02:00
Michael Niedermayer
4916e220a6 Merge commit 'bac8d38c0a716c8bdfdecf0ae545015c68f5df36'
* commit 'bac8d38c0a716c8bdfdecf0ae545015c68f5df36':
  rv10: return meaningful error codes.

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:10:23 +02:00
Michael Niedermayer
8cff853b23 Merge commit '69f6f03cd16a09e4e848b4e82bae4993bc361cd0'
* commit '69f6f03cd16a09e4e848b4e82bae4993bc361cd0':
  rv10: cosmetics, reformat
  qdm2: check that the FFT size is a power of 2

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:04:38 +02:00
Michael Niedermayer
0a946599f8 Merge commit 'ecff5acb5a738fcb4f9e206a12070dac4bf259b3'
* commit 'ecff5acb5a738fcb4f9e206a12070dac4bf259b3':
  svq1dec: clip motion vectors to the frame size.

Conflicts:
	libavcodec/svq1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:52:10 +02:00
Michael Niedermayer
251f283b9d Merge commit 'b1bb8fb860b47e90dd67f0c5740698128fc82dcc'
* commit 'b1bb8fb860b47e90dd67f0c5740698128fc82dcc':
  svq1dec: check that the reference frame has the same dimensions as the current one

Conflicts:
	libavcodec/svq1dec.c

See: 3b57bb478f

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:40:47 +02:00
Michael Niedermayer
f60ba6c524 Merge commit 'c0771a1ac6da697f86e3b10c8fe5dbc2ee92e347'
* commit 'c0771a1ac6da697f86e3b10c8fe5dbc2ee92e347':
  af_channelmap: cosmetics, use an extra local variable to shorten the code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:13:14 +02:00
Michael Niedermayer
74e86d3147 Merge commit 'aafed1175df76603e94c99a7748968780d6548d2'
* commit 'aafed1175df76603e94c99a7748968780d6548d2':
  af_channelmap: sanity check input channel indices in all cases.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:04:22 +02:00
Paul B Mahol
b725202546 lavfi/stereo3d: fix output width for sbsl/sbs2l
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 12:21:47 +00:00
Paul B Mahol
f0a149e538 lavfi: remove bad inverse telecine filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 11:51:16 +00:00
Anton Khirnov
a0a872d073 indeo3: check motion vectors.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:10:42 +02:00
Anton Khirnov
34e6af9e20 indeo3: fix data size check
The data offsets are relative to the bistream header, which is 16 bytes
after the start of the data.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:09:36 +02:00
Anton Khirnov
66531d634e indeo3: switch parsing the header to bytestream2
Also add an additional sanity check to the alt_quant table.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:08:49 +02:00
Clément Bœsch
a5ebd2d987 cmdutils: slightly better -filters output. 2013-04-17 11:57:37 +02:00
Nicolas George
e3e6aa7afb lavfi/buffersrc: fix failed requests count.
The line was lost during the AVFrame transition.
It causes programs relying on the failed requests count,
especially ffmpeg, to add frames to the wrong input.

Fix trac ticket #2467.
2013-04-17 11:32:03 +02:00
Pavel Koshevoy
e5644313c5 examples/filtering_audio: get rid of AVABufferSinkParams
AVABufferSinkParams are ignored by avfilter_graph_create_filter,
therefore the example is misleading.  Use av_opt_set_int_list to
configure abuffersink directly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 11:11:57 +02:00
Michael Niedermayer
f2619cbd61 examples/filtering_audio: enable ref counted frames
Fixes accessing freed memory

Signe-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 11:11:57 +02:00
Clément Bœsch
9db6aaeb2c ffplay: use format title metadata to set window caption. 2013-04-17 11:08:49 +02:00
Anton Khirnov
01d376f598 rv10: check that extradata is large enough
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 11:01:52 +02:00
Anton Khirnov
bac8d38c0a rv10: return meaningful error codes.
Also improve some error messages.
2013-04-17 11:01:17 +02:00
Anton Khirnov
69f6f03cd1 rv10: cosmetics, reformat 2013-04-17 10:58:29 +02:00
Anton Khirnov
34f87a5853 qdm2: check that the FFT size is a power of 2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:56:11 +02:00
Anton Khirnov
ecff5acb5a svq1dec: clip motion vectors to the frame size.
Fixes invalid reads for corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:51 +02:00
Anton Khirnov
b1bb8fb860 svq1dec: check that the reference frame has the same dimensions as the current one
They can be different if the last keyframe failed to decode correctly.
Fixes possible invalid reads in such a case.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:30 +02:00
Anton Khirnov
c0771a1ac6 af_channelmap: cosmetics, use an extra local variable to shorten the code 2013-04-17 08:37:59 +02:00
Anton Khirnov
aafed1175d af_channelmap: sanity check input channel indices in all cases.
Fixes invalid reads from non-existing channels.

CC:libav-stable@libav.org
2013-04-17 08:37:59 +02:00
Paul B Mahol
b8edf91657 lavfi/histeq: fix out of array write
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-17 00:24:16 +00:00
Michael Niedermayer
161dee4321 rmdec: dont return uninitialized data
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 02:16:58 +02:00
Carl Eugen Hoyos
fe1de12faf Remove two anonymous arrays.
Fixes compilation of pngenc.c and flvdec.c with PGC 13.4-0.
2013-04-17 00:37:05 +02:00
Carl Eugen Hoyos
9802f56684 ass_split: Do not use the function name as a parameter name in a declaration.
Fixes compilation of srtenc.o with PGC 13.4-0.
2013-04-17 00:35:00 +02:00
Michael Niedermayer
92218aad00 butterflies_float: replace 2 lea by 2 add
adds are simpler instructions and should be faster or equally fast
on all cpus

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 00:10:06 +02:00
Christophe Gisquet
1a4007964c x86: float dsp: butterflies_float SSE
97c -> 49c
Some codecs could benefit from more unrolling, but AAC doesn't.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 00:03:25 +02:00
Paul B Mahol
295ce83e2f lavfi/il: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:45:34 +00:00
Paul B Mahol
9bd1b1c1e7 lavfi/earwax: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:32:26 +00:00
Michael Niedermayer
0ea97a1c5b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cmdutils: Fix build with lavfi disabled
  flvenc: do not mux more than one stream per type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 23:23:16 +02:00
Paul B Mahol
c1fe41ed47 libaacpluc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:13:51 +00:00
Paul B Mahol
83253431b7 lavfi/stereo3d: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:07:21 +00:00
Paul B Mahol
9429408cc1 sgirledec: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 20:46:45 +00:00
Paul B Mahol
b05d8d4cf4 lavc: avcodec_open2(): pass context to av_log()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 20:46:34 +00:00
Stefano Sabatini
dc11acdf2d doc/filters: fix sentence in setsar/setdar docs 2013-04-16 22:15:40 +02:00
Stefano Sabatini
30926a1f1f lavfi/aspect: fix weird copyright notice 2013-04-16 22:15:34 +02:00
Stefano Sabatini
ba32afd70e lavfi/split: use AVFILTER_DEFINE_CLASS to define class 2013-04-16 22:15:24 +02:00
Anton Khirnov
7f1fd97636 cmdutils: Fix build with lavfi disabled
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-16 21:44:26 +02:00
Michael Niedermayer
bec402b502 mjpegdec: fix overlapping memcpy with upscale_v
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 20:15:24 +02:00
Paul B Mahol
6575539176 libaacplus: support for float sample format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 16:14:05 +00:00
Michael Niedermayer
13bbfb8fda sws: Skip ff_yuv2rgb_c_init_tables() when the output is YUV
Fixes "20bpp not supported by yuv2rgb" warning

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 17:50:43 +02:00
Michael Niedermayer
6b657ac788 avcodec/c93: Check for block overlap.
Fixes overlapping memcpy()

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 17:04:16 +02:00
Michael Niedermayer
e701cd96c2 avutil/avutil_version: Run checks just once
This ensures that applications that call avutil_version() often
would not run the checls every time

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 17:04:16 +02:00
Paul B Mahol
65efa1dbd9 lavfi/interlace: remove now unused av_opt_free() call
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 14:32:49 +00:00
Michael Niedermayer
2d8a3cf4c1 avutil/pixdesc: check for component overlap
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 15:10:13 +02:00
Michael Niedermayer
f807d6d200 avutil/pixdesc: check step/depth against each other
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 14:36:49 +02:00
Michael Niedermayer
20e99a9c10 avutil/pixdesc: support for self-checking the descriptors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 14:27:14 +02:00
Michael Niedermayer
1314f534e5 avutil/pixdesc: fix rgb0 descriptors
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 14:27:14 +02:00
Paul B Mahol
0b06bd1c7a libaacplus: set supported profiles
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 10:20:17 +00:00
Paul B Mahol
82082695de libaacplus: set supported channel_layouts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 10:20:17 +00:00
Michael Niedermayer
f05cfb654f sws/fill_rgb2yuv_table: use ROUNDED_DIV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 11:33:40 +02:00
Michael Niedermayer
bcf643486f sws/fill_rgb2yuv_table: increase precission to 32bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 11:33:40 +02:00
Michael Niedermayer
2fa11a94a3 sws/fill_rgb2yuv_table: avoid 2 divisions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 11:13:20 +02:00
Paul B Mahol
97b2865aa2 libaacplus: remove FF_API_OLD_ENCODE_AUDIO cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 08:44:56 +00:00
Rafaël Carré
5b27c307e7 flvenc: do not mux more than one stream per type
FLV does not support multiple audio or video streams.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-16 10:31:38 +02:00
Michael Niedermayer
003bf33747 sws: fix alignment of rgb2yuv
This should fix mingw32 fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 05:59:47 +02:00
Michael Niedermayer
7e20f80d2c fate: fix histogram test, try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 03:52:51 +02:00
Michael Niedermayer
7ed691e2db Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Set the bitexact flag for vp3/vp5/vp6 tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 01:02:14 +02:00
Michael Niedermayer
d98c3adef2 Merge commit '015821229f96bf7e677f2a711a58dbea3009f574'
* commit '015821229f96bf7e677f2a711a58dbea3009f574':
  vp3: Use full transpose for all IDCTs

Conflicts:
	libavcodec/vp3.c
	libavcodec/vp3dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:56:15 +02:00
Michael Niedermayer
05bea44393 Merge commit '5941978e71d2c3a8e2a7e87951e081e0b2e77da9'
* commit '5941978e71d2c3a8e2a7e87951e081e0b2e77da9':
  vp3: bfin: Transpose the IDCTs

Conflicts:
	libavcodec/bfin/vp3_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:50:33 +02:00
Michael Niedermayer
d5c31403aa Merge commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3'
* commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3':
  x86: Move constants to the only place where they are used

Conflicts:
	libavcodec/x86/vp3dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:44:20 +02:00
Michael Niedermayer
398b9ed28f Merge commit 'c0dcf89887f7fbdd7a8502bc7c715f50157562cb'
* commit 'c0dcf89887f7fbdd7a8502bc7c715f50157562cb':
  bfin: Match DEFUN_END macros to the right functions

Conflicts:
	libavcodec/bfin/pixels_bfin.S

This bug seems not to have existed in our bfin code, thus
no change in this merge

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:40:57 +02:00
Stefano Sabatini
41985cb0ab doc/filters: merge asplit and split documentation
Also move them to multimedia filters section.
2013-04-15 23:40:05 +02:00
Stefano Sabatini
3453b0196f lavfi/split: fix minor documentation issues
Use verbal form to describe "outputs" options, and mention it in the
manual.
2013-04-15 23:35:49 +02:00
Clément Bœsch
de656ea91e lavfi/drawtext: make options array more readable. 2013-04-15 21:49:18 +02:00
Michael Niedermayer
3950236332 sws/x86: update RENAME(rgb24toyv12)() to using the user provided rgb2yuv table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 21:44:50 +02:00
Michael Niedermayer
7a2a421d73 vf_histogram: avoid floats, unbreak fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 21:44:50 +02:00
Clément Bœsch
34186832de doc/filters: add a curves example with psfile. 2013-04-15 21:18:17 +02:00
Michael Niedermayer
6e29f39252 swr/rematrix: use av_calloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 20:31:06 +02:00
Michael Niedermayer
8a11114a79 pca: use av_calloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 20:31:06 +02:00
Michael Niedermayer
003d497d31 pca: use sizeof(variable) instead of sizeos(TYPE)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 20:31:06 +02:00
Paul B Mahol
a4f03f082b FATE: add a test for the histogram filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 16:40:26 +00:00
Paul B Mahol
9e6dd24fa1 doc/filters: move aphaser to right(audio) chapter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 16:23:08 +00:00
Paul B Mahol
8281791d07 lavfi/histogram: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 16:07:51 +00:00
Paul B Mahol
7770975979 lavfi/noise: remove pointless store
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 15:57:31 +00:00
Clément Bœsch
9ecdd76679 lavfi/curves: fix memleak after master component dition. 2013-04-15 18:04:35 +02:00
Michael Niedermayer
aba678ab9d deshake: fix off by 2 error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 16:23:28 +02:00
Michael Niedermayer
3d8afb23bc vf_deshake: Fix crash with r*=64
Replace literal numbers by named R_MAX and correct their value

Fixes half of Ticket2443

Based on patch by: João Bernardo <jbvsmo@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 14:28:19 +02:00
Martin Storsjö
6add6272da fate: Set the bitexact flag for vp3/vp5/vp6 tests
This is required since there are bit-inexact implementations
of the vp3 idct (for bfin).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 14:19:16 +03:00
Michael Niedermayer
1557f34b10 dfa: support decoding version=1.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 12:13:41 +02:00
Clément Bœsch
1cb02d4fbc lavfi/curves: add support for Photoshop curves files (.acv). 2013-04-15 11:35:46 +02:00
Clément Bœsch
99dac39339 lavfi/curves: add support for master component. 2013-04-15 11:35:06 +02:00
Ronald S. Bultje
015821229f vp3: Use full transpose for all IDCTs
This way, the special IDCT permutations are no longer needed. This
is similar to how H264 does it, and removes the dsputil dependency
imposed by the scantable code.

Also remove the unused type == 0 cases from the plain C version
of the idct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:32:05 +03:00
Martin Storsjö
5941978e71 vp3: bfin: Transpose the IDCTs
While this change isn't bitexact, the IDCTs weren't bitexact to
start with either.

This simplifies decoupling vp3 from dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:31:52 +03:00
Ronald S. Bultje
c46819f229 x86: Move constants to the only place where they are used
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:17:39 +03:00
Martin Storsjö
c0dcf89887 bfin: Match DEFUN_END macros to the right functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:13:26 +03:00
Michael Niedermayer
357da7ed42 sws: remove forgotten FAST_BGR2YV12 define
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 11:04:52 +02:00
Reimar Döffinger
c10d498bfd Add thread-safe wrapper for get_format().
Just like get_buffer, get_format should not be called from a different
thread if thread_safe_callbacks is not set.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Reimar Döffinger
8067f55edf Fix compilation on ARM with android gcc 4.7
With the current code it fails due to running out
of registers.
So code the store offsets manually into the assembler
instead.
Passes "make fate-dts".

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Michael Niedermayer
920dd84bf1 sws/x86: remove 8bit rgb2yuv coefficient case for rgb24toyv12 special converter
This simplifies the code and improves quality at the expense of a slight
slowdown of a rarely used function (no fate test uses it).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 03:19:52 +02:00
Michael Niedermayer
a37fd7f957 sws: Update rgb24toyv12_c() to user supplied rgb2yuv tables
As the function arguments change, we also change the function name
to ensure that anyone using this (non public) function doesnt end
with hard to debug crashes. The new name also has a proper prefix.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 03:08:37 +02:00
Michael Niedermayer
8e27c6ebbb sws/"rgb2rgb": drop RGB2YUV_SHIFT
Fixes a warning and increases the precission the coefficients

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 02:27:14 +02:00
Michael Niedermayer
2a5d1cb2d9 sws/x86: update rgba->yuv to use user supplied table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:31:01 +02:00
Michael Niedermayer
17ad06c753 sws/x86: update rgb/bgr->yuv code to use provided coefficient table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:31:01 +02:00
Michael Niedermayer
9aafb95ae2 sws: init input_rgb2yuv_table depending on yuv colorspace
For the default table we keep using the exact previous
coefficients, this way individual functions can be updated seperately
without breaking fate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:30:15 +02:00
Michael Niedermayer
3662e49dde sws: move RGB2YUV_SHIFT to swscale_internal.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 01:23:29 +02:00
Clément Bœsch
e66a10689b lavf/libquvi: fix error reporting. 2013-04-15 01:18:11 +02:00
Clément Bœsch
da1bb21c13 lavfi/aphaser: silence uninitialized variable warnings. 2013-04-15 01:12:26 +02:00
Paul B Mahol
977ee8afd6 lavfi/negate: stop calling lut_init() as that function does nothing now
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-14 22:22:16 +00:00
Paul B Mahol
6ffe911302 lavfi/testsrc: unbreak smptebars only build
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-14 21:13:39 +00:00
Clément Bœsch
8de9bb6e5e lavf: remove some flushing in write_packet muxers callbacks.
Since 4f112a8e3, this is not necessary anymore. Also, it allows to
actually disable the flushing.
2013-04-14 21:16:53 +02:00
Stefano Sabatini
bc1847addf doc/filters: remove mention to telecine mp filter
It was removed in 32a7b858c9.
2013-04-14 21:11:31 +02:00
Clément Bœsch
dfac37afd2 lavfi: add missing periods in filter descriptions. 2013-04-14 20:58:31 +02:00
Stefano Sabatini
f6c9a325b7 ffmpeg: show error message in case of av_buffersrc_add_frame_flags() failure 2013-04-14 20:30:37 +02:00
Stefano Sabatini
fba3a3bbfb doc: document -opencl_options option in ff* tools manuals 2013-04-14 20:30:34 +02:00
Clément Bœsch
1e3104cd3c Add avpriv_dsputil_init() and use it in lavfi where relevant.
dsputil_init() is deprecated and not meant to be exported.
ff_dsputil_init() is internal to libavcodec and thus can not be used.
avpriv_dsputil_init() is the version shared between libraries.

This commit fixes 3 unjustified libavfilter deprecated warnings.
2013-04-14 20:15:54 +02:00
Michael Niedermayer
d4956b0bfb sws/input: replace hardcoded rgb2yuv coefficients by table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 20:04:55 +02:00
Michael Niedermayer
41ebb64511 swscale/output: fix alpha scale in the new functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 16:57:09 +02:00
Michael Niedermayer
a4b5e45e2b sws/output: add yuv2rgb_full_1_c_template()
7500->4500 cycles on sandybridge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 16:57:09 +02:00
Clément Bœsch
458d956b09 doc/filters: move mpdecimate doc to a more appropriate position. 2013-04-14 15:59:37 +02:00
Clément Bœsch
7a92ec93c6 lavfi: port IVTC filters from vapoursynth. 2013-04-14 15:59:37 +02:00
Clément Bœsch
ab0ad6eccf lavfi: rename decimate to mpdecimate.
The next commit will introduce a proper decimation filter to be used
along with the field matching filter. To avoid confusion with this
filter which has currently a very limited usage (and will not work
properly with the fieldmatching filter), the new decimation filter will
take the decimate name, and this filter is renamed to mpdecimate.
2013-04-14 15:59:37 +02:00
Michael Niedermayer
9204a7dc8e sws/output: add +yuv2rgb_full_2_c_template()
8100 cycles -> 5800 cycles on sandybridge

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 15:32:11 +02:00
Michael Niedermayer
662664551c sws/output: factor yuv2rgb_write_full() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-14 13:29:58 +02:00
Clément Bœsch
f359be96ca lavfi/smptehdbars: fix priv_class pointer.
Fix Ticket2468.
2013-04-14 10:32:35 +02:00
Clément Bœsch
d9be6e69cf lavfi/testsrc: grammar fix in comment after 03e2ec32. 2013-04-14 03:27:48 +02:00
Paul B Mahol
03e2ec32b8 lavfi: add smptehdbars source
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-14 00:25:09 +00:00
Paul B Mahol
2952ed2b60 doc/filters: move telecine from audio to video filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-13 23:17:38 +00:00
Clément Bœsch
28ac8426e6 lavu/dict: cosmetic realign. 2013-04-13 23:48:26 +02:00
James Almer
572e38a513 log: Remove redundant va_list creation from missing_feature_sample()
avpriv_request_sample() and avpriv_report_missing_feature() were printing bogus values for the extra arguments.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 21:14:34 +02:00
Michael Niedermayer
38e66af43b Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavu/opt: check int lists length for overflow.
  lavu: add parens to macro argument.
  lavu: add av_pure to av_int_list_length_for_size.
  lavfi/buffersink: factor checks for lists sizes.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 20:38:31 +02:00
Michael Niedermayer
536baf6cc5 oggenc: Fix pref_duration AVOption type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 20:30:03 +02:00
Nicolas George
9e8e03de38 lavu/opt: check int lists length for overflow.
Also add parens on macro arguments.
2013-04-13 20:19:24 +02:00
Nicolas George
2a1d7ea5f8 lavu: add parens to macro argument. 2013-04-13 20:19:24 +02:00
Nicolas George
76c8060654 lavu: add av_pure to av_int_list_length_for_size. 2013-04-13 20:19:24 +02:00
Nicolas George
6fbb21d685 lavfi/buffersink: factor checks for lists sizes. 2013-04-13 20:19:24 +02:00
Michael Niedermayer
ded2f187a2 avcodec: fix ignorecrop AVOption offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 20:17:37 +02:00
Clément Bœsch
8137ea358c doc/filters: use common options introduction string. 2013-04-13 20:09:22 +02:00
Clément Bœsch
2b44195fc9 cmdutils: print if filters are sources or sinks. 2013-04-13 19:48:10 +02:00
Clément Bœsch
73180f5b0e lavfi: flag more dynamic i/o filters. 2013-04-13 19:43:17 +02:00
Hendrik Leppkes
423089e964 lavf/mxfdec: validate month/day before date formatting
Some implementations of strftime do not like invalid values for
month/day, so ensure it doesn't happen.

Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 18:07:08 +02:00
Matthieu Bouron
c8b3644494 lavf/mxf: fix parsing of timestamps
Correct bit mask for month/day/hour/min/sec values.

For reference the timestamp format specified in S377M is as follow:
  year (int16), month (uint8), day (uint8), hour (uint8), sec (uint8),
  msec (uint8).
A value of 0 for every fields means timestamp "unknown".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 17:26:16 +02:00
Hendrik Leppkes
8da2a3aba3 lavf/mxfdec: use more widely supported time format string
MSVC lacks support for %T and %F, but the standard specifies them
only as shorthands to the long variants.

Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 16:45:56 +02:00
Hendrik Leppkes
cac309611c lavf/mxf: fix parsing of the month from mxf timestamps
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 16:02:52 +02:00
Michael Niedermayer
9b672d4017 vf_mp: mp buffers are not compatible with the reference count system
We thus must copy each frame on the vf_mp output.

This fixes artifacts with "ffplay -threads 1 dnxhdconv.mov -vf mp=eq2=1:1"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 15:02:51 +02:00
Stefano Sabatini
87dd62e141 lavfi/testsrc: make use of AV_OPT_TYPE_DURATION
Simplify.
2013-04-13 14:09:16 +02:00
Clément Bœsch
dcea58502c lavfi: drop now unused shorthand field from AVFilter. 2013-04-13 00:45:30 +02:00
highgod0401
8f99494c1c avutil/opencl: merge opencl env to opencl context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:54:40 +02:00
Michael Niedermayer
34b78ad04f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Move some ifdefs to avoid unused variable warnings

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:38:41 +02:00
Michael Niedermayer
ed3680bc9b Merge commit '2004c7c8f763280ff3ba675ea21cf25396528fd3'
* commit '2004c7c8f763280ff3ba675ea21cf25396528fd3':
  x86: dsputil: cosmetics: Remove two pointless variable indirections

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:28:23 +02:00
Clément Bœsch
0bc34ef02e doc/utils: use @code markup for opencl function names. 2013-04-12 23:10:59 +02:00
Michael Niedermayer
694fa0035a Merge commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256'
* commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256':
  x86: dsputil: Refactor some ff_{avg|put}_pixels function declarations

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:36:31 +02:00
Michael Niedermayer
43bf4ee9a9 Merge commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522'
* commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522':
  x86: dsputil: ff_h263_*_loop_filter declarations to a more suitable place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:29:30 +02:00
Michael Niedermayer
52bda1d903 Merge commit 'a89c05500f68d94a0269e68bc522abfd420c5497'
* commit 'a89c05500f68d94a0269e68bc522abfd420c5497':
  x86: h264qpel: int --> ptrdiff_t for some line_size parameters

Conflicts:
	libavcodec/x86/qpelbase.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:22:27 +02:00
Paul B Mahol
a47288f6dc lavfi/hue: add support for more alpha formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-12 19:46:19 +00:00
Michael Niedermayer
9b595e86e3 avdevice/lavfi: add error checking for av_opt_set_int_list()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 20:39:07 +02:00
Michael Niedermayer
e87c1cdbb5 ffplay: replace opaque/params for buffersinks
This fixes a regression caused by droping opaque.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 20:39:07 +02:00
Paul B Mahol
047a027d0b lavfi/hue: copy alpha plane too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-12 18:32:46 +00:00
Clément Bœsch
72ad0d56a1 lavfi/hue: make do while (0) form meaningful. 2013-04-12 20:10:58 +02:00
Stefano Sabatini
9fa3b5b8a8 lavfi/crop: log pos in debug message 2013-04-12 19:16:28 +02:00
Stefano Sabatini
1d86fe6970 lavfi/crop: restore pos constant, and fix "t" variable misplacement in variable array
Fix evaluation of expressions containing the t variable.
2013-04-12 19:15:06 +02:00
Stefano Sabatini
9ae9ae10f9 doc/utils: apply misc fixes to OpenCL docs 2013-04-12 18:21:57 +02:00
Stefano Sabatini
949c8627b6 doc: merge syntax.texi, eval.texi and opencl.texi into utils.texi 2013-04-12 18:21:57 +02:00
Stefano Sabatini
b59aa00707 doc/libavutil: remove include of opencl.texi
This is inconsistent with the rest of the docs.
2013-04-12 18:21:57 +02:00
Michael Niedermayer
227b4458fb vf_interlace: fix frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:40:35 +02:00
Michael Niedermayer
ebbd4fd5f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a test for the interlace filter
  lavfi: new interlace filter

Conflicts:
	Changelog
	configure
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:32:33 +02:00
Michael Niedermayer
7e68491367 Merge commit '921046008f5335601f9d76dc3a768eb5cd91e1b9'
* commit '921046008f5335601f9d76dc3a768eb5cd91e1b9':
  cmdutils: allow -h filter=<name> to print information about a filter.

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:16:21 +02:00
Michael Niedermayer
608d86013a Merge commit 'e19e8aeeaaff3d4bc8f6065764c93f0298782ac6'
* commit 'e19e8aeeaaff3d4bc8f6065764c93f0298782ac6':
  avtools: move media_type_string() from avprobe to cmdutils.

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:56:20 +02:00
Michael Niedermayer
3dedcef8b8 avfilter: add missing AV_OPT_FLAG_FILTERING_PARAM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:47:16 +02:00
Michael Niedermayer
1007de7033 asetpts: add AVOptions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:46:52 +02:00
Michael Niedermayer
292f68154b avfilter: Filter options that are used for both video and audio should have both flags
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:45:28 +02:00
Michael Niedermayer
f81a8e89a1 Merge commit 'dc574658d15ad8f171dbdecbdce7197acf9424a0'
* commit 'dc574658d15ad8f171dbdecbdce7197acf9424a0':
  avconv: print filter options in -h full output.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:33:37 +02:00
Michael Niedermayer
7b6c0bda9e Merge commit 'bee2d75b66e2f02e0877796c01202299a4b56cfb'
* commit 'bee2d75b66e2f02e0877796c01202299a4b56cfb':
  avconv: update to the new options syntax.

Conflicts:
	ffmpeg_filter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:19:32 +02:00
Michael Niedermayer
9a91c67478 Merge commit 'f160c6a18a574b4c7d063e0a748037cbbd9912ee'
* commit 'f160c6a18a574b4c7d063e0a748037cbbd9912ee':
  lavfi: do not segfault on NULL passed to avfilter_get_by_name()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:14:08 +02:00
Michael Niedermayer
835cc0f2e7 Merge commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da'
* commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da':
  lavfi: change the filter registering system to match the other libraries

Conflicts:
	cmdutils.c
	ffplay.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h

This removes the ability to put AVFilters in read only memory and having
them shareable.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 15:08:40 +02:00
Michael Niedermayer
f4db6bfeb8 Merge commit '7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa'
* commit '7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa':
  lavfi: add a function for counting elements in AVFilterPad arrays.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:49:30 +02:00
Michael Niedermayer
16fc24b240 Merge commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65'
* commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65':
  lavfi: mark filters with dynamic number of inputs or outputs with special flags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:30:34 +02:00
Michael Niedermayer
46de9ba598 Merge commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58'
* commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58':
  lavfi: add avfilter_init_dict() for initializing a filter with a dict.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 14:25:27 +02:00
Clément Bœsch
6b5ec76283 lavfi: fix forgotten chunk in eb0f774d. 2013-04-12 14:08:04 +02:00
Michael Niedermayer
0acf7e268b avfilter: remove opaque passing hacks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:56:03 +02:00
Michael Niedermayer
3fc7b47145 buffersink: switch from opaque to AVOptions for params
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:47:40 +02:00
Michael Niedermayer
a1e7e02eaf abuffersink: switch from opaque to AVOptions for params
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 13:38:00 +02:00
Clément Bœsch
f16a6f667c lavfi/ocv: fix crash with no dilate arguments. 2013-04-12 13:01:17 +02:00
Clément Bœsch
490786c02e lavfi/ocv: fix crash with no filter name specified. 2013-04-12 12:44:23 +02:00
Clément Bœsch
51e71d6e11 lavfi/ocv: fix build after fd6228e65. 2013-04-12 12:37:33 +02:00
Michael Niedermayer
4a88989254 buffersink: remove shorthand
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:25:03 +02:00
Michael Niedermayer
f1e62af0e0 avfilter: remove mixed args hack for scale.
Our option handling code does not need this hack.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:19:48 +02:00
Nicolas George
62d888ef0e ffmpeg: use options for abuffersink.
Also remove unused buffersink_params.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:11:10 +02:00
Nicolas George
e48ded8551 lavfi/buffersink: accept parameters as options.
Move validation from init to query_formats().
Accept the formats lists as binary options.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:12:51 +02:00
Nicolas George
af0d270aac lavu: add helper functions for integer lists.
Add av_int_list_length() to compute a list length.
Add av_opt_set_int_list() to set a binary option.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:09:51 +02:00
Michael Niedermayer
3d7d819aad avfilter/asrc_aevalsrc: fix return code, 2nd try
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 12:02:06 +02:00
Michael Niedermayer
fd6228e657 lavfi: remove now unused args parameter from AVFilter.init and init_opaque
This is mostly automated global search and replace

The deprecated aconvert filter is disabled, if it still has users
it should be updated

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Anton Khirnov
d69a4177b9 lavfi: remove now unused args parameter from AVFilter.init
Conflicts:

	libavfilter/avfilter.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c
	libavfilter/vf_select.c
	libavfilter/vf_setpts.c
	libavfilter/vsrc_color.c
	libavfilter/vsrc_movie.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Michael Niedermayer
491d261ade avfilter/asrc_aevalsrc: check correct variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 11:54:39 +02:00
Clément Bœsch
dee2db523d doc/filters: update volume options description. 2013-04-12 11:51:54 +02:00
Paul B Mahol
ae8d435ba8 doc/filters: add quick emboss example
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-12 09:47:41 +00:00
Michael Niedermayer
04924bc923 avfilter: remove old shorthand system
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 10:59:12 +02:00
Clément Bœsch
9c5f392cbc doc/cropdetect: update boxblur options description. 2013-04-12 10:59:05 +02:00
Clément Bœsch
9811b7942d doc/crop: update boxblur options description. 2013-04-12 10:59:05 +02:00
Clément Bœsch
fc15ad408c doc/filters: update boxblur options description. 2013-04-12 10:59:05 +02:00
Clément Bœsch
8876b0816d doc/filters: update blackframe options description. 2013-04-12 10:59:05 +02:00
Michael Niedermayer
80116b6e67 af_pan: avoid spaces before % to avoid possible issues with MSVC
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 10:52:55 +02:00
Michael Niedermayer
3c821e7550 af_pan: switch to an AVOptions-based shorthand system.
TODO: The first argument can be seperated into its own AVOption

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 10:35:45 +02:00
Серж Нискородов
9470b541e5 af_pan: fix parsing arguments from the example in the documentation
pan=stereo: FL < FL + 0.5*FC + 0.6*BL + 0.6*SL : FR < FR + 0.5*FC +
0.6*BR + 0.6*SR

didn't actually work ('Expected out channel name, got " FL < FL"')
2013-04-12 10:02:01 +02:00
Michael Niedermayer
c378ba19b5 abuffer: switch to an AVOptions-based shorthand system.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 09:55:01 +02:00
Michael Niedermayer
16e5e13c7e buffersrc: switch to an AVOptions-based shorthand system.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 09:53:09 +02:00
Diego Biurrun
a3cb865310 x86: dsputil: Move some ifdefs to avoid unused variable warnings 2013-04-12 09:36:47 +02:00
Diego Biurrun
2004c7c8f7 x86: dsputil: cosmetics: Remove two pointless variable indirections 2013-04-12 09:36:47 +02:00
Diego Biurrun
c51a3a5bd9 x86: dsputil: Refactor some ff_{avg|put}_pixels function declarations 2013-04-12 09:36:46 +02:00
Diego Biurrun
e027032fc6 x86: dsputil: ff_h263_*_loop_filter declarations to a more suitable place 2013-04-12 09:36:46 +02:00
Pavel Koshevoy
8f3c440a39 lavfi/atempo: switch to an AVOptions-based system.
Signed-off-by: Pavel Koshevoy <pkoshevoy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 09:31:33 +02:00
Diego Biurrun
a89c05500f x86: h264qpel: int --> ptrdiff_t for some line_size parameters 2013-04-12 09:30:12 +02:00
Michael Niedermayer
9ab796127a avfilter: Update scale to dictionary based options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 02:34:40 +02:00
Michael Niedermayer
710b0aa801 Merge commit '48a5adab62bd2a553f5069d41fa632a0701835e5'
* commit '48a5adab62bd2a553f5069d41fa632a0701835e5':
  lavfi: add avfilter_init_str() to replace avfilter_init_filter().

avfilter_graph_create_filter() opaque is still passed to avfilter_init_filter()
which continues to pass it to init_opaque as its still used in the buffer sinks
the sinks should be changed and the opaque passing removed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 01:31:55 +02:00
Michael Niedermayer
eb0f774d4b Merge commit '1565cbc65cbb9f95c11367314a080068895e0cf0'
* commit '1565cbc65cbb9f95c11367314a080068895e0cf0':
  lavfi: make avfilter_free() remove the filter from its graph.

Conflicts:
	libavfilter/avfilter.c
	libavfilter/avfiltergraph.c
	libavfilter/graphparser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:54:05 +02:00
Michael Niedermayer
4fde705396 Merge commit '111367263af41c88a44bd763ceefc11d53a7f655'
* commit '111367263af41c88a44bd763ceefc11d53a7f655':
  lavfi: add AVFilterContext.graph.

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:44:18 +02:00
Michael Niedermayer
5c68e14e42 Merge commit 'c2c9801bc9bce688d51d1a96f5f3ea93933e2dee'
* commit 'c2c9801bc9bce688d51d1a96f5f3ea93933e2dee':
  lavfi: deprecate avfilter_graph_add_filter().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:39:09 +02:00
Michael Niedermayer
86070b8e5a Merge commit 'bc1a985ba030e9861d24965d42792850b43a43ea'
* commit 'bc1a985ba030e9861d24965d42792850b43a43ea':
  lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/internal.h
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 00:31:44 +02:00
Stefano Sabatini
9da369604e lavfi/overlay: improve feedback in case of invalid expression
Based on vf_hue.c code.
2013-04-12 00:18:39 +02:00
Stefano Sabatini
fdedfc029b doc/filters: rework Commands section for overlay filter 2013-04-12 00:18:39 +02:00
Stefano Sabatini
b2e22731e4 doc/filters: apply minor fixes to hue Commands section 2013-04-12 00:18:32 +02:00
Stefano Sabatini
aff6cebb41 lavfi/overlay: fix crash in case of invalid expression 2013-04-12 00:09:41 +02:00
Stefano Sabatini
ed2c827575 lavfi/overlay: add repeatlast option 2013-04-12 00:09:19 +02:00
Stefano Sabatini
a77454ec14 lavfi/overlay: reindent constants in option list
Wanted-By: ubitux
2013-04-12 00:07:46 +02:00
Michael Niedermayer
231fd4411f Merge commit '38f0c0781a6e099f11c0acec07f9b8be742190c4'
* commit '38f0c0781a6e099f11c0acec07f9b8be742190c4':
  lavfi: merge avfiltergraph.h into avfilter.h

Conflicts:
	doc/APIchanges
	ffmpeg_filter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.h
	libavfilter/version.h
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:50:39 +02:00
Clément Bœsch
9110f95985 doc/filters: use -af and -filter_complex instead of amovie for two examples. 2013-04-11 23:47:12 +02:00
Michael Niedermayer
9f3ae7aafd Merge commit '4a37d4b3f8137a4c2bbbca043de076af966b9446'
* commit '4a37d4b3f8137a4c2bbbca043de076af966b9446':
  lavfi: add const to the pads parameter of avfilter_pad_get_name/type
  lavfi: add const to AVFilterContext.filter.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:31:01 +02:00
Clément Bœsch
838d803155 lavfi/mp: switch to an AVOptions-based system. 2013-04-11 23:27:12 +02:00
Michael Niedermayer
70b72ca6f3 doc/encoders: Clarify that there are 2 prores encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:13:34 +02:00
Michael Niedermayer
b3c3996212 avcodec: rename prores encoders
Using the first names of authors sounds somewhat unprofessional
and might be considered offensive which is not intended.
The new names use the initials of the authors due to simplicity
and the possibility to apply it consistently without the need
to find political correct names for each future case where
alternative codecs might exist. Also its shorter ...

If someone has a better idea, like maybe 2 random letters
and people prefer it then iam happy to switch to that ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:13:34 +02:00
Stefano Sabatini
d980641ec4 doc/filters: fix fade-out hue saturation expression in sendcmd example 2013-04-11 23:03:18 +02:00
Stefano Sabatini
9ad27cd447 doc/filters: update hue command syntax after recent update 2013-04-11 23:03:18 +02:00
Clément Bœsch
7bd014eaec lavfi/aspect: fix d2q convert in init.
Regression since git 71ef1ec7b.
2013-04-11 22:46:47 +02:00
Michael Niedermayer
97104aa011 Merge commit 'f223ad1e000d56ef5231a3b1fc00495b538a9ed6'
* commit 'f223ad1e000d56ef5231a3b1fc00495b538a9ed6':
  doc: document the prores encoder options

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 22:36:12 +02:00
Michael Niedermayer
b2175b0f2a Merge commit '93e65e9a6c0895f869752a66731d9b2ec3916467'
* commit '93e65e9a6c0895f869752a66731d9b2ec3916467':
  Cosmetics, restore alphabetic order in atomics lists.

Conflicts:
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 22:22:06 +02:00
Clément Bœsch
9ab221f8d8 lavfi: deprecate aconvert.
This filter is not required anymore with aformat. Drop it at next bump.
2013-04-11 22:13:45 +02:00
Clément Bœsch
71ef1ec7b4 lavfi/aspect: switch to an AVOptions-based system.
This is heavily based on 2831b307 by Anton Khirnov <anton@khirnov.net>
2013-04-11 22:05:03 +02:00
Michael Niedermayer
647fe2e777 Merge commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795'
* commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795':
  img2enc: add an option for overwriting one file with subsequent images

Conflicts:
	doc/muxers.texi
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 21:50:53 +02:00
Stefano Sabatini
976e3439ed lavfi/flite: switch to AVOption-based system 2013-04-11 21:37:48 +02:00
Stefano Sabatini
160ed967f4 lavfi/hue: extend debugging message
In particular, show h value in degrees.
2013-04-11 21:37:43 +02:00
Stefano Sabatini
3411aba82c lavfi/hue: reindent after last commit 2013-04-11 21:37:35 +02:00
Stefano Sabatini
e4fd58f472 lavfi/hue: apply major simplifications, and switch to AVOption-based system
This also drops support for "flat syntax" and "reinit" command.

"reinit" command is not very robust and complicates the logic more than
necessary, since requires to reset all the options in the command.

*This is a syntax break*.
2013-04-11 21:37:19 +02:00
Vittorio Giovara
25882a7ff6 FATE: add a test for the interlace filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 21:33:58 +02:00
Vittorio Giovara
3fce136798 lavfi: new interlace filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 21:33:07 +02:00
Clément Bœsch
c36ab01cd2 lavfi/ebur128: remove now unused av_opt_free call. 2013-04-11 20:52:41 +02:00
Anton Khirnov
921046008f cmdutils: allow -h filter=<name> to print information about a filter. 2013-04-11 20:46:11 +02:00
Anton Khirnov
e19e8aeeaa avtools: move media_type_string() from avprobe to cmdutils.
It will be useful outside of avprobe.
2013-04-11 20:46:04 +02:00
Anton Khirnov
dc574658d1 avconv: print filter options in -h full output. 2013-04-11 20:45:55 +02:00
Anton Khirnov
bee2d75b66 avconv: update to the new options syntax.
The separators were changed from ',' to '|' in all the filters.
2013-04-11 20:44:45 +02:00
Anton Khirnov
f160c6a18a lavfi: do not segfault on NULL passed to avfilter_get_by_name() 2013-04-11 20:44:35 +02:00
Anton Khirnov
fa2a34cd40 lavfi: change the filter registering system to match the other libraries
Removes an arbitrary hardcoded limit on the number of filters.
2013-04-11 20:44:03 +02:00
Anton Khirnov
7e8fe4be5f lavfi: add a function for counting elements in AVFilterPad arrays.
The caller needs to know what valid indices can be passed to
avfilter_pad_get_name/type.
2013-04-11 20:43:47 +02:00
Anton Khirnov
7cdd737ba8 lavfi: mark filters with dynamic number of inputs or outputs with special flags
This will be useful in avtools in the following commits.
Any other caller might also want to know this information.
2013-04-11 20:42:41 +02:00
Michael Niedermayer
4f43e9b4af avfilter/aresample: use init_dict system and set child AVOption context correctly
Parts of this commit are based on: 4fa1f52e

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 20:40:59 +02:00
Michael Niedermayer
f6bfeef7fa avfilter: fix handing of child context options
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 20:40:30 +02:00
Anton Khirnov
1ba95a9cca lavfi: add avfilter_init_dict() for initializing a filter with a dict. 2013-04-11 20:40:20 +02:00
Anton Khirnov
48a5adab62 lavfi: add avfilter_init_str() to replace avfilter_init_filter().
Drop the unused opaque parameter from its signature.
2013-04-11 20:39:13 +02:00
Anton Khirnov
1565cbc65c lavfi: make avfilter_free() remove the filter from its graph. 2013-04-11 20:38:48 +02:00
Anton Khirnov
111367263a lavfi: add AVFilterContext.graph.
It will be useful in the following commits.
2013-04-11 20:38:23 +02:00
Anton Khirnov
c2c9801bc9 lavfi: deprecate avfilter_graph_add_filter().
Since this function adds a standalone filter to a filter graph and we do
not support creating such filters, there is no reason for this function
to exist.
2013-04-11 20:36:42 +02:00
Anton Khirnov
bc1a985ba0 lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
2013-04-11 20:34:14 +02:00
Anton Khirnov
38f0c0781a lavfi: merge avfiltergraph.h into avfilter.h
We do not support using filters without AVFilterGraph in practice
anyway, so there is no point in pretending we do.
2013-04-11 20:33:33 +02:00
Anton Khirnov
4a37d4b3f8 lavfi: add const to the pads parameter of avfilter_pad_get_name/type 2013-04-11 20:33:23 +02:00
Anton Khirnov
91d2efa7d6 lavfi: add const to AVFilterContext.filter.
lavfi should never modify the filter through that pointer.
2013-04-11 20:32:39 +02:00
Clément Bœsch
c1907bd732 lavfi/removelogo: switch to an AVOptions-based system. 2013-04-11 18:49:46 +02:00
Tobias Rapp
7f09b888e8 avienc: fix overflow of audio sample count
Fixes an overflow of the sample count field within the audio stream header
chunk if audio stream data exceeds 2GB.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 18:33:24 +02:00
Michael Niedermayer
865e20daf3 avfilter/f_select: use AVFrame metadata accessor function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 18:33:24 +02:00
Clément Bœsch
c74b0eda34 lavfi/amerge: switch to an AVOptions-based system. 2013-04-11 18:31:01 +02:00
Clément Bœsch
eabc0c733d ffmpeg: insert format filter with the appropriate separator.
Similar to 937325f3.
2013-04-11 18:05:46 +02:00
Clément Bœsch
23a750c994 lavfi: do not warn inappropriately with aevalsrc. 2013-04-11 18:01:12 +02:00
Clément Bœsch
937325f3db ffmpeg: insert aformat filter with the appropriate separator.
The ',' separator is deprecated with aformat, and thus causes various
arnings when transcoding audio.
2013-04-11 17:51:22 +02:00
Clément Bœsch
64ce15b9f4 lavfi/aevalsrc: switch to an AVOptions-based system. 2013-04-11 17:28:02 +02:00
James Almer
94d13df34c Fix compilation with --disable-everything --enable-filter=deshake
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:33:02 +02:00
Stephen Hutchinson
ff99b42e04 avformat/avisynth: Don't insert null frames or samples at the start of a stream.
This is the last remaining issue from ticket #2412

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:32:14 +02:00
Paul B Mahol
d185343687 libshine fixed point MP3 encoding support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 14:27:59 +00:00
Michael Niedermayer
fb78b94c3a cmdutils_common_opts: fix indention of #if
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:07:46 +02:00
Michael Niedermayer
0a95449d2f cmdutils: remove unneeded #if
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:07:11 +02:00
highgod0401
d757f7510b cmdutils: add opencl command line options to ffmpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 16:05:19 +02:00
Paul B Mahol
567feaafa8 lavfi/bbox: remove unused variables and functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 14:02:59 +00:00
Michael Niedermayer
580a0600ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Move misplaced file author information where it belongs

Conflicts:
	libavcodec/adpcm.c
	libavcodec/adpcmenc.c
	libavcodec/gif.c
	libavcodec/x86/dsputilenc_mmx.c
	libavcodec/x86/fmtconvert_init.c
	libavformat/au.c
	libavformat/gif.c
	libavformat/mov.c
	libavformat/nsvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 15:56:18 +02:00
Clément Bœsch
ad9e66a565 lavfi: add pp to the ':'-to-'|' compat layer. 2013-04-11 15:52:46 +02:00
Michael Niedermayer
cf7d3846fc Merge commit '9de9b828ef005dec37052548c195a6b4f18fc701'
* commit '9de9b828ef005dec37052548c195a6b4f18fc701':
  lavc: don't overwrite display dimensions with coded dimensions.
  lavc: extend / update the [coded_]{width,height} doxy

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c

The change to the w/h handling is not merged as it breaks lowres

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 15:42:32 +02:00
Clément Bœsch
e2e992c077 lavfi/asetnsamples: switch to an AVOptions-based system. 2013-04-11 15:40:15 +02:00
Clément Bœsch
1c0feee059 lavfi/anullsrc: switch to an AVOptions-based system. 2013-04-11 15:21:40 +02:00
Clément Bœsch
7464b9e319 lavfi: remove bbox from the filters left to update.
The filter doesn't take any option and thus works with the new system.
2013-04-11 15:14:07 +02:00
Paul B Mahol
11f6174a91 lavfi/blend: support more yuv pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 13:10:11 +00:00
Clément Bœsch
7fdebb116c lavfi/astreamsync: switch to an AVOptions-based system. 2013-04-11 15:09:25 +02:00
Clément Bœsch
2fb8ca7d2c lavfi/astreamsync: fix eval memleak. 2013-04-11 15:09:25 +02:00
Michael Niedermayer
5ec016ad0b Merge commit '20429ba96e55db17ac57f6c0e330914287f1f614'
* commit '20429ba96e55db17ac57f6c0e330914287f1f614':
  h261: Move encoder/decoder shared table init to common code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 14:48:27 +02:00
Clément Bœsch
ab4afcb85b lavfi/blackdetect: switch to an AVOptions-based system. 2013-04-11 14:48:19 +02:00
Clément Bœsch
7eb1ea2ae6 lavfi/sendcmd: switch to an AVOptions-based system. 2013-04-11 14:40:02 +02:00
Clément Bœsch
389eb0a919 lavfi/testsrc: remove useless args/NULL passing. 2013-04-11 14:36:50 +02:00
Michael Niedermayer
dd97736d4f avfilter: add missing ,
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 14:31:10 +02:00
Michael Niedermayer
567616c1b3 Merge commit '8a776ad90e00ab2b98e8683ac6182d641a383c3a'
* commit '8a776ad90e00ab2b98e8683ac6182d641a383c3a':
  h261: Move shared data tables from a header to a proper C file

Conflicts:
	libavcodec/Makefile
	libavcodec/h261data.c
	libavcodec/h261dec.c
	libavcodec/h261enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 14:25:38 +02:00
Paul B Mahol
38d1a5a270 lavfi/smptebars: switch to AVOptions-based system
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 12:22:42 +00:00
Clément Bœsch
3c2e4c2a9b lavfi/showwaves: switch to an AVOptions-based system. 2013-04-11 14:18:44 +02:00
Clément Bœsch
38788f2de5 lavfi: replace new filter list with filters left to update. 2013-04-11 14:06:39 +02:00
highgod0401
d83c481dc0 MAINTAINERS: add opencl maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:42:07 +02:00
Marton Balint
f1e606c762 mxfdec: update current edit unit when seeking in mxf files without index tables
Fixes audio packet pts values in some files generated by AVID TRMG 3.01.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:35:58 +02:00
Michael Niedermayer
eeb6efcd58 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  fate: add tests for unknown channel layouts.
  lavfi/buffersrc: update for compatibility with the fork.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:28:24 +02:00
Paul B Mahol
32a7b858c9 lavfi: remove telecine libmpcodecs wrapper
Native, with more features, filter is available.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 11:22:11 +00:00
Paul B Mahol
10b1cc63c2 lavfi: remove double .priv_class initializers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 11:13:42 +00:00
Paul B Mahol
661e284b4a telecine filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 11:12:39 +00:00
Nicolas George
08dd2c9df1 fate: add tests for unknown channel layouts. 2013-04-11 13:09:33 +02:00
Nicolas George
0d58bbb28d lavfi/buffersrc: update for compatibility with the fork.
Merge and adapt commit d28cb84 by Anton Khirnov.
2013-04-11 13:09:10 +02:00
Clément Bœsch
2844ea86c8 lavfi/curves: introduce "all" field in presets and use it. 2013-04-11 13:05:06 +02:00
Clément Bœsch
7e7dc1489f lavfi/curves: make possible to customize presets. 2013-04-11 13:05:06 +02:00
Clément Bœsch
a1e798ef0a lavfi/curves: fix a spacing weirdness. 2013-04-11 13:05:06 +02:00
Michael Niedermayer
c66c92add6 doc/opencl: speling and gramer fixes
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 13:00:04 +02:00
highgod0401
9d442b9cc0 opencl: add spec opencl device APIs 20130411
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:46:34 +02:00
Anton Khirnov
f223ad1e00 doc: document the prores encoder options
Adapted from the author's blag.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 12:42:09 +02:00
Clément Bœsch
4c9b031559 lavfi/smartblur: cleanup unused shorthand and doc. 2013-04-11 12:41:13 +02:00
Clément Bœsch
fcaea2170f lavfi/overlay: cleanup unused shorthand. 2013-04-11 12:41:13 +02:00
Clément Bœsch
3417280b57 lavfi/field: cleanup unused shorthand and doc. 2013-04-11 12:41:13 +02:00
Paul B Mahol
310bf28354 mss4: make code independent of sizeof(AVFrame)
Also fixes #2455.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 10:40:15 +00:00
Paul B Mahol
b6d5a948f9 mss4: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 10:40:15 +00:00
Michael Niedermayer
742c392885 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputil: Make dsputil selectable

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/x86/Makefile
	libavcodec/x86/constants.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_mmx.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:32:29 +02:00
Anton Khirnov
93e65e9a6c Cosmetics, restore alphabetic order in atomics lists. 2013-04-11 12:31:14 +02:00
Anton Khirnov
9e6b5e61a0 img2enc: add an option for overwriting one file with subsequent images
Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
2013-04-11 12:30:44 +02:00
Michael Niedermayer
65120f628c Merge commit '85deb51a01f1ecc5ac5faa52ad8ea141c384e23a'
* commit '85deb51a01f1ecc5ac5faa52ad8ea141c384e23a':
  h264: Only initialize dsputil if error resilience is enabled

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 12:00:05 +02:00
Michael Niedermayer
a87e85fa72 Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/setfield: switch to an AVOptions-based system.
  lavfi/asettb: switch to an AVOptions-based system.
  lavfi/aselect: switch to an AVOptions-based system.
  lavfi/sine: switch to an AVOptions-based system.
  lavfi/deshake: switch to an AVOptions-based system.
  lavfi/tinterlace: switch to an AVOptions-based system.
  lavfi/tile: switch to an AVOptions-based system.
  lavfi/concat: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:54:10 +02:00
Clément Bœsch
77add967a5 lavfi/setfield: switch to an AVOptions-based system. 2013-04-11 11:53:53 +02:00
Clément Bœsch
73c1a00e73 lavfi/asettb: switch to an AVOptions-based system. 2013-04-11 11:53:53 +02:00
Michael Niedermayer
0724b4a16d Merge commit '62844c3fd66940c7747e9b2bb7804e265319f43f'
* commit '62844c3fd66940c7747e9b2bb7804e265319f43f':
  h264: Integrate clear_blocks calls with IDCT

Conflicts:
	libavcodec/arm/h264idct_neon.S
	libavcodec/h264idct_template.c
	libavcodec/x86/h264_idct.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:53:19 +02:00
Clément Bœsch
cb2327e88d lavfi/aselect: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch
bca4cafaf2 lavfi/sine: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch
9ceb7bdf6f lavfi/deshake: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch
c85f56bb4f lavfi/tinterlace: switch to an AVOptions-based system. 2013-04-11 11:51:48 +02:00
Clément Bœsch
64a103138c lavfi/tile: switch to an AVOptions-based system. 2013-04-11 11:51:47 +02:00
Clément Bœsch
35a27402ad lavfi/concat: switch to an AVOptions-based system. 2013-04-11 11:51:47 +02:00
Michael Niedermayer
944ad46182 Merge commit 'e8cafd2773bc56455c8816593cbd9368f2d69a80'
* commit 'e8cafd2773bc56455c8816593cbd9368f2d69a80':
  h264: Clear the mb members via memset instead of using dsputil

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:40:05 +02:00
Michael Niedermayer
3bc3c78a59 Merge commit '6d25c9db11e87ec58652de6588448225137b0c57'
* commit '6d25c9db11e87ec58652de6588448225137b0c57':
  dsputil: Make square put/avg_pixels functions local to h264qpel

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:26:43 +02:00
Michael Niedermayer
cb20ca14a3 Merge commit '2e81acc687e64d15dd93c74793060bb5a233f44d'
* commit '2e81acc687e64d15dd93c74793060bb5a233f44d':
  x86inc: Fix number of operands for cmp* instructions
  af_channelmap: fix uninitialized variable use introduced in ba8efac977
  lavfi: add a bump and docs entries for the AVOptions switch

Conflicts:
	Changelog
	doc/APIchanges
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:20:55 +02:00
Michael Niedermayer
d7e8b3d831 Merge remote-tracking branch 'ubitux/lavfi-mixed-short-long'
* ubitux/lavfi-mixed-short-long:
  lavfi: restore mixed short/long option support with the new system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:09:51 +02:00
Michael Niedermayer
44d4488301 Merge commit '8114c101607843a86960bd3e0e9c40487dc2a961'
* commit '8114c101607843a86960bd3e0e9c40487dc2a961':
  lavfi: add avfilter_get_class().

Conflicts:
	libavfilter/avfilter.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:59:06 +02:00
Clément Bœsch
b89ce54e74 lavfi: restore mixed short/long option support with the new system.
process_unnamed_options() is renamed to process_options() and its code
is heavily based on av_opt_set_from_string().
2013-04-11 10:48:58 +02:00
Michael Niedermayer
0965be00fe Merge commit '4d1f31ea44f82adfb2b712534d71e27233a4f785'
* commit '4d1f31ea44f82adfb2b712534d71e27233a4f785':
  lavfi: make AVFilterContext export filter options.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:42:49 +02:00
Michael Niedermayer
c7b0a84e1f Merge commit '62549f9655c48f0ec061087fa33a96040ce01145'
* commit '62549f9655c48f0ec061087fa33a96040ce01145':
  lavfi: error out when options are provided to a filter that does not take any

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:34:05 +02:00
Michael Niedermayer
31428240ec Merge commit 'c43a7ecad997fc527af34b952334f3d030709a1b'
* commit 'c43a7ecad997fc527af34b952334f3d030709a1b':
  lavfi: remove now unused args parameter from AVFilter.init

Conflicts:
	libavfilter/avfilter.c
	libavfilter/buffersrc.c
	libavfilter/f_select.c
	libavfilter/src_movie.c
	libavfilter/vf_alphamerge.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_lut.c

Not merged (yet) because there are still many filters that use the args
parameter.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:25:42 +02:00
Michael Niedermayer
ef29a95a4d Merge commit '7b3eb745b98b04dd8a4970b9fd6c98998e858fc1'
* commit '7b3eb745b98b04dd8a4970b9fd6c98998e858fc1':
  vsrc_testsrc: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vsrc_testsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 10:02:07 +02:00
highgod0401
db2de94e95 avutil/opencl: add opencl device list APIs 20130411
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:48:57 +02:00
Michael Niedermayer
3a3d984445 Merge commit 'a42d6e6c4c19912b73cae8ca9133b4202667c303'
* commit 'a42d6e6c4c19912b73cae8ca9133b4202667c303':
  vsrc_movie: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/src_movie.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:41:08 +02:00
Michael Niedermayer
670e0f7f66 Merge commit 'b7b3302f8f2c7d9f6e08e0a976890eefe3edcc9e'
* commit 'b7b3302f8f2c7d9f6e08e0a976890eefe3edcc9e':
  vsrc_nullsrc: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vsrc_nullsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:20:43 +02:00
Michael Niedermayer
8bafd83aaa Merge commit '7bc1a883c9158bb6e383d86fc76bdf2541e9a9fe'
* commit '7bc1a883c9158bb6e383d86fc76bdf2541e9a9fe':
  vsrc_color: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vsrc_color.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 03:10:43 +02:00
Michael Niedermayer
7f2198a2f1 Merge commit '73d5d405d424c06f3f354337cfdb24794932094d'
* commit '73d5d405d424c06f3f354337cfdb24794932094d':
  split: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:50:21 +02:00
Michael Niedermayer
ae6634da8b Merge commit 'b13623e184759f37348b8fdb1276b1bb408f3e59'
* commit 'b13623e184759f37348b8fdb1276b1bb408f3e59':
  af_volume: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:44:13 +02:00
Diego Biurrun
ac9362c5d9 Move misplaced file author information where it belongs 2013-04-11 02:42:11 +02:00
Michael Niedermayer
8905a811b7 Merge remote-tracking branch 'richardpl/biquads'
* richardpl/biquads:
  lavfi/biquads: switch to an AVOptions-based system

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:38:05 +02:00
Michael Niedermayer
42c70b3584 Merge commit 'dd7fc37c71955b78a2687f29e871f714d18de386'
* commit 'dd7fc37c71955b78a2687f29e871f714d18de386':
  af_join: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_join.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:37:43 +02:00
Paul B Mahol
e6067acc8d lavfi/biquads: switch to an AVOptions-based system
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 00:34:19 +00:00
Michael Niedermayer
5e5ef6e8ae Merge remote-tracking branch 'richardpl/framestep'
* richardpl/framestep:
  lavfi/framestep: remove request_frame hack
  lavfi/framestep: switch to an AVOptions-based system

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:31:14 +02:00
Paul B Mahol
7c79ec66b6 lavfi/framestep: remove request_frame hack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 00:18:28 +00:00
Paul B Mahol
f77db72965 lavfi/framestep: switch to an AVOptions-based system
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 00:18:28 +00:00
Michael Niedermayer
f17651bd16 Merge commit '3f14febbdf7c93bbd186399da27991180e5916b6'
* commit '3f14febbdf7c93bbd186399da27991180e5916b6':
  af_channelsplit: switch to an AVOptions-based system.

Conflicts:
	libavfilter/af_channelsplit.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:17:28 +02:00
Michael Niedermayer
d9d7c54960 Merge commit 'ba8efac977f4276f05274947b2b67d144cbc965a'
* commit 'ba8efac977f4276f05274947b2b67d144cbc965a':
  af_channelmap: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_channelmap.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:10:12 +02:00
Michael Niedermayer
5714812237 Merge remote-tracking branch 'mbouron/shorthand-cleanup'
* mbouron/shorthand-cleanup:
  lavfi/aphaser: switch to AVOption-based system
  lavfi/apad: switch to AVOption-based system
  lavfi/afade: switch to AVOption-base system
  lavfi/blend: switch to AVOption-based system

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:53:08 +02:00
Michael Niedermayer
ac217bda30 Merge commit 'b2b25b0659fa047da6266d2ce165d43011136b30'
* commit 'b2b25b0659fa047da6266d2ce165d43011136b30':
  af_asyncts: switch to an AVOptions-based system.

Conflicts:
	libavfilter/af_asyncts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:42:28 +02:00
Matthieu Bouron
f43da3def7 lavfi/aphaser: switch to AVOption-based system 2013-04-11 01:37:57 +02:00
Michael Niedermayer
314be1933e Merge commit 'ac20e3ab8ed497549ee2a62754f01eee5e7a5066'
* commit 'ac20e3ab8ed497549ee2a62754f01eee5e7a5066':
  af_amix: switch to an AVOptions-based system.

Conflicts:
	libavfilter/af_amix.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:32:08 +02:00
Matthieu Bouron
a5ce5ac9fb lavfi/apad: switch to AVOption-based system 2013-04-11 01:31:08 +02:00
Matthieu Bouron
2b17e58163 lavfi/afade: switch to AVOption-base system 2013-04-11 01:25:02 +02:00
Matthieu Bouron
6afed2aec1 lavfi/blend: switch to AVOption-based system 2013-04-11 01:25:02 +02:00
Michael Niedermayer
ab6091f8e2 Merge commit '7536c671040f1f3ebc9f0d3b7831dac71436b775'
* commit '7536c671040f1f3ebc9f0d3b7831dac71436b775':
  vf_yadif: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_yadif.c
	libavfilter/yadif.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:18:18 +02:00
Michael Niedermayer
8ac7090c23 Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/idet: switch to an AVOptions-based system.
  lavfi/histogram: switch to an AVOptions-based system.
  lavfi/stereo3d: switch to an AVOptions-based system.
  lavfi/noise: switch to an AVOptions-based system.
  lavfi/histeq: switch to an AVOptions-based system.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:05:14 +02:00
Clément Bœsch
7668b6832d lavfi/idet: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch
b2d589188f lavfi/histogram: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch
d5226fc575 lavfi/stereo3d: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch
a689a6b698 lavfi/noise: switch to an AVOptions-based system. 2013-04-11 01:04:45 +02:00
Clément Bœsch
e4bd1db88e lavfi/histeq: switch to an AVOptions-based system. 2013-04-11 01:04:44 +02:00
Michael Niedermayer
72ce979f10 Merge remote-tracking branch 'mbouron/shorthand-cleanup'
* mbouron/shorthand-cleanup:
  lavfi/kerndeint: switch to AVOption-based system
  lavfi/il: switch to AVOption-based system

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:03:08 +02:00
Michael Niedermayer
c2696dabbb Merge commit 'b83e9efc53e5491716625aa31c69006b1119b280'
* commit 'b83e9efc53e5491716625aa31c69006b1119b280':
  vf_unsharp: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_unsharp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 01:02:07 +02:00
Matthieu Bouron
531158e6be lavfi/kerndeint: switch to AVOption-based system 2013-04-11 00:55:45 +02:00
Michael Niedermayer
b4ffc35e76 Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/mptestsrc: switch to an AVOptions-based system.
  lavfi/mandelbrot: switch to an AVOptions-based system.
  lavfi/life: switch to an AVOptions-based system.
  lavfi/cellauto: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 00:37:32 +02:00
Michael Niedermayer
a4e0defa75 Merge commit '0c2466dec719b933d161f5d680a57fde38aa5daa'
* commit '0c2466dec719b933d161f5d680a57fde38aa5daa':
  vf_transpose: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_transpose.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 00:33:31 +02:00
Matthieu Bouron
6f46403cb0 lavfi/il: switch to AVOption-based system 2013-04-11 00:31:25 +02:00
Clément Bœsch
4ecee69b20 lavfi/mptestsrc: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch
791da4706c lavfi/mandelbrot: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch
bd85fee914 lavfi/life: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Clément Bœsch
169880e31d lavfi/cellauto: switch to an AVOptions-based system. 2013-04-11 00:21:47 +02:00
Stefano Sabatini
cff8f91ddf lavfi/decimate: switch to an AVOption-based system 2013-04-11 00:20:01 +02:00
Stefano Sabatini
2040b428b4 lavfi/field: switch to AVOption-based system
Also remove mention to syntax explanation which is or will be redundant
and possibly confusing.
2013-04-11 00:16:25 +02:00
Michael Niedermayer
6a2fb5b90c Merge commit 'ffea3b00c39caa8ad78456ae08c8353929974dfd'
* commit 'ffea3b00c39caa8ad78456ae08c8353929974dfd':
  vf_settb: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_settb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 00:10:59 +02:00
Stefano Sabatini
8695d9de47 lavfi/smarblur: add missing newline at end of verbose message 2013-04-11 00:04:27 +02:00
Stefano Sabatini
2ffee3ec14 lavfi/smartblur: switch to AVOption-based system 2013-04-11 00:04:27 +02:00
Michael Niedermayer
f42635a50b Merge commit '33b97faaba2744f0a2fd65c0ef9ecc2de3fad7ff'
* commit '33b97faaba2744f0a2fd65c0ef9ecc2de3fad7ff':
  vf_setpts: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_setpts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:49:58 +02:00
Michael Niedermayer
270d3c96ec Merge remote-tracking branch 'ubitux/shorthand-cleanup'
* ubitux/shorthand-cleanup:
  lavfi/subtitles: switch to an AVOptions-based system.
  lavfi/pp: switch to an AVOptions-based system.
  lavfi/geq: switch to an AVOptions-based system.
  lavfi/edgedetect: switch to an AVOptions-based system.
  lavfi/curves: switch to an AVOptions-based system.
  lavfi/colormatrix: switch to an AVOptions-based system.
  lavfi/perms: switch to an AVOptions-based system.
  lavfi/ebur128: switch to an AVOptions-based system.
  lavfi/showspectrum: switch to an AVOptions-based system.
  lavfi/silencedetect: switch to an AVOptions-based system.
  lavfi/thumbnail: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:29:05 +02:00
Michael Niedermayer
b3fb2d8cec Merge commit '95f1f56a21bc2f824af6fb97ca7ab35cdd0c401e'
* commit '95f1f56a21bc2f824af6fb97ca7ab35cdd0c401e':
  vf_select: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/f_select.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 23:24:48 +02:00
Clément Bœsch
e2b0edb6ac lavfi/subtitles: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch
8da1fff85a lavfi/pp: switch to an AVOptions-based system.
Also add and use the '|' separator instead of ':' since it's
incompatible with the new option system...
2013-04-10 23:16:03 +02:00
Clément Bœsch
f8eabab04d lavfi/geq: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch
1cdb9f48db lavfi/edgedetect: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch
34610e11e7 lavfi/curves: switch to an AVOptions-based system. 2013-04-10 23:16:03 +02:00
Clément Bœsch
8da1f1f208 lavfi/colormatrix: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch
8388e1e2b3 lavfi/perms: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch
5afd58fbb4 lavfi/ebur128: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch
4964ec2cd4 lavfi/showspectrum: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch
1b1688bfc6 lavfi/silencedetect: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Clément Bœsch
7c11c21669 lavfi/thumbnail: switch to an AVOptions-based system. 2013-04-10 23:16:02 +02:00
Michael Niedermayer
7e99ccf5d8 Merge commit '40c885c589808455a1c4b473509f1e6cd4908f55'
* commit '40c885c589808455a1c4b473509f1e6cd4908f55':
  vf_pad: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:50:32 +02:00
Paul B Mahol
16f1e832ba lavfi/overlay: remove dupe initializer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-10 20:44:11 +00:00
Michael Niedermayer
e434ddd4c6 Merge commit '9087eaf193b8ce99c41352064a81916fa66adb49'
* commit '9087eaf193b8ce99c41352064a81916fa66adb49':
  vf_overlay: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_overlay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:27:20 +02:00
Michael Niedermayer
8bdb119197 Merge commit '20b46f8f4fff6aeeab9ea418dc359eda8887ced6'
* commit '20b46f8f4fff6aeeab9ea418dc359eda8887ced6':
  vf_lut: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_lut.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 22:13:34 +02:00
Michael Niedermayer
94ec709e3b Merge commit 'ee0e8d4b15a87932ab6066cd6eae3cab08726319'
* commit 'ee0e8d4b15a87932ab6066cd6eae3cab08726319':
  vf_libopencv: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:25:01 +02:00
Michael Niedermayer
f780a90355 Merge commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a'
* commit '8c747d46f721cffa8ea51990805ad1d3a3a4fd0a':
  vf_hqdn3d: switch to an AVOptions-based system.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:14:30 +02:00
Michael Niedermayer
1ee9eacaa4 Merge commit '7ed833d78ea661d619124fd898547a900f6480bc'
* commit '7ed833d78ea661d619124fd898547a900f6480bc':
  vf_gradfun: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/gradfun.h
	libavfilter/vf_gradfun.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 21:09:06 +02:00
Anton Khirnov
9de9b828ef lavc: don't overwrite display dimensions with coded dimensions. 2013-04-10 20:54:27 +02:00
Anton Khirnov
2d6edb2b7e lavc: extend / update the [coded_]{width,height} doxy 2013-04-10 20:54:22 +02:00
Michael Niedermayer
85f115b5d8 Merge commit 'c334c113d4d9e9a41bc38a3e4458d7ab21010401'
* commit 'c334c113d4d9e9a41bc38a3e4458d7ab21010401':
  vf_scale: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/avfilter.c
	libavfilter/vf_scale.c

scale keeps using our shorthand system due to the alternative not
supporting the more complex syntactical things like 1 parameter
dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 20:40:37 +02:00
Michael Niedermayer
da3f89988f Merge commit '5aa1a668cfae7f617e1a06efad20f87283badd8a'
* commit '5aa1a668cfae7f617e1a06efad20f87283badd8a':
  vf_frei0r: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_frei0r.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:51:02 +02:00
Michael Niedermayer
9280fc7da1 vf_curves: add option to set all curves at once
Reviewed-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:29:11 +02:00
Michael Niedermayer
81c1ed748b Merge commit 'f13ab29925883b4245da4129694af3af378d67be'
* commit 'f13ab29925883b4245da4129694af3af378d67be':
  vf_fps: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_fps.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:21:59 +02:00
Michael Niedermayer
b8a1f8b4e2 Merge commit 'a39c154049a2d0c4fb02a5c74f58d6986ec21cec'
* commit 'a39c154049a2d0c4fb02a5c74f58d6986ec21cec':
  vf_fieldorder: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_fieldorder.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 19:03:30 +02:00
Michael Niedermayer
0c3d706bdb Merge commit 'b9dfee9fa259dfc885508179a359dccc9e7840bd'
* commit 'b9dfee9fa259dfc885508179a359dccc9e7840bd':
  vf_fade: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:48:07 +02:00
Michael Niedermayer
d70b494422 Merge commit '8ec464c61c46a5d088b43d24e384d6c37b7ef14a'
* commit '8ec464c61c46a5d088b43d24e384d6c37b7ef14a':
  vf_drawtext: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:31:14 +02:00
Michael Niedermayer
0726d516dc Merge commit '335c31293baec6e6cf5907bd29840af3de8ff735'
* commit '335c31293baec6e6cf5907bd29840af3de8ff735':
  vf_drawbox: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_drawbox.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 18:11:15 +02:00
Stefano Sabatini
215ca86475 doc/filters: review introductory example and explanation
In particular, fix wrong vertical mirroring command, and clarify
and extend explanation.

Based on a patch by littlebat <dashing.meng@gmail.com>.

Should fix trac ticket #2413.
2013-04-10 18:02:00 +02:00
Stefano Sabatini
e62fca11a8 lavfi/amerge: drop duplicated "Buffer queue overflow" message
The same message is shown already by the called function
ff_bufqueue_is_full().
2013-04-10 18:02:00 +02:00
Stefano Sabatini
270217908b ffmpeg: update error message, and make use of av_err2str() to simplify 2013-04-10 18:02:00 +02:00
Michael Niedermayer
eebe0b0224 Merge commit '63e58c55c17d7f8b5eec9c082fe0f8edc305a24e'
* commit '63e58c55c17d7f8b5eec9c082fe0f8edc305a24e':
  vf_delogo: switch to an AVOptions-based system.

Conflicts:
	libavfilter/vf_delogo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 17:54:20 +02:00
Michael Niedermayer
1c3cdf533b Merge commit '460e7b4f6d473d9f03ed45501221f9cb209b28fd'
* commit '460e7b4f6d473d9f03ed45501221f9cb209b28fd':
  vf_cropdetect: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_cropdetect.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 17:36:29 +02:00
Michael Niedermayer
200e04c70f Merge commit 'fba0156af77b11ec99edf4ee8f511b7aaa6b1891'
* commit 'fba0156af77b11ec99edf4ee8f511b7aaa6b1891':
  vf_crop: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_crop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 16:56:33 +02:00
Michael Niedermayer
eb6d58d23c Merge commit '51def31dbe5b6e857536de8fa428f263d64f3ae5'
* commit '51def31dbe5b6e857536de8fa428f263d64f3ae5':
  vf_boxblur: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_boxblur.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 16:34:44 +02:00
Michael Niedermayer
a3cb303a4c avfilter/blackframe: add "thres" back as alternative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:48:41 +02:00
Michael Niedermayer
90efdf98b1 avfilter: support alternative keys in the alternative shorthand system
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:47:18 +02:00
Michael Niedermayer
43bac121d3 Merge commit '62dcdb028cc84845fd263bb09304c4c6500bda7a'
* commit '62dcdb028cc84845fd263bb09304c4c6500bda7a':
  vf_blackframe: switch to an AVOptions-based system.
  vf_aspect: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/vf_aspect.c
	libavfilter/vf_blackframe.c

In the aspect filter most changes are merged but not the final
switch to the libav API because that is too restrictive and has
difficulty handling the syntax.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 15:37:21 +02:00
Michael Niedermayer
2a2a643c90 Merge commit 'e67a87eac814c7805d18c983c43033a8a1bd62af'
* commit 'e67a87eac814c7805d18c983c43033a8a1bd62af':
  vf_(no)format: switch to an AVOptions-based system.
  af_aformat: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_aformat.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:59:45 +02:00
Michael Niedermayer
451315830a Merge commit 'd28cb849899abd98bf2dd72f5a3dd56d441aeb27'
* commit 'd28cb849899abd98bf2dd72f5a3dd56d441aeb27':
  buffersrc: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/buffersrc.c

Commit not merged, merge left to maintainer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:43:19 +02:00
Diego Biurrun
20429ba96e h261: Move encoder/decoder shared table init to common code 2013-04-10 13:32:04 +02:00
Diego Biurrun
8a776ad90e h261: Move shared data tables from a header to a proper C file 2013-04-10 13:32:04 +02:00
Michael Niedermayer
828044aca2 Merge commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff'
* commit '4fa1f52e33b70029e2b621852f3af7c1ef9aecff':
  af_resample: switch to an AVOptions-based system.

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 13:30:17 +02:00
Stefano Sabatini
d2752ef061 lavfi/overlay: add process_command callback 2013-04-10 13:11:27 +02:00
Stefano Sabatini
006e20bd36 lavfi/overlay: add enable expression
This expression is useful to enable/disable overlaying on the fly.

Note that this can't be easily done relying on the filtergraph structure,
since this implies caching issues or a null frame overlaying in the best
case, which is better avoided for performance and convenience reasons.
2013-04-10 13:11:27 +02:00
Stefano Sabatini
cc3edd99a6 lavfi/overlay: add dynamic expression evaluation support
Add support for dynamic x, y expressions evaluation.

Also add support for an evaluation mode which allows to disable per-frame
evaluation, so that there is no speedloss in case the expression does not
depend on frame variables.
2013-04-10 13:11:27 +02:00
Stefano Sabatini
8afcaaeb75 lavu/eval: rename "new_eval_expr()" to "make_eval_expr()"
The new name is more semantically and stilistically consistent.
2013-04-10 13:11:27 +02:00
Michael Niedermayer
0594ef0dea Merge commit 'b439c992c23f3e0f3832fffd2a34a664b236c525'
* commit 'b439c992c23f3e0f3832fffd2a34a664b236c525':
  lavfi: switch to an AVOptions-based system.
  dfa: implement missing TDLT coding method

Conflicts:
	libavcodec/dfa.c
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 12:41:06 +02:00
Clément Bœsch
2a7f885fe1 lavf: add libquvi demuxer. 2013-04-10 12:09:20 +02:00
Ronald S. Bultje
b93b27edb0 dsputil: Make dsputil selectable
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:04:05 +03:00
Ronald S. Bultje
85deb51a01 h264: Only initialize dsputil if error resilience is enabled
It is only used for error resilience. This allows building the
h264 decoder without dsputil, if error resilience is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:53 +03:00
Ronald S. Bultje
62844c3fd6 h264: Integrate clear_blocks calls with IDCT
The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700
to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb
(in the decode_slice loop) goes from 1759 to 1733 cycles on the clip
tested (cathedral), i.e. almost 30 cycles per mb faster.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:03:06 +03:00
Martin Storsjö
e8cafd2773 h264: Clear the mb members via memset instead of using dsputil
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 11:01:21 +03:00
Ronald S. Bultje
6d25c9db11 dsputil: Make square put/avg_pixels functions local to h264qpel
Put a copy of the 8bit functions only in dsputil, where they are
used for some other things (e.g. mpeg4qpel, mspel, cavsqpel).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-10 10:59:14 +03:00
James Almer
89388a953a Replace all occurrences of PRI in sscanf() calls with SCN
Signed-off-by: James Almer <jamrial@gmail.com>
2013-04-10 09:56:48 +02:00
Christophe Gisquet
2383068cbf x86: sbrdsp: implement SSE2 qmf_pre_shuffle
From 253 to 51 cycles on Arrandale and Win64.
44 cycles on SandyBridge.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:42:22 +02:00
Clément Bœsch
d2e051e30c lavfi/separatefields: adjust tb to avoid rounding errors.
Since the PTS need double accuracy, the timebase denominator is doubled
as well, and this new time base is used for the timestamp unit.
2013-04-10 02:38:54 +02:00
d s
685617ac29 avformat/avisynth: Cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:25:34 +02:00
d s
ca3cef719e avformat/avisynth: Fix off-by-one error in avisynth demuxer.
Fixes ticket #2412.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 02:25:34 +02:00
Paul B Mahol
d0073c7a0b separatefields filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-10 00:08:57 +00:00
Michael Niedermayer
f1c0c6b7de Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: use a rational for -aspect option.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:49:39 +02:00
Michael Niedermayer
6a78ec180e ffmpeg: print frame decoding error statistic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:47:03 +02:00
Michael Niedermayer
eedcac68f3 ffmpeg: dont exit 0 if fewer than 1/3 of the input could be decoded.
Fixes Ticket2405

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-10 01:40:06 +02:00
Christophe Gisquet
2e81acc687 x86inc: Fix number of operands for cmp* instructions
cmp{p,s}{s,d} instructions do take an imm8 operand.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-09 23:55:30 +02:00
Michael Niedermayer
62a1181015 h264: wait for missing slices only on frames
The EC code does not support fields currently thus it makes no
sense to wait for these cases (which also the check doesnt handle
correctly)

Fixes Ticket 2454

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 23:12:24 +02:00
Anton Khirnov
837112c0c8 af_channelmap: fix uninitialized variable use introduced in ba8efac977 2013-04-09 22:01:34 +02:00
Clément Bœsch
1043cb8e80 lavc/ass: use bprint API in ff_ass_add_rect(). 2013-04-09 21:43:44 +02:00
Nicolas George
de38e7c8c3 ffmpeg: use a rational for -aspect option. 2013-04-09 20:16:20 +02:00
Anton Khirnov
cdac3acb11 lavfi: add a bump and docs entries for the AVOptions switch 2013-04-09 19:13:27 +02:00
Anton Khirnov
8114c10160 lavfi: add avfilter_get_class().
Useful for examining options, the same as the corresponding functions
for the other libs.
2013-04-09 19:13:19 +02:00
Anton Khirnov
4d1f31ea44 lavfi: make AVFilterContext export filter options. 2013-04-09 19:13:10 +02:00
Anton Khirnov
62549f9655 lavfi: error out when options are provided to a filter that does not take any 2013-04-09 19:12:59 +02:00
Anton Khirnov
c43a7ecad9 lavfi: remove now unused args parameter from AVFilter.init 2013-04-09 19:12:38 +02:00
Anton Khirnov
7b3eb745b9 vsrc_testsrc: switch to an AVOptions-based system. 2013-04-09 19:12:06 +02:00
Anton Khirnov
a42d6e6c4c vsrc_movie: switch to an AVOptions-based system. 2013-04-09 19:11:27 +02:00
Anton Khirnov
b7b3302f8f vsrc_nullsrc: switch to an AVOptions-based system. 2013-04-09 19:11:12 +02:00
Anton Khirnov
7bc1a883c9 vsrc_color: switch to an AVOptions-based system. 2013-04-09 19:11:03 +02:00
Anton Khirnov
73d5d405d4 split: switch to an AVOptions-based system. 2013-04-09 19:10:41 +02:00
Anton Khirnov
b13623e184 af_volume: switch to an AVOptions-based system. 2013-04-09 19:10:27 +02:00
Anton Khirnov
dd7fc37c71 af_join: switch to an AVOptions-based system.
Change the mappings separator from comma to '|' to avoid excessive
escaping, since comma is already used for separating filters in the
filtergraph description.
2013-04-09 19:10:12 +02:00
Anton Khirnov
3f14febbdf af_channelsplit: switch to an AVOptions-based system. 2013-04-09 19:10:00 +02:00
Anton Khirnov
ba8efac977 af_channelmap: switch to an AVOptions-based system. 2013-04-09 19:09:40 +02:00
Anton Khirnov
b2b25b0659 af_asyncts: switch to an AVOptions-based system. 2013-04-09 19:09:33 +02:00
Anton Khirnov
ac20e3ab8e af_amix: switch to an AVOptions-based system. 2013-04-09 19:09:26 +02:00
Anton Khirnov
7536c67104 vf_yadif: switch to an AVOptions-based system. 2013-04-09 19:09:03 +02:00
Anton Khirnov
b83e9efc53 vf_unsharp: switch to an AVOptions-based system. 2013-04-09 19:08:42 +02:00
Anton Khirnov
0c2466dec7 vf_transpose: switch to an AVOptions-based system. 2013-04-09 19:08:04 +02:00
Anton Khirnov
ffea3b00c3 vf_settb: switch to an AVOptions-based system. 2013-04-09 19:07:44 +02:00
Anton Khirnov
33b97faaba vf_setpts: switch to an AVOptions-based system. 2013-04-09 19:07:28 +02:00
Anton Khirnov
95f1f56a21 vf_select: switch to an AVOptions-based system. 2013-04-09 19:06:51 +02:00
Anton Khirnov
40c885c589 vf_pad: switch to an AVOptions-based system. 2013-04-09 19:06:29 +02:00
Anton Khirnov
9087eaf193 vf_overlay: switch to an AVOptions-based system. 2013-04-09 19:06:13 +02:00
Anton Khirnov
20b46f8f4f vf_lut: switch to an AVOptions-based system. 2013-04-09 19:05:32 +02:00
Anton Khirnov
ee0e8d4b15 vf_libopencv: switch to an AVOptions-based system. 2013-04-09 19:05:22 +02:00
Anton Khirnov
8c747d46f7 vf_hqdn3d: switch to an AVOptions-based system. 2013-04-09 19:05:12 +02:00
Anton Khirnov
7ed833d78e vf_gradfun: switch to an AVOptions-based system. 2013-04-09 19:04:57 +02:00
Anton Khirnov
c334c113d4 vf_scale: switch to an AVOptions-based system. 2013-04-09 19:04:45 +02:00
Anton Khirnov
5aa1a668cf vf_frei0r: switch to an AVOptions-based system. 2013-04-09 19:04:28 +02:00
Anton Khirnov
f13ab29925 vf_fps: switch to an AVOptions-based system. 2013-04-09 19:04:15 +02:00
Anton Khirnov
a39c154049 vf_fieldorder: switch to an AVOptions-based system. 2013-04-09 19:03:56 +02:00
Anton Khirnov
b9dfee9fa2 vf_fade: switch to an AVOptions-based system. 2013-04-09 19:03:43 +02:00
Anton Khirnov
8ec464c61c vf_drawtext: switch to an AVOptions-based system. 2013-04-09 19:03:23 +02:00
Anton Khirnov
335c31293b vf_drawbox: switch to an AVOptions-based system. 2013-04-09 19:03:08 +02:00
Anton Khirnov
63e58c55c1 vf_delogo: switch to an AVOptions-based system. 2013-04-09 19:02:43 +02:00
Anton Khirnov
460e7b4f6d vf_cropdetect: switch to an AVOptions-based system. 2013-04-09 19:02:32 +02:00
Anton Khirnov
fba0156af7 vf_crop: switch to an AVOptions-based system. 2013-04-09 19:00:54 +02:00
Anton Khirnov
51def31dbe vf_boxblur: switch to an AVOptions-based system. 2013-04-09 19:00:39 +02:00
Anton Khirnov
62dcdb028c vf_blackframe: switch to an AVOptions-based system. 2013-04-09 19:00:26 +02:00
Anton Khirnov
2831b307e6 vf_aspect: switch to an AVOptions-based system. 2013-04-09 18:58:30 +02:00
Anton Khirnov
e67a87eac8 vf_(no)format: switch to an AVOptions-based system. 2013-04-09 18:56:39 +02:00
Anton Khirnov
0af7fe1f95 af_aformat: switch to an AVOptions-based system. 2013-04-09 18:55:45 +02:00
Anton Khirnov
d28cb84989 buffersrc: switch to an AVOptions-based system. 2013-04-09 18:48:16 +02:00
Anton Khirnov
4fa1f52e33 af_resample: switch to an AVOptions-based system. 2013-04-09 18:45:50 +02:00
Anton Khirnov
b439c992c2 lavfi: switch to an AVOptions-based system. 2013-04-09 18:45:37 +02:00
Kostya Shishkov
56c1b92576 dfa: implement missing TDLT coding method 2013-04-09 18:32:00 +02:00
Michael Niedermayer
b4eb06d325 msmpeg4: ignore negative DC overflow
Fixes second half of Ticket2414

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 16:27:49 +02:00
Michael Niedermayer
c03dc44070 msmpeg4: fix asm code in ff_msmpeg4_pred_dc()
Fixes first half of Ticket2414

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 16:26:52 +02:00
Michael Niedermayer
4e0130faed Merge remote-tracking branch 'qatar/master'
* qatar/master:
  srtp: Include rtpdec.h for RTP_MAX_PACKET_LENGTH
  rtpdec: Increase max rtp packet size to 8192
  lavf: Use RTP_MAX_PACKET_LENGTH instead of 1500
  h264pred: Add a few missing const declarations for ff_cropTbl derived pointers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 11:36:39 +02:00
Martin Storsjö
fc792308c5 srtp: Include rtpdec.h for RTP_MAX_PACKET_LENGTH
This was missed from 350ad50b - this fixes building the fate-srtp
test.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-09 12:04:39 +03:00
Andrew Van Til
0e729b2290 rtpdec: Increase max rtp packet size to 8192
This fixes connecting to "Ceton InfiniTV4 PCIe & USB".

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-09 10:36:56 +03:00
Andrew Van Til
350ad50bf4 lavf: Use RTP_MAX_PACKET_LENGTH instead of 1500
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-09 10:36:43 +03:00
Michael Niedermayer
93e8fcb94b Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: simplify video pts calculation
  ffplay: fix indentation
  ffplay: handle audio buffersink output properly with buffering filters
  ffplay: set time_base of audio filter buffer src

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 04:50:00 +02:00
Michael Niedermayer
5fbf9c12aa avfilter/vf_noise: fix build without mmx*inline
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-09 04:44:32 +02:00
Paul B Mahol
9dc88ac367 lavfi: remove noise libmpcodecs wrapper
Native filter have reached similar performance.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 20:57:59 +00:00
Paul B Mahol
6934244414 lavfi/noise: copy inline asm from mp=noise
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 20:28:57 +00:00
Marton Balint
85b9bf5693 ffplay: simplify video pts calculation
Also use frame->pts instead of a standalone variable

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Marton Balint
5dacf7b1ab ffplay: fix indentation
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Marton Balint
0b24e341ed ffplay: handle audio buffersink output properly with buffering filters
Fixes cases when the audio filter generates less or more frames than the input.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Marton Balint
325846aac0 ffplay: set time_base of audio filter buffer src
Fixes ticket #2408.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-04-08 22:21:45 +02:00
Paul B Mahol
ed8373e7db lavfi: always check return value of ff_get_{audio,video}_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 19:24:09 +00:00
Clément Bœsch
e82f562fa5 lavfi/mandelbrot: reindent after 51bcd5cd. 2013-04-08 20:40:54 +02:00
Martin Storsjö
bc0522dffa h264pred: Add a few missing const declarations for ff_cropTbl derived pointers
The pointers that get assigned ff_cropTbl were made const in
9e0f14f1, but other variables that transitively are assigned
based on these variables were missed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 21:39:15 +03:00
Clément Bœsch
51bcd5cd65 lavfi/mandelbrot: fix speedloss with default config after morphing introduction.
Morphing was introduced in 0d6e5a171 and forced cos/sin computations
with some mult all the time. This commit makes sure these are computed
only when morphing is enabled.
2013-04-08 20:35:18 +02:00
Matthieu Bouron
1f2ce32825 lavf/wavdec: skip padding byte
WAV chunks must be even aligned. This patch skip the extra padding byte
if chunk size is odd.

Fixes ticket #2417.

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 20:13:40 +02:00
Michael Niedermayer
0678c388ba rtsp: add option to set the socket timeout of the lower protocol.
Fixes Ticket2294

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 17:45:13 +02:00
Michael Niedermayer
c6ae7f64a0 avio.h: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 14:15:10 +02:00
Paul B Mahol
9fce2b8854 lavfi/il: use standard option parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 12:10:37 +00:00
Michael Niedermayer
8a97f6acc8 Merge remote-tracking branch 'mbouron/master'
* mbouron/master:
  lavf/mxfdec: handle identification metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:57:36 +02:00
Michael Niedermayer
7cfaf727a1 flvenc: dont call avio_flush() unconditional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:31:53 +02:00
Michael Niedermayer
a286940da1 mux: also call avio_flush() when flushing the muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:31:12 +02:00
Michael Niedermayer
ad6a50c0ed avformat: add writeout_count statistic
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 13:30:40 +02:00
Michael Niedermayer
0138fe5656 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: Move ff_cropTbl and ff_zigzag_direct from dsputil to mathtables

Conflicts:
	libavcodec/mathtables.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:54:18 +02:00
Michael Niedermayer
024a5f72ee Merge commit '9e0f14f16cfc9456a691655fda7d01090bffe47e'
* commit '9e0f14f16cfc9456a691655fda7d01090bffe47e':
  lavc: Make pointers to ff_cropTbl const
  vp3: Embed idct_permutation array directly in VP3DecoderContext

Conflicts:
	libavcodec/bit_depth_template.c
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:47:49 +02:00
Michael Niedermayer
5f49e92eb9 Merge commit '610b18e2e3d8ef5eca3e78f33a0625689b8d2bb9'
* commit '610b18e2e3d8ef5eca3e78f33a0625689b8d2bb9':
  x86: qpel: Move fullpel and l2 functions to a separate file
  bfin: Make vp3 functions static

Conflicts:
	libavcodec/bfin/vp3_bfin.c
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:40:26 +02:00
Michael Niedermayer
1090f69386 Merge commit 'aa8d89536d35af0a0c8d8bac2b452ffe7b82cae5'
* commit 'aa8d89536d35af0a0c8d8bac2b452ffe7b82cae5':
  bfin: Don't use the vp3 idct functions if bitexact behaviour is expected

Conflicts:
	libavcodec/bfin/vp3_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 12:18:29 +02:00
Ronald S. Bultje
d2ec6ea6c6 lavc: Move ff_cropTbl and ff_zigzag_direct from dsputil to mathtables
These are widely used throughout libavcodec, nothing dsputil-specific.

Change ff_cropTbl to a statically initialized table, to avoid
initializing it with a function call.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Martin Storsjö
9e0f14f16c lavc: Make pointers to ff_cropTbl const
There's no point in these pointers not being const.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Ronald S. Bultje
610b18e2e3 x86: qpel: Move fullpel and l2 functions to a separate file
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Ronald S. Bultje
18df366a18 vp3: Embed idct_permutation array directly in VP3DecoderContext
This makes the vp3 decoder less dependent on dsputil, and will aid
in making it (eventually) dsputil-independent.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:38:33 +03:00
Martin Storsjö
0f59845708 bfin: Make vp3 functions static
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:29:40 +03:00
Martin Storsjö
aa8d89536d bfin: Don't use the vp3 idct functions if bitexact behaviour is expected
In the non-bitexact mode, vp3 currently decodes to the same
frame crcs as before 28f9ab702 (and the output visually looks
correct).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-08 12:28:52 +03:00
Matthieu Bouron
25b143aa7b lavf/mxfdec: handle identification metadata 2013-04-08 11:16:56 +02:00
Paul B Mahol
018cc6f026 lavfi/histogram: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 09:04:02 +00:00
Paul B Mahol
1f97dfb77f lavfi/blend,noise: remove unedeed av_opt_free() call
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-08 09:02:03 +00:00
Christophe Gisquet
e2946e5c34 x86: sbrdsp: implement SSE qmf_deint_bfly
From 312 to 89/68 (sse/sse2) cycles on Arrandale and Win64.
Sandybridge: 68/47 cycles.

Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-08 02:26:34 +02:00
Paul B Mahol
1adf54de56 dfa: implement tdlt chunk decoding
Sample & pseudo code provided by Vladimir "VAG" Gneushev.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-07 21:48:22 +00:00
Michael Niedermayer
4bcb75cc48 ffmpeg: Print a warning when -frames is affecting non video frames
Fixes Ticket2395

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-07 22:13:58 +02:00
Michael Niedermayer
2f284c0170 dpxdec: Fix decoding of RGBA10
Fixes Ticket2392

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-07 21:39:51 +02:00
Nicolas George
0884d04dc3 lavc: fix recoded subtitles end.
Text subtitles packets are not 0-terminated (and if they are,
it is handled by the recoding process since 0 is a valid
Unicode code point). The terminating 0 would overwrite the
last payload octet.

OTOH, packets must be 0-padded.

Fix a problem reported in trac ticket #2431.
2013-04-07 13:25:24 +02:00
Michael Niedermayer
38665efcc7 asfenc: convert asserts to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-07 03:59:44 +02:00
Clément Bœsch
1fabd95035 lavf/http: use a more compatible default user agent.
Fixes Ticket 2265.
2013-04-06 21:08:32 +02:00
Michael Niedermayer
28943c4d31 vf_noise: Fix av_lfg_get() maximum value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 19:58:30 +02:00
Michael Niedermayer
62447248f3 vf_noise: remove low quality mode
It produces vissible correlation between lines

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 19:54:36 +02:00
Michael Niedermayer
21f4fc2e40 avfilter/vf_mp: fix x86 cpu caps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 18:23:59 +02:00
Christophe Gisquet
11774169ae sbrdsp: unroll and use integer operations
This patch can be controversial, by assuming floats are IEEE-754 and
particular behaviour of the FPU will get in the way.
Timing on Arrandale and Win32 (thus, x87 FPU is used in the reference).

sbr_qmf_pre_shuffle_c: 115 to 76
sbr_neg_odd_64_c: 84 to 55
sbr_qmf_post_shuffle_c: 112 to 83

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 15:52:42 +02:00
Christophe Gisquet
f4ac80227b sbrdsp: unroll sbr_autocorrelate_c
1410 cycles to 1148 on Arrandale/Win64.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 15:52:42 +02:00
Michael Niedermayer
ff50b08304 coverage: filter /usr/include out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:47:17 +02:00
Michael Niedermayer
32bac65ba0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: sbrdsp: Implement SSE neg_odd_64

Conflicts:
	libavcodec/x86/sbrdsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:30:19 +02:00
Michael Niedermayer
84bfa8beb7 Merge commit 'a862c7d3368241e72a465ab944afa38ea62a6640'
* commit 'a862c7d3368241e72a465ab944afa38ea62a6640':
  Integrate lcov/gcov into Libav

Conflicts:
	Makefile
	common.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:23:38 +02:00
Paul B Mahol
11d7bbb47a fate: add coverage for background disposal in gif decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-06 11:20:27 +00:00
Stefano Sabatini
7775992c65 doc/filters: fix main/over mismatch in movie examples
Found-By: littlebat <dashing.meng@gmail.com>
2013-04-06 00:54:46 +02:00
Christophe Gisquet
f4b0d12f5b x86: sbrdsp: Implement SSE neg_odd_64
Timing on Arrandale:
        C   SSE
Win32:  57   44
Win64:  47   38
Unrolling and not storing mask both save some cycles.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-05 22:47:04 +02:00
Michael Niedermayer
37f080f6f6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h261: Move mvmap table to the only place it is used

Conflicts:
	libavcodec/h261data.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 22:09:10 +02:00
Michael Niedermayer
473d129742 Merge commit '0404ec619d43f27b87c424aa1a572a6699fe6a31'
* commit '0404ec619d43f27b87c424aa1a572a6699fe6a31':
  h261: cosmetics: Move functions to avoid forward declarations

Conflicts:
	libavcodec/h261dec.c
	libavcodec/h261enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 22:00:38 +02:00
Michael Niedermayer
04b0fd7e91 Merge commit 'b78f81c8033904e2e75add0c9a603df6df514a30'
* commit 'b78f81c8033904e2e75add0c9a603df6df514a30':
  h261: K&R formatting and prettyprinting cosmetics

Conflicts:
	libavcodec/h261_parser.c
	libavcodec/h261data.h
	libavcodec/h261dec.c
	libavcodec/h261enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:53:57 +02:00
Michael Niedermayer
e7c801d9d3 Merge commit '66ac3dbf1e60c27d0f1d779a424c0b33b7ca3780'
* commit '66ac3dbf1e60c27d0f1d779a424c0b33b7ca3780':
  h261: Move function declarations to h261.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:31:14 +02:00
Michael Niedermayer
3d73be071d Merge commit 'ed16c2dbf47cdd7c48825b4da6e7036698e5dde1'
* commit 'ed16c2dbf47cdd7c48825b4da6e7036698e5dde1':
  h261: Remove H.261 loop filter from dsputil

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:25:49 +02:00
Michael Niedermayer
fa871b1bde Merge commit 'ae35d91d44c5e676af3d146bf8d05b241c467675'
* commit 'ae35d91d44c5e676af3d146bf8d05b241c467675':
  h261: Move ff_h261_rl_table_store declaration to header file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 21:09:04 +02:00
highgod0401
99186f1fd2 fix bug of finding CPU device
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 20:47:21 +02:00
Reinhard Tartler
a862c7d336 Integrate lcov/gcov into Libav
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
2013-04-05 18:55:11 +02:00
Paul B Mahol
9a8f1e7295 img2dec: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:25 +00:00
Paul B Mahol
1d5b4f9fe9 img2dec: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:25 +00:00
Paul B Mahol
d343848de2 rawvideodec: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol
9f5bb44021 rawvideodec: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol
4c76600a8c rawdec: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol
3d9a789b0d bintext: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Paul B Mahol
33b6d215fa bintext: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 15:42:24 +00:00
Christophe Gisquet
37a9708391 x86: sbrdsp: implement SSE neg_odd_64
Timing on Arrandale:
        C   SSE
Win32:  57   44
Win64:  47   38
Unrolling and not storing mask both save some cycles.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 16:42:12 +02:00
Christophe Gisquet
0b467a6e83 x264asm: fix cmp* number of arguments
cmp{p,s}{s,d} instructions do take an imm8 operand.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 16:42:12 +02:00
Paul B Mahol
8c43fd8654 tty: make use of AV_OPT_TYPE_IMAGE_SIZE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 14:30:56 +00:00
Paul B Mahol
20343219d2 tty: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 14:24:40 +00:00
Michael Niedermayer
29a4221ad3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: Add support for XYZ colorspace, found in DCINEMA frames

Conflicts:
	libavcodec/libopenjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 12:52:23 +02:00
Stefano Sabatini
029cca6fb3 doc/filters: clarify example explanation 2013-04-05 12:47:10 +02:00
Stefano Sabatini
89d581f15e doc/filters: fix old broken syntax of color source in overlay example
Found-By: littlebat <dashing.meng@gmail.com>
2013-04-05 12:47:10 +02:00
Michael Niedermayer
8e85b69d71 Merge commit '8c65264595d5a82c56ae5043320e4b875a414229'
* commit '8c65264595d5a82c56ae5043320e4b875a414229':
  pixdesc/pixfmt: Add XYZ colorspace for XYZ 12-bit values
  img2: Add j2k file extension for JPEG 2000

Conflicts:
	libavutil/pixfmt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 12:39:06 +02:00
Diego Biurrun
52cd84d4d4 h261: Move mvmap table to the only place it is used 2013-04-05 12:25:12 +02:00
Diego Biurrun
0404ec619d h261: cosmetics: Move functions to avoid forward declarations 2013-04-05 12:25:12 +02:00
Diego Biurrun
b78f81c803 h261: K&R formatting and prettyprinting cosmetics 2013-04-05 12:25:12 +02:00
Diego Biurrun
66ac3dbf1e h261: Move function declarations to h261.h 2013-04-05 12:25:12 +02:00
Diego Biurrun
ed16c2dbf4 h261: Remove H.261 loop filter from dsputil
There is no arch-optimized version of the H.261 loop filter and there
likely will never be, so the dsputil overhead does not give any benefit.
2013-04-05 12:24:28 +02:00
Diego Biurrun
ae35d91d44 h261: Move ff_h261_rl_table_store declaration to header file 2013-04-05 12:24:28 +02:00
Stefano Sabatini
495ed19b5b cmdutils: remove error message from opt_default() in case of missing option
A similar error message is generated by the calling function, avoid
duplication and spurious error message occurring with negated boolean
options introduced in 8bb5680, which can be reproduced for example with
the command:
ffmpeg -f lavfi -i testsrc=d=0.1 -nostdin -f null -
2013-04-05 10:48:32 +02:00
Stefano Sabatini
9b4d9d8795 doc: enable compilation of -all tool pages
In particular, add documentation configuration system, through the
doc/config.texi file.

Fix trac issue #2374.
2013-04-05 10:11:57 +02:00
Stefano Sabatini
702e743827 doc: move ffmpeg-scaler.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini
a6cd26fc93 doc: move ffmpeg-resampler.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini
a7990287aa doc: move ffmpeg-devices.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini
2086c7e173 doc: move ffmpeg-formats.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Stefano Sabatini
d5f3a0c221 doc: move ffmpeg-codecs.texi content to separated file
This should simplify inclusion in monolithic tool manuals.
2013-04-05 10:11:57 +02:00
Paul B Mahol
2b26077c95 lavfi/blend: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 00:14:55 +00:00
Paul B Mahol
a95e683867 lavfi/noise: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 00:14:55 +00:00
Paul B Mahol
659672f3ee lavfi/afade: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-05 00:14:55 +00:00
Andrew Van Til
8df46c65cf rtpdec: Increase max rtp packet size to 8192
Fixes Ticket2314
Fixes connecting to "Ceton InfiniTV4 PCIe & USB"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 01:48:55 +02:00
Andrew Van Til
5ed9eebc24 rtsp/rtp_read_header: Use RTP_MAX_PACKET_LENGTH instead of 1500
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-05 01:48:55 +02:00
Stefano Sabatini
c430eb2d58 doc/filters: fix erroneously truncated comment on a scale example 2013-04-05 01:18:06 +02:00
Stefano Sabatini
e80bc76e9e doc/filters: put separated geq variables in separate lines
Make clear that they are not aliases for the same variable.
2013-04-05 01:18:06 +02:00
Paul B Mahol
faf689c7eb xbmenc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:43:26 +00:00
Paul B Mahol
08b31a72db xwdenc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:43:25 +00:00
Paul B Mahol
77535bb3c3 bmpenc: get rid of BMPContext as it is unused
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:43:25 +00:00
Paul B Mahol
bd252ff6fa lavfi/smptebars: fix invalid writes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 22:10:42 +00:00
Michael Niedermayer
0f8435c089 doc: document -v repeat
Thanks-to: Derek Buitenhuis
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 23:36:57 +02:00
Michael Niedermayer
0a512e347f Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: use packet duration for subtitles if necessary.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 21:19:45 +02:00
Nicolas Bertrand
28a807e28b libopenjpeg: Add support for XYZ colorspace, found in DCINEMA frames
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-04 19:53:07 +02:00
Nicolas Bertrand
8c65264595 pixdesc/pixfmt: Add XYZ colorspace for XYZ 12-bit values
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-04 19:50:59 +02:00
Nicolas Bertrand
5e46f6b5b7 img2: Add j2k file extension for JPEG 2000
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-04 19:47:05 +02:00
highgod0401
cfaffb1ab7 avutil/opencl: replace assert by check and error message in av_opencl_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 19:27:45 +02:00
highgod0401
322428c851 avutil/opencl: check strtol for failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 19:26:16 +02:00
highgod0401
39406ea321 avutil/opencl: add check for the program number to create kernel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 19:25:22 +02:00
Paul B Mahol
b1dea2c0d8 lavfi/blend: add N variable
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 15:30:06 +00:00
Paul B Mahol
6a08ccd61d lavfi/smptebars: fix output for subsampled yuv
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-04 14:32:49 +00:00
Michael Niedermayer
3b93bea9e3 matroskadec: Check EBML lace sizes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 15:51:04 +02:00
Michael Niedermayer
115c3bc41f matroskadec: Check for overflows in xiph lace decoding
This also detects errors earlier

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 15:17:57 +02:00
Michael Niedermayer
14de77d677 matroskadec: fix return code for too long xiph laces
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 15:13:53 +02:00
Michael Niedermayer
740ebe468c dfa: remove redundant check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 14:49:00 +02:00
Michael Niedermayer
7ad359b394 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xmv: do not leak memory in the error paths in xmv_read_header()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 14:35:40 +02:00
Michael Niedermayer
208be6b54a Merge commit 'd1016dccdcb10486245e5d7c186cc31af54b2a9c'
* commit 'd1016dccdcb10486245e5d7c186cc31af54b2a9c':
  xmv: check audio track parameters validity.
  bmv: check for len being valid in bmv_decode_frame().

Conflicts:
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 14:20:51 +02:00
Nicolas George
83affcde51 lavc: use packet duration for subtitles if necessary.
Fix trac ticket #2397.
2013-04-04 14:04:51 +02:00
Michael Niedermayer
cdafcf838c Merge commit '8d617b11cfc87b2c6056fee029ac5bc760af874a'
* commit '8d617b11cfc87b2c6056fee029ac5bc760af874a':
  id3v2: pad the APIC packets as required by lavc.
  dfa: check for invalid access in decode_wdlt().

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 13:41:01 +02:00
Michael Niedermayer
ab2989378f Merge commit 'dbb1425811a672eddf4acf0513237cdf20f83756'
* commit 'dbb1425811a672eddf4acf0513237cdf20f83756':
  lavf: make sure stream probe data gets freed.
  avfiltergraph: set deprecated filter_count.

Conflicts:
	libavformat/utils.c

See: 44a7a6300d

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 13:24:33 +02:00
Michael Niedermayer
e7389ed5d0 Merge commit 'bcc94328980e6c56546792ab08b0756abdce310b'
* commit 'bcc94328980e6c56546792ab08b0756abdce310b':
  opt: check the return values of av_get_token for ENOMEM.
  doc: Fix best_nb_channells typo
  matroska: pass the lace size to the matroska_parse_rm_audio

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 13:00:59 +02:00
Michael Niedermayer
534b292102 Merge commit '8a96df7b70be509dae9ceec82d2c10a20361356d'
* commit '8a96df7b70be509dae9ceec82d2c10a20361356d':
  matroska: fix a corner case in ebml-lace parsing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 12:46:47 +02:00
Michael Niedermayer
57b191b82a Merge commit 'fc43c19a567aa945398dccb491d972c11ec2a065'
* commit 'fc43c19a567aa945398dccb491d972c11ec2a065':
  matroska: Update the available size after lace parsing
  clang: use -fsantize=address and -fsanitize=thread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 12:39:18 +02:00
Stefano Sabatini
d344b99954 doc/ffprobe: fix references in See Also section 2013-04-04 10:13:30 +02:00
Anton Khirnov
f8080bd13b xmv: do not leak memory in the error paths in xmv_read_header()
CC: libav-stable@libav.org
2013-04-04 07:54:45 +02:00
Anton Khirnov
d1016dccdc xmv: check audio track parameters validity.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:35 +02:00
Anton Khirnov
b88f902125 bmv: check for len being valid in bmv_decode_frame().
It can be 0 or -1 for invalid files, which may result in invalid memory
access.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:27 +02:00
Anton Khirnov
8d617b11cf id3v2: pad the APIC packets as required by lavc.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:15 +02:00
Anton Khirnov
3623589edc dfa: check for invalid access in decode_wdlt().
This can happen when the number of skipped lines is not consistent with
the number of coded lines.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:07 +02:00
Anton Khirnov
dbb1425811 lavf: make sure stream probe data gets freed.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:00 +02:00
Anton Khirnov
6d0546bbaf avfiltergraph: set deprecated filter_count. 2013-04-04 07:52:32 +02:00
Anton Khirnov
bcc9432898 opt: check the return values of av_get_token for ENOMEM. 2013-04-04 07:51:53 +02:00
Peter Meerwald
dfcbe8cbd7 doc: Fix best_nb_channells typo
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-04 07:51:28 +02:00
Michael Niedermayer
e278500181 oggdec: Support byte based seeking
Fixed Ticket2317

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 04:04:24 +02:00
Michael Niedermayer
e10f5bd05c avformat: Add a mechanism to allow demuxers to detect byte based seeking.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-04 04:04:24 +02:00
Carl Eugen Hoyos
1c0d8f2563 Add a work-around for msvc compilation until c99-to-c89 issue 7 is fixed.
Tested-by: Nevcairiel
2013-04-04 00:01:34 +02:00
Michael Niedermayer
f51ce34e5e matroskadec: fix display_width/height = 0 handling
Fixes Ticket2424

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 23:45:32 +02:00
Stefano Sabatini
36babfdc39 doc/fate.texi: fix typo 2013-04-03 21:07:15 +02:00
Paul B Mahol
9cb25440b3 doc/filters: fix error in blend description
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 17:06:25 +00:00
Michael Niedermayer
5c6f7ed667 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: do not init frame with guessed layout.
  lavfi/af_atempo: simplify request_frame loop.
  lavfi/af_asetnsamples: simplify request_frame loop.
  lavfi/f_ebur128: remove request_frame hack.
  lavfi/vf_tile: simplify request_frame loop.
  lavfi: reindent after last commit.
  lavfi: loop on request_frame if necessary.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 18:29:23 +02:00
Nicolas George
464f94b206 lavc: do not init frame with guessed layout.
It is breaking support from files with unknown layout.
2013-04-03 17:44:10 +02:00
Nicolas George
d38c173dfb lavfi/af_atempo: simplify request_frame loop. 2013-04-03 17:44:10 +02:00
Nicolas George
b570f24d76 lavfi/af_asetnsamples: simplify request_frame loop. 2013-04-03 17:44:10 +02:00
Nicolas George
9566ba91ab lavfi/f_ebur128: remove request_frame hack. 2013-04-03 17:44:10 +02:00
Nicolas George
77fa554b6e lavfi/vf_tile: simplify request_frame loop. 2013-04-03 17:44:10 +02:00
Nicolas George
69d67fb622 lavfi: reindent after last commit. 2013-04-03 17:44:10 +02:00
Nicolas George
79d8cfacf0 lavfi: loop on request_frame if necessary.
Some filters need several input frames before producing output.
For these filter, it becomes simpler to return 0 in
request_frame() and let the framework call it again until
output has been produced.
2013-04-03 17:33:27 +02:00
Carl Eugen Hoyos
db2d3a9082 Skip padding in an id3 tag in aiff files.
Fixes ticket #2430.

Reviewed-by: Matthieu Bouron
2013-04-03 15:45:46 +02:00
Michael Niedermayer
c208576cef Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix make checkheaders without opencl headers.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 15:35:23 +02:00
Carl Eugen Hoyos
c484b3af15 Fix make checkheaders without opencl headers. 2013-04-03 15:28:29 +02:00
Michael Niedermayer
d3fc2db47e Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfiltergraph: check for sws opts being non-NULL before using them.

Conflicts:
	libavfilter/avfiltergraph.c
	libavfilter/graphparser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 15:20:05 +02:00
Michael Niedermayer
4d636947b4 Merge commit '817dff578f13ce97576c609ab141508b9dc782e9'
* commit '817dff578f13ce97576c609ab141508b9dc782e9':
  configure: Check for the atomic.h functions used in the suncc atomics header

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 15:08:21 +02:00
Paul B Mahol
e3cc92a623 smacker: fix off by one error
Regression since a93b572ae4.

Fixes #2426.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 13:01:38 +00:00
Michael Niedermayer
6ce1d87355 Merge commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65'
* commit 'f9f6402e9c9ce3642df981b48507df3a2d956f65':
  configure: prettify atomics handling.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 14:46:48 +02:00
Paul B Mahol
6fcb4ae1d8 lavfi/afade * biquads: call av_frame_copy_props()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 11:10:00 +00:00
Paul B Mahol
0ab10f69ef lavfi/earwax: clip sample, this is what sox does
Fixes #1884.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 10:55:13 +00:00
Carl Eugen Hoyos
6e90d9e206 vf_deshake: Reorder constant arguments in an if() statement.
Fixes compilation with clang on netbsd with --disable-optimizations.

Tested-by: Paul B Mahol
2013-04-03 12:52:38 +02:00
Luca Barbato
25a80a931a matroska: pass the lace size to the matroska_parse_rm_audio
Each lace must be independent according to the specification.

Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

Stricter check than fc43c19a56

CC: libav-stable@libav.org
2013-04-03 12:34:38 +02:00
Luca Barbato
8a96df7b70 matroska: fix a corner case in ebml-lace parsing
Make sure we notice when the lace_size[n] is a negative value.

CC: libav-stable@libav.org
2013-04-03 12:33:15 +02:00
Dale Curtis
fc43c19a56 matroska: Update the available size after lace parsing
Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-04-03 12:33:01 +02:00
Luca Barbato
19f251a288 clang: use -fsantize=address and -fsanitize=thread
The previous syntax is deprecated.
2013-04-03 12:23:43 +02:00
Paul B Mahol
bf65752848 aphaser filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 08:33:59 +00:00
Anton Khirnov
6e3c13a559 avfiltergraph: check for sws opts being non-NULL before using them.
Avoid snprintfing a NULL pointer.

CC: libav-stable@libav.org
2013-04-03 09:29:55 +02:00
Martin Storsjö
817dff578f configure: Check for the atomic.h functions used in the suncc atomics header
The "suncc" atomics implementation uses a suncc specific memory
barrier, but also relies on a few atomic functions from atomic.h,
that are not suncc specific but specific to solaris. This made
the current implementation fail on suncc on linux.
2013-04-03 09:23:04 +02:00
Anton Khirnov
f9f6402e9c configure: prettify atomics handling.
Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
2013-04-03 09:22:31 +02:00
Michael Niedermayer
83e2217221 flvdec: fix seeking in audio only files
Fixes Seeking with the file in Ticket2283

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 03:57:37 +02:00
Michael Niedermayer
aa7d9809c1 h264pred: fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-03 03:14:09 +02:00
Clément Bœsch
e7692a9bac lavfi/edgedetect: reindent after previous commit. 2013-04-03 00:31:19 +02:00
Clément Bœsch
e366aec030 lavfi/edgedetect: add direct path. 2013-04-03 00:30:48 +02:00
Michael Niedermayer
ccc25378bd avformat: fix atomatic format selection for (s)segment
Fixes Ticket2236

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 21:52:40 +02:00
Michael Niedermayer
356363c898 ffmpeg: Fix forcing of the framerate for stream copy on input
Fixes Ticket2211

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 18:19:23 +02:00
highgod0401
9079359141 deshake opencl based on comments on 20130402 3rd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 15:57:44 +02:00
Michael Niedermayer
c09da45ffb dsputil: Fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 14:52:18 +02:00
Paul B Mahol
1de11a7cab libmp3lame: allow joint stereo to be disabled
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-02 12:14:14 +00:00
Michael Niedermayer
4dd31f88f5 cavs: fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 05:12:10 +02:00
Michael Niedermayer
7f4b588fdf ffplay: use seek per time for ogg by default
Fixes Ticket2383

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-02 01:36:45 +02:00
Stefano Sabatini
064acc9743 lavu/opencl: use consistent inclusion header guard name 2013-04-01 23:54:29 +02:00
Stefano Sabatini
57d77b3963 lavu/opencl: apply misc cosmetics fixes
Split long lines, reindent code, add missing spaces between operators,
remove possibly confusing comment from av_opencl_buffer_read_image()
doxy, and use designated initializers for openclutils_class.
2013-04-01 23:54:21 +02:00
Michael Niedermayer
4394528d2d cavsdsp: fix "warning: initialization discards const qualifier from pointer target type"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 20:47:48 +02:00
Michael Niedermayer
f7a02d5d69 ffmpeg: initialize got_output, this silences a compiler warning from icc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 20:47:48 +02:00
Clément Bœsch
6278bc8a6c lavfi/curves: make use of options to store the preset names. 2013-04-01 20:37:45 +02:00
Clément Bœsch
2208a46f8f cmdutils: fix build with --disable-avfilter. 2013-04-01 19:56:59 +02:00
Michael Niedermayer
599866f5d5 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/af_asetnsamples: fix EOF handling.
  lavu/opt: make sure av_opt_set_bin() handles NULL/0.
  lavd/v4l2: fully init an ioctl argument.
  lavfi: detect merge failure for unknown layouts.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 15:13:07 +02:00
Michael Niedermayer
ce841bc032 Changelog: add entry for OpenCL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 13:32:34 +02:00
Michael Niedermayer
76071322a3 opencl: fix double ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 13:01:17 +02:00
highgod0401
189cbc1a03 opencl wrapper based on comments on 20130401
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 12:52:13 +02:00
Michael Niedermayer
24f822c3ab Merge remote-tracking branch 'qatar/master'
* qatar/master:
  oma: Validate sample rates

Conflicts:
	libavformat/oma.c

See: a30165c4a8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 12:48:04 +02:00
Nicolas George
52853077ee lavfi/af_asetnsamples: fix EOF handling.
Only filter one buffered frame.
Correctly return EOF if there is none.
2013-04-01 10:38:52 +02:00
Nicolas George
983d04dd40 lavu/opt: make sure av_opt_set_bin() handles NULL/0. 2013-04-01 10:38:38 +02:00
Nicolas George
9dd54d7422 lavd/v4l2: fully init an ioctl argument.
Silence a valgrind warning about uninitialized memory.
2013-04-01 10:38:14 +02:00
Nicolas George
f810ca63f8 lavfi: detect merge failure for unknown layouts.
Detect when filtering known layouts from an explicit list
results in an empty list.

Fix erratic behavior.
2013-04-01 10:37:48 +02:00
Derek Buitenhuis
7d05751581 doc: Grammar fixes for strem specifiers section
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:09 -04:00
Derek Buitenhuis
0cb2d32453 doc: Fix broken English in the common options description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:09 -04:00
Derek Buitenhuis
a034cdf49d doc: Grammar fixes for stream selection
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:09 -04:00
Derek Buitenhuis
9db706206d doc: Consistently use 'filtergraph'
We used to use 'filtergraph' or 'filter graph' randomly.

'filtergraph' was chosen due to having 57 occurrences in
the documentation, whereas 'filter graph' had only 19.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis
9249b28e79 doc: Grammar fixes for FFmpeg's detailed description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis
fe64b88950 doc: Consistently use 'frame rate' everywhere
We used to use 'framerate' or 'frame rate' randomly.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis
91b5ee6699 doc: Grammar fixes for FFmpeg description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis
9f597052d4 doc: Fix grammar in -n description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis
876fe11e32 doc: Small grammar fix in -f description
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis
e54a15b681 doc: Document which cpuflags exist
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:08 -04:00
Derek Buitenhuis
4c79367e9b doc: Explain the various logevel settings
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:22:02 -04:00
Derek Buitenhuis
1fb8ecb498 doc: Remove list of format fields
These are available in the output of -formats.

Similarily, we do not list the fields for e.g. -codecs.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-31 18:02:18 -04:00
Michael Niedermayer
a9f8182a9d doxygen: dont strip code comments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 22:34:13 +02:00
Michael Niedermayer
ac126a98e5 dvdec: fix lowres=3 with yuv 4:1:1
Fixes Ticket2390

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 20:37:49 +02:00
Clément Bœsch
d00dcb8c9f opt: attempt to improve options dump output.
Add some indent and remove the '-' prefix for filters.
2013-03-31 18:22:23 +02:00
Clément Bœsch
999a46b12c cmdutils: support filters in the help topic system. 2013-03-31 18:22:23 +02:00
Clément Bœsch
7d8ad6c1fa cmdutils: avtool -> fftool 2013-03-31 18:22:23 +02:00
Michael Niedermayer
5c13ae280f cmdutils: allow forcing log line repeation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 18:06:18 +02:00
Michael Niedermayer
cb16d433a9 cmdutils_common_opts: fix loglevel help text as its inaccurate
ffmpeg and ffplay use the loglevel as well as libpostproc, libswscale
and libswresample.

Also this makes the text shorter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 18:06:18 +02:00
Stefano Sabatini
66c92a1575 examples/resampling_audio: make use of av_samples_alloc_array_and_samples()
Simplify.
2013-03-31 18:00:45 +02:00
Stefano Sabatini
5c73645d91 lavu/samplefmt: add av_samples_alloc_array_and_pointers() 2013-03-31 18:00:44 +02:00
Stefano Sabatini
39aad43465 lavfi/overlay: fix debug PTS output in try_filter_frame()
The PTS of the input frames must be interpreted according to the input
timebase, which is not the same as the output timebase.
2013-03-31 18:00:44 +02:00
Luca Barbato
0933fd1533 oma: Validate sample rates
The sample rate index is 3 bits even if currently index 5, 6 and 7 are
not supported.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-03-31 16:10:52 +02:00
Timothy Gu
874173002e doc/filters: fix width/height typo in crop filter.
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2013-03-31 12:20:17 +02:00
Clément Bœsch
01b2d1288a lavfi/volume: use designated initializers for the sample_fmts declaration. 2013-03-31 11:58:20 +02:00
Clément Bœsch
4dae804d3c lavfi/volume: use copy props helper instead of incomplete manual code. 2013-03-31 11:58:20 +02:00
Clément Bœsch
eb054a9693 fate/filter: use aperms to test volume filter. 2013-03-31 11:58:20 +02:00
Michael Niedermayer
f8201cc18b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc/platform: Remove part about dllimport
  vp8: Fix pthread_cond and pthread_mutex leaks

Conflicts:
	doc/platform.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 11:31:19 +02:00
Clément Bœsch
29667a2c20 decimate: check for avctx ptr before closing.
Fixes a crash init failed before setting avctx.
2013-03-31 10:00:32 +02:00
Stephen Hutchinson
8cd7aab1bb Use PIX_FMT_BGR24 for the AviSynth demuxer, instead of RGB24.
Partial fix for ticket #2412 in that using PIX_FMT_BGR24 fixes the
swapped channels issue when using scripts serving RGB24.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 01:09:33 +01:00
Michael Niedermayer
34ea5f418e h264_refs: check for multiple mismatching long term ref assignments
Fixes failure of the assert added a few hours ago.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-31 00:18:23 +01:00
Michael Niedermayer
8b9059cfdd Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: always queue attachment pictures after flushing the video packet queue
  ffplay: fix early frame dropped pts serial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 22:25:00 +01:00
Michael Niedermayer
3d68f5e032 h264_direct: assert the validity of the spatial ref
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 21:13:19 +01:00
Michael Niedermayer
285c5f6838 h264: move last_slice_type reset into decode_slice_header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:57:31 +01:00
Michael Niedermayer
11c3381ce3 h264: move the default_ref_list_done check down after its inputs have been written
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer
3f2ce24f59 h264_refs: assert that the references are not deallocated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer
fbb6741a84 h264_refs: assert that long ref fields have not been inserted multiple times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer
dc92464aee avutil: add av_buffer_get_ref_count()
This function is quite usefull for debuging

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Michael Niedermayer
746016598d h264: Move slice_table clean out of frame_start
Fixes inconsistency ultimately leading to an out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 20:28:00 +01:00
Derek Buitenhuis
f2f57d1679 doc/platform: Remove part about dllimport
Only deprecated things need this at all anymore, as we have functions
to access them or they are no longer needed.

The document should not encourage use of deprecated APIs.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-30 13:52:02 -04:00
Marton Balint
1c2ac44947 ffplay: always queue attachment pictures after flushing the video packet queue
Requeue them after seeking and also after opening a video stream. Also don't
fill the video queue in case of an attached picture video stream since there
will be no more than one packet from that stream.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-30 16:44:19 +01:00
Marton Balint
de81d8da47 ffplay: fix early frame dropped pts serial
Fixes early frame drop which was kind of broken since
26c208cf0f.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-30 16:44:19 +01:00
Matt Wolenetz
1d6e618939 vp8: Fix pthread_cond and pthread_mutex leaks
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-30 16:08:50 +01:00
Carl Eugen Hoyos
b448c0a68d Write broken aac frames to mov files instead of skipping them.
Fixes decoding with picky media players.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 14:29:15 +01:00
Michael Niedermayer
89ec4f4d5e Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with --enable-decoder=webp --disable-decoder=vp8
  Do not show "Estimating duration from bitrate" warning if no duration was estimated.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 13:41:43 +01:00
Michael Niedermayer
612d9cdbe9 ffplay: use av_guess_frame_rate()
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 13:30:37 +01:00
Michael Niedermayer
ee53777e70 fate: Print correct error message for reference generation too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 11:41:58 +01:00
Michael Niedermayer
6c8aa2035d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add an option to generate the references

Conflicts:
	doc/fate.texi
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 11:21:15 +01:00
Carl Eugen Hoyos
670bb1c979 Fix compilation with --enable-decoder=webp --disable-decoder=vp8 2013-03-30 08:25:44 +01:00
Carl Eugen Hoyos
4d3c5d3b65 Do not show "Estimating duration from bitrate" warning if no duration was estimated. 2013-03-30 08:24:51 +01:00
Paul B Mahol
95c7cad70c lavc: remove empty function
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-30 03:23:02 +00:00
Stefano Sabatini
c838701ce4 doc/texi2pod.pl: skip printing chapter names if they are disabled 2013-03-30 16:58:45 +01:00
Stefano Sabatini
37fce84e27 lavc/libtheoraenc: clarify comment about global_quality to quality conversion 2013-03-30 16:58:40 +01:00
Matt Wolenetz
65340c976c Fix pthread_cond and pthread_mutex leaks in vp8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 21:36:04 +01:00
Paul B Mahol
1c11ab82d6 paf_video: make code independent of sizeof(AVFrame)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 20:19:10 +00:00
Michael Niedermayer
66e9716a36 aacps: correct opdipd code to match spec
This fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 21:03:59 +01:00
Paul B Mahol
a345b7f906 vmdav: use more unchecked bytestream2 variants where it makes sense
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 19:48:45 +00:00
Paul B Mahol
67f9bbbb3f noise_bsf: check if allocation failed
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 19:00:16 +00:00
Paul B Mahol
8263726c69 lavc: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-29 18:59:56 +00:00
Xidorn Quan
c7269e3a26 vda_h264_dec: fit the new API
It fixes a memory leak in this decoder caused by the API change.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 17:55:48 +01:00
Michael Niedermayer
ef7b6b489a ffmpeg/avformat: factor av_guess_frame_rate() out
This will be used in ffplay

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 17:40:28 +01:00
Xidorn Quan
c81d2fa96d avutil/buffer: add get_opaque
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 17:31:16 +01:00
Luca Barbato
b01b60a29d fate: add an option to generate the references
Useful to add or update fate tests.
2013-03-29 15:41:26 +01:00
Michael Niedermayer
774a268497 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flvdec: read audio sample size and channels metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 11:02:25 +01:00
Michael Niedermayer
8ed9d34aa7 Merge commit 'c3d015775388882b8a122afc337ea35108f652be'
* commit 'c3d015775388882b8a122afc337ea35108f652be':
  flvdec: use the correct audio codec id when parsing metadata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 10:56:36 +01:00
Michael Niedermayer
24cfe91a22 id3v2: allocate large enough buffer
Fixes array overread

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 05:01:38 +01:00
Michael Niedermayer
aa28c42534 mjpegdec: check buffer before using it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 05:00:15 +01:00
Michael Niedermayer
551f683861 yop: Do not keep a copy of parts of the returned packet
Fixes double free
Regression since the new buffer references, thus no FFmpeg
releases should be affected

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 02:11:34 +01:00
Michael Niedermayer
6ae03353de mpegvideo: Make the table reallocation more robust.
This fixes out of array writes after resolution changes
No FFmpeg releases are known to be affected by this

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-29 02:11:34 +01:00
Clément Bœsch
0fb9f77a39 LICENSE: add libutvideo in the GPL libraries list. 2013-03-29 02:08:20 +01:00
Michael Niedermayer
3969b4b861 gmc: Always use edge emu
The gmc functions access more pixels than there is allocated memory.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 22:24:33 +01:00
Michael Niedermayer
8fc52a5ef9 wmv2: drop non emu edge mode
slightly (~ 0.5%) faster, tested with time ./ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 21:59:23 +01:00
Michael Niedermayer
76e6b1eba1 wmv2: Use emu edge mode when the edge is too small
Fixes out of array read

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 21:50:53 +01:00
Michael Niedermayer
92002db3eb h264_refs: Check for attempts to assign pictures to short & long.
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 21:09:47 +01:00
Clément Bœsch
dd17843b8a fate/filter: make overlay test bitexact. 2013-03-28 17:55:02 +01:00
Clément Bœsch
ef4020ca7d fate/filter: move gradfun filtergraph to a dedicated script. 2013-03-28 17:44:22 +01:00
Clément Bœsch
0adc93ba2b fate/filter: move concat filtergraph to a dedicated script. 2013-03-28 17:44:22 +01:00
Clément Bœsch
b1213c911c fate/filter: move some CMD below deps for consistency. 2013-03-28 17:44:22 +01:00
Clément Bœsch
7f19fc99e0 fate/filter: remove pointless indirections for gradfun and hqdn3d. 2013-03-28 17:44:22 +01:00
Clément Bœsch
4694af1088 fate/filter: rename 'ubitux' rules to 'sample'. 2013-03-28 17:44:18 +01:00
Clément Bœsch
ac00755e0a fate/filter: stick delogo test with its deps (cosmetics). 2013-03-28 17:37:53 +01:00
Michael Niedermayer
27b7bfc7b5 avidec: Fix demuxing of non seekable avis with multiple RIFFs
This solution uses the size of the first RIFF if its valid
to check frame size validity when the filesize could not be determined.
Feedback is welcome, other ideas and improvments as well!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 17:30:42 +01:00
Giorgio Vazzana
5009863ab5 lavd/v4l2: fix printing of list_formats table
In particular we needed a '\n' at the end of the line when the format is emulated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 16:17:42 +01:00
Giorgio Vazzana
b97f7d9d24 lavd/v4l2: replace ioctl() with v4l2_ioctl()
This is consistent with the rest of the file and makes listing of
emulated formats possible when ffmpeg is compiled with libv4l2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 16:17:04 +01:00
Michael Niedermayer
e14f8bd07e fate: Disable af_join test, as its output is not deterministic currently
The reason for the failure is unknown, this needs to be debuged and fixed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:29:21 +01:00
Michael Niedermayer
e0dd8cadcc af_join: fix channel count and format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:29:14 +01:00
Michael Niedermayer
37bdf33cff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vmdav: convert to bytestream2
  FATE: add a test for the join filter
  FATE: add a test for the volume filter

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:02:49 +01:00
Michael Niedermayer
acaee26008 af_channelsplit: set output channels, fix assertion failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:29:11 +01:00
Michael Niedermayer
7a14564b2d Merge commit '43a8333a16c796b3d855fb3aaa742103cb62731f'
* commit '43a8333a16c796b3d855fb3aaa742103cb62731f':
  FATE: add a test for the channelsplit filter
  FATE: add a test for the channelmap filter
  FATE: add a test for the negate filter
  FATE: add a test for the overlay filter

Conflicts:
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:29:01 +01:00
Michael Niedermayer
8823ec4f9e Merge commit 'ea290d919a52f0f8c7e30d69328bb011ed13f61a'
* commit 'ea290d919a52f0f8c7e30d69328bb011ed13f61a':
  FATE: add a test for the setpts filter
  FATE: add a test for the hqdn3d filter
  FATE: add a test for the transpose filter
  FATE: add a test for the unsharp filter

Conflicts:
	tests/ref/fate/filter-hqdn3d

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:05:22 +01:00
Michael Niedermayer
6f1a6a9f6b Merge commit '1a6d4bd7b60761bd7d955011ce7df4dd6b87b497'
* commit '1a6d4bd7b60761bd7d955011ce7df4dd6b87b497':
  FATE: add a test for the fade filter
  FATE: add a test for the drawbox filter
  FATE: add a test for the boxblur filter
  FATE: add a test for the gradfun filter

Conflicts:
	tests/fate/filter.mak
	tests/ref/fate/filter-gradfun

our gradfun test is renamed to gradfun-ubitux as its name conflicts and
it was requested to be kept. Feel free to rename, change, finetune ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:48:05 +01:00
Michael Niedermayer
ac1a1fd708 Merge commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c'
* commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c':
  lavfi/gradfun: remove rounding to match C and SSE code.
  lavfi/gradfun: fix dithering in MMX code.
  lavfi/gradfun: fix rounding in MMX code.
  lavfi/gradfun: do not increment DC pointer for odd values.
  fate: filter: Add dependencies
  avconv: add options for reading filtergraphs from a file.

Conflicts:
	Changelog
	doc/ffmpeg.texi
	doc/filters.texi
	ffmpeg.h
	ffmpeg_opt.c
	libavfilter/vf_gradfun.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:00:39 +01:00
Paul B Mahol
705b607db8 lavfi/biquads: fix min allowed option value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-28 11:52:11 +00:00
Michael Niedermayer
fd37a7dc3c Merge commit 'cf53704c55378cc0dcfc16637cdac7d58f0b3107'
* commit 'cf53704c55378cc0dcfc16637cdac7d58f0b3107':
  AVOptions: make av_set_options_string() forward options to child objects
  win32: Use 64-bit fstat/lseek variants for MSVC as well
  win32: Make ff_win32_open more robust

Conflicts:
	libavformat/os_support.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:26:36 +01:00
Michael Niedermayer
e63ebaca16 Merge commit 'e9cc98839574c7e8d546e890ebbf57d1766e5d8a'
* commit 'e9cc98839574c7e8d546e890ebbf57d1766e5d8a':
  win32: Allow other programs to open the same files
  configure: Add error_resilience as dependency to the eatqi decoder

Conflicts:
	configure
	libavformat/os_support.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:20:41 +01:00
Michael Niedermayer
dac1d92cb7 Merge commit '472391b9a7e15e3bff33b016e7b6dbfa6a555975'
* commit '472391b9a7e15e3bff33b016e7b6dbfa6a555975':
  ape: use correct context for the bit table printed in debug
  build: Move setting of SRC_DIR to the only place it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:12:38 +01:00
Michael Niedermayer
2b6185cac9 Merge commit 'b4d24b471bc52f1f78a43ee330199e70483e51c3'
* commit 'b4d24b471bc52f1f78a43ee330199e70483e51c3':
  build: Remove configure-generated .config file on distclean
  msmpeg4: Split decoding related functions to a separate file

Conflicts:
	Makefile
	libavcodec/Makefile
	libavcodec/msmpeg4.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 12:07:38 +01:00
Michael Niedermayer
2bfcd74ad3 Merge commit 'e557584aa7df6ac9f52af7ee7e5c963437da2e2f'
* commit 'e557584aa7df6ac9f52af7ee7e5c963437da2e2f':
  mpeg12: Move Mpeg1Context declaration to the only place it is used

Conflicts:
	libavcodec/mpeg12.h
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:56:05 +01:00
Michael Niedermayer
016c00cf68 Merge commit '1b6d66745ac1768adb387c2227cdcf4452271149'
* commit '1b6d66745ac1768adb387c2227cdcf4452271149':
  Split MPEG-1/2 decoder code off from MPEG-1/2 common code

Conflicts:
	libavcodec/Makefile
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:45:50 +01:00
Michael Niedermayer
385ffc7650 Merge commit 'eee2000b41234ae9465c314e18bfec1700181f32'
* commit 'eee2000b41234ae9465c314e18bfec1700181f32':
  mpeg12: Move some ff_mpeg1_* function declarations to a more suitable place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:30:29 +01:00
Justin Ruggles
e46a2a7309 flvdec: read audio sample size and channels metadata
This is needed in order for the FLV demuxer not to detect a codec change when
using the "flv_metadata" option.
2013-03-28 06:27:28 -04:00
Justin Ruggles
c3d0157753 flvdec: use the correct audio codec id when parsing metadata 2013-03-28 06:27:28 -04:00
Michael Niedermayer
63a97d5674 Merge commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa'
* commit 'b6649ab5037fb55f78c2606f3d23cea0867cdeaa':
  cosmetics: Remove unnecessary extern keywords from function declarations

Conflicts:
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:20:41 +01:00
Michael Niedermayer
b1064dd783 Merge commit '1db6a080bddd14fed6b29140ecd2e21e42b1c022'
* commit '1db6a080bddd14fed6b29140ecd2e21e42b1c022':
  dca: Move ff_dca_convert_bitstream() to the DCA common code
  vdpau: wrap codec specific functions in appropiate #ifs

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:18:23 +01:00
Michael Niedermayer
7609d42d0f Merge commit '757d85868b77c4fdec7b77a3b7de1faf16c031e8'
* commit '757d85868b77c4fdec7b77a3b7de1faf16c031e8':
  vdpau: fix obsolete mpeg1 vdpau decoder when mpeg2 is disabled

Conflicts:
	libavcodec/mpeg12.c

Nothing changes as the buggy code is not in ffmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 11:07:48 +01:00
Michael Niedermayer
021547bfcc Merge commit 'd767e2f969933b4e450ed4e69ea2bf8ca864838c'
* commit 'd767e2f969933b4e450ed4e69ea2bf8ca864838c':
  configure: fix dependencies of XvMC and old vdpau mpeg2 decoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 10:54:17 +01:00
Alexandra Khirnova
0afcf97e1e vmdav: convert to bytestream2
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 08:30:38 +01:00
Anton Khirnov
8a2f5f0c63 FATE: add a test for the join filter 2013-03-28 08:03:43 +01:00
Anton Khirnov
9e9cd98aed FATE: add a test for the volume filter 2013-03-28 08:03:31 +01:00
Anton Khirnov
43a8333a16 FATE: add a test for the channelsplit filter 2013-03-28 08:03:12 +01:00
Anton Khirnov
33942b7bde FATE: add a test for the channelmap filter 2013-03-28 08:02:55 +01:00
Anton Khirnov
f917420378 FATE: add a test for the negate filter 2013-03-28 08:02:47 +01:00
Anton Khirnov
3d8c80b611 FATE: add a test for the overlay filter 2013-03-28 08:01:58 +01:00
Anton Khirnov
ea290d919a FATE: add a test for the setpts filter 2013-03-28 08:01:46 +01:00
Anton Khirnov
71f3ede24e FATE: add a test for the hqdn3d filter 2013-03-28 08:01:41 +01:00
Anton Khirnov
0bdbd85e47 FATE: add a test for the transpose filter 2013-03-28 08:01:34 +01:00
Anton Khirnov
ad85e8d9a5 FATE: add a test for the unsharp filter 2013-03-28 08:01:26 +01:00
Anton Khirnov
1a6d4bd7b6 FATE: add a test for the fade filter 2013-03-28 08:01:13 +01:00
Anton Khirnov
feb4922b25 FATE: add a test for the drawbox filter 2013-03-28 08:01:07 +01:00
Anton Khirnov
a222997650 FATE: add a test for the boxblur filter 2013-03-28 08:00:58 +01:00
Anton Khirnov
7cec12748a FATE: add a test for the gradfun filter 2013-03-28 08:00:24 +01:00
Clément Bœsch
1ae44c87c9 lavfi/gradfun: remove rounding to match C and SSE code.
There is no noticable benefit for such precision.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:29 +01:00
Clément Bœsch
38a2f88d39 lavfi/gradfun: fix dithering in MMX code.
Current dithering only uses the first 4 instead of the whole 8 random values.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:18 +01:00
Clément Bœsch
2d66fc543b lavfi/gradfun: fix rounding in MMX code.
Current code divides before increasing precision.

Also reduce upper bound for strength from 255 to 64.  This will prevent
an overflow in the SSSE3 and MMX filter_line code: delta is expressed as
an u16 being shifted by 2 to the left. If it overflows, having a
strength not above 64 will make sure that m is set to 0 (making the
m*m*delta >> 14 expression void).

A value above 64 should not make any sense unless gradfun is used as
a blur filter.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:04 +01:00
Clément Bœsch
8b9a153ef3 lavfi/gradfun: do not increment DC pointer for odd values.
First DC is only used once otherwise. This also makes the code
consistent with ASM versions.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:58:55 +01:00
Diego Biurrun
f2a59722d1 fate: filter: Add dependencies
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:58:44 +01:00
Anton Khirnov
a4208b9b7d avconv: add options for reading filtergraphs from a file. 2013-03-28 07:55:48 +01:00
Anton Khirnov
cf53704c55 AVOptions: make av_set_options_string() forward options to child objects 2013-03-28 07:55:38 +01:00
Michael Niedermayer
e234daa518 mlpdec: Fix reading state with 0 bit elements.
This fixes an assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 04:01:34 +01:00
Michael Niedermayer
10ece44d09 h264_cavlc: fix assertion failure due to reading too long vlc
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 04:01:34 +01:00
Michael Niedermayer
ea9a6709a9 estimate_timings_from_bit_rate: Check timebase and bitrate
Fixes integer overflow and assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 01:45:01 +01:00
Michael Niedermayer
1831274ff1 electronicarts: check timebase, fix assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 01:08:46 +01:00
Michael Niedermayer
a56d963f11 vp3: Check fps validity more completely
Fix assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 00:56:12 +01:00
Michael Niedermayer
c6831e2a70 wavpack: check K, fix assertion failure
Instead of this it would be possible to change the code to support
larger K but that would make the code slower and probably still need
checks on K.
This variant is choosen as there are no known valid files that need
larger K

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 00:54:45 +01:00
Dale Curtis
81e85bc95c Fix heap-buffer-overflow in matroska_parse_block
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 23:51:44 +01:00
Michael Niedermayer
e9d3b40052 snow: drop commented out asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 23:06:29 +01:00
Michael Niedermayer
460d30406b avformat: change some seeking related assert to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 22:53:57 +01:00
Michael Niedermayer
0d6e5a1712 vsrc_mandelbrot: Mandel morphing support
Example: ffplay -f lavfi "mandelbrot=outer=outz:morphamp=1:end_scale=2:maxiter=100"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 19:27:37 +01:00
Hendrik Leppkes
85a46ad685 win32: Use 64-bit fstat/lseek variants for MSVC as well
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 19:05:58 +02:00
Reimar Döffinger
ad04025987 win32: Make ff_win32_open more robust
- Make MultiByteToWideChar fail when it encounters invalid encoding.
  Without this, invalid characters might just be skipped
- When MultiByteToWideChar fails, assume the file name is in CP_ACP
  and open it via normal open function, even when the file will be
  written
- When malloc fails return error instead of crashing

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 18:54:46 +02:00
Reimar Döffinger
e9cc988395 win32: Allow other programs to open the same files
In order to match Linux behaviour better our Windows-specific
open() replacement should disable Windows default file locking.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 18:51:51 +02:00
Martin Storsjö
cfe5908a72 configure: Add error_resilience as dependency to the eatqi decoder
This makes standalone compilation of the eatqi decoder
succeed. The dependency comes from the shared mpeg12dec.o file.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 17:37:15 +02:00
Michael Niedermayer
79938a4e97 mandelbrot: add outer coloring method showing bailouted z
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 16:21:44 +01:00
Kostya Shishkov
472391b9a7 ape: use correct context for the bit table printed in debug 2013-03-27 16:20:08 +01:00
Michael Niedermayer
a2b5825649 vsrc_mandelbrot: support coloring the outside white
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 16:00:18 +01:00
Diego Biurrun
b4d24b471b build: Remove configure-generated .config file on distclean 2013-03-27 14:49:13 +01:00
Diego Biurrun
7c22d0489f build: Move setting of SRC_DIR to the only place it is used 2013-03-27 14:49:13 +01:00
Martin Storsjö
3891a270f5 msmpeg4: Split decoding related functions to a separate file
This fixes standalone compilation of the msmpeg4v2, msmpeg4v3
and wmv2 encoders, that previously failed to link due to the
decoder codepaths requiring error_resilience.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-27 15:45:56 +02:00
Diego Biurrun
e557584aa7 mpeg12: Move Mpeg1Context declaration to the only place it is used 2013-03-27 14:26:11 +01:00
Diego Biurrun
1b6d66745a Split MPEG-1/2 decoder code off from MPEG-1/2 common code 2013-03-27 14:26:11 +01:00
Diego Biurrun
eee2000b41 mpeg12: Move some ff_mpeg1_* function declarations to a more suitable place 2013-03-27 14:21:45 +01:00
Diego Biurrun
b6649ab503 cosmetics: Remove unnecessary extern keywords from function declarations 2013-03-27 14:21:45 +01:00
Diego Biurrun
1db6a080bd dca: Move ff_dca_convert_bitstream() to the DCA common code
This makes the DCA parser and decoder independent.
2013-03-27 14:21:45 +01:00
Janne Grunau
b247253929 vdpau: wrap codec specific functions in appropiate #ifs
Fixes linking when only a subset of the deprecated vdpau decoders is
enabled.
2013-03-27 13:20:13 +01:00
Michael Niedermayer
ace0cfea60 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hwaccel: fix use with frame based multithreading

Conflicts:
	libavcodec/h263dec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:51:33 +01:00
Michael Niedermayer
12f203a098 Merge commit 'c24469e812501903a46a06eff9722a82e136e841'
* commit 'c24469e812501903a46a06eff9722a82e136e841':
  utils: add workaround for AVHWAccel in ff_get_buffer compat code
  configure: Remove a stray msmpeg4v1 encoder declaration

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:42:15 +01:00
Michael Niedermayer
ef8ab2f953 Merge commit '3b2d0ec473b036bdd0a5bc0d896fd5292915f44d'
* commit '3b2d0ec473b036bdd0a5bc0d896fd5292915f44d':
  configure: Remove the mpegvideo dependency from svq1
  x86: vc1dsp: Fix indentation

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 11:32:45 +01:00
d s
914f48ddf0 Update MAINTAINERS with information about avisynth demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 03:47:56 +01:00
d s
444001bda6 Fix avisynth_context_create constructor error handling.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 03:47:49 +01:00
Carl Eugen Hoyos
92a9a3020d Support pcm_mulaw in Hikvision CCTV mpeg program streams.
Fixes decoding the sample from videolan trac ticket #8344.
2013-03-27 02:32:26 +01:00
Carl Eugen Hoyos
7857ddceec Fix a typo in the Monkey's Audio demuxer. 2013-03-27 01:55:11 +01:00
Clément Bœsch
1a3f7ded14 doc: "av* tools" -> "ff* tools".
Spotted-by: Timothy Gu <timothygu99@gmail.com>
2013-03-27 01:44:20 +01:00
Michael Niedermayer
e370b65897 tests/tiny_ssim: include the 2 macros instead of a header
Should fix compilation on open solaris

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 01:38:18 +01:00
Janne Grunau
757d85868b vdpau: fix obsolete mpeg1 vdpau decoder when mpeg2 is disabled 2013-03-26 22:53:29 +01:00
Janne Grunau
d767e2f969 configure: fix dependencies of XvMC and old vdpau mpeg2 decoders 2013-03-26 22:53:18 +01:00
Michael Niedermayer
46c48d546d mpegvideo: fix null pointer dereference on switching streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 21:54:36 +01:00
Janne Grunau
05fa79b844 hwaccel: fix use with frame based multithreading
Allows use of AVHWAccel based decoders with frame based multithreading.
The decoders will be forced into an non-concurrent mode by delaying
ff_thread_finish_setup() calls after decoding of the current frame
is finished.

This wastes memory by unnecessarily using multiple threads and thus
copies of the decoder context but allows seamless switching between
hardware accelerated and frame threaded software decoding when the
hardware decoder does not support the stream.
2013-03-26 19:44:50 +01:00
Janne Grunau
c24469e812 utils: add workaround for AVHWAccel in ff_get_buffer compat code
Since c977039e58 plane count for
PIX_FMT_HWACCEL pixel formats is 0 instead of 1. The created dummy
AVBuffers are still bogus since AVFrame does not hold frame data when
AVHWAccels are used.
2013-03-26 19:44:50 +01:00
Michael Niedermayer
7b3ca7ae8b mpegvideo/h264: drop period_since_free
This should not be needed anymore

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 19:27:32 +01:00
Michael Niedermayer
4c587b4f30 tiny_ssim: Avoid "for(int ..."
This should avoid issues with old compilers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 19:26:44 +01:00
Loren Merritt
064146480b tools: add tiny_ssim
Taken from:
http://lists.mplayerhq.hu/pipermail/mencoder-users/2006-August/003801.html
and
x264
See: [FFmpeg-devel] [PATCH] tools: add tiny_ssim

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 17:31:41 +01:00
Martin Storsjö
2ece5bf3ec configure: Remove a stray msmpeg4v1 encoder declaration
No such encoder exists currently.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 16:17:00 +02:00
Carl Eugen Hoyos
1741fece70 Only test the first frame for missing aac_adtstoasc bistream filter.
Many players ignore broken aac frames, so don't abort mov or flv
muxing when encountering one, just print a warning instead.

Fixes ticket #2380.
2013-03-26 15:16:07 +01:00
Carl Eugen Hoyos
8af593dd80 mpegtsenc: Only test the first frame for missing h264_mp4toannexb filter.
Many video players accept broken frames in a transport stream, so there
is no reason to abort remuxing when encountering one, just print a
warning instead.

Fixes ticket #1758.
2013-03-26 15:15:46 +01:00
Martin Storsjö
3b2d0ec473 configure: Remove the mpegvideo dependency from svq1
The svq1 decoder can be built standalone without mpegvideo.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 15:50:00 +02:00
Martin Storsjö
a2acadd058 x86: vc1dsp: Fix indentation
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 15:49:42 +02:00
Michael Niedermayer
07d405cc9e configure: mpegvideo should not depend on error resilience
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 14:43:12 +01:00
Michael Niedermayer
79c845659a configure: the snow encoder is not supposed to depend on error resilience
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 14:41:55 +01:00
Michael Niedermayer
365ad0042a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: Make it possible to compile without error_resilience

Conflicts:
	configure
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 14:36:00 +01:00
Paul B Mahol
62d36abef4 lavfi/mptestsrc: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol
401f9c95e9 lavfi/cellauto: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol
8c5b37b402 lavfi/life: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol
975efc8864 lavfi/mandelbrot: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:42 +00:00
Paul B Mahol
54056c6655 lavfi/testsrc: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:41 +00:00
Paul B Mahol
7606f4a1af lavfi/fps: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-26 13:23:41 +00:00
Michael Niedermayer
b19604cc4b Merge commit 'f1e9398621af0bc9d166014e4ce6996bb4f141d0'
* commit 'f1e9398621af0bc9d166014e4ce6996bb4f141d0':
  lavc: Rename avpriv_mpv_find_start_code after moving out from mpegvideo

Conflicts:
	libavcodec/h264_parser.c
	libavcodec/internal.h
	libavcodec/mpeg12.c
	libavcodec/utils.c
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:44:09 +01:00
Michael Niedermayer
7834bb092a Revert "Fix compilation with --disable-everything --enable-parser=h264."
This reverts commit e0e8c20559.

The mpegvideo dependancy should not be needed anymore
2013-03-26 13:23:01 +01:00
Michael Niedermayer
2cdedcbcea Merge commit '75644335b907919057960716508477239c26fed4'
* commit '75644335b907919057960716508477239c26fed4':
  lavc: Move start code finding to utils.c

Conflicts:
	configure
	libavcodec/mpegvideo.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:22:48 +01:00
Michael Niedermayer
795b911bd8 Merge commit '613a37eca4c7b8eefceaa3e0231c23ad090ca94f'
* commit '613a37eca4c7b8eefceaa3e0231c23ad090ca94f':
  ape: 3.80-3.92 decoding support
  h264: Remove an unused variable

Conflicts:
	libavcodec/apedec.c
	libavformat/ape.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:14:16 +01:00
Michael Niedermayer
9b9205e760 x86/dsputil.asm: make unaligned bswap actually work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:07:46 +01:00
Michael Niedermayer
cb69a9dbf4 Merge commit 'e5c2794a7162e485eefd3133af5b98fd31386aeb'
* commit 'e5c2794a7162e485eefd3133af5b98fd31386aeb':
  x86: consistently use unaligned movs in the unaligned bswap

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 13:07:37 +01:00
Ronald S. Bultje
0b499c9b06 h264: Make it possible to compile without error_resilience
Error resilience is enabled by the h264 decoder, unless explicitly
disabled. --disable-everything --enable-decoder=h264 will produce
a h264 decoder with error resilience enabled, while
--disable-everything --enable-decoder=h264 --disable-error-resilience
will produce a h264 decoder with error resilience disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 09:55:05 +02:00
Martin Storsjö
f1e9398621 lavc: Rename avpriv_mpv_find_start_code after moving out from mpegvideo
Also move the declaration to internal.h, and add restrict qualifiers
to the declaration (as in the implementation).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 09:50:02 +02:00
Martin Storsjö
75644335b9 lavc: Move start code finding to utils.c
This allows dropping the mpegvideo dependency from a number of
components.

This also fixes standalone building of the h264 parser, which
was broken in 64e438697.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-26 09:48:12 +02:00
Michael Niedermayer
ea7b96af96 avcodec/x86/dsputil_qns_template: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 04:08:28 +01:00
Clément Bœsch
e32cbd0f54 lavfi/perms: add myself to the copyright header. 2013-03-26 02:41:05 +01:00
Clément Bœsch
9371467d9d lavfi/perms: add seed option. 2013-03-26 02:39:55 +01:00
Clément Bœsch
e600d0628e lavfi/perms: remove unecessary indirection after f7324c06. 2013-03-26 02:24:03 +01:00
Michael Niedermayer
bd03afb5bb ffmpeg_opt: avoid strcpy()
This fixes a warning on openbsd and is more robust

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 01:51:19 +01:00
Clément Bœsch
ec1ef0838c tools: add audio normalize script example. 2013-03-26 01:50:13 +01:00
Clément Bœsch
133035c40d lavfi/curves: add forgotten strong_contrast preset. 2013-03-26 01:05:26 +01:00
Clément Bœsch
183f3450fd lavfi/curves: support preset shorthand. 2013-03-26 00:04:06 +01:00
Clément Bœsch
dc65d784df lavfi/curves: add presets support.
Except for the vintage preset, the values are defined by Lou Logan based
on the ones found in Adobe Photoshop CS6.

Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2013-03-25 23:48:51 +01:00
Michael Niedermayer
4a595cff79 ffserver/ctime1: avoid using strcpy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 23:31:34 +01:00
Michael Niedermayer
ea4c99de4c dshow_pin: dont return a value from a void function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 22:12:07 +01:00
Michael Niedermayer
a2f7314ba2 libpostproc: silence valgrind/fate warning about using uninitialized data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 21:48:45 +01:00
Kostya Shishkov
613a37eca4 ape: 3.80-3.92 decoding support 2013-03-25 18:40:56 +01:00
Michael Niedermayer
67607e20e8 xxan: make code independent of sizeof(AVFrame)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 17:35:58 +01:00
Michael Niedermayer
8097e5b212 yop: Fix return type
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 15:14:20 +01:00
Martin Storsjö
ccd349e555 h264: Remove an unused variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-25 15:00:05 +02:00
Michael Niedermayer
afdfff485b avcodec/gifdec: Add av_log() to workaround gcc 4.2 miscompiling the code
It appears gcc forgets to increment the byte stream pointer at -O3
I was not able to spot a reason/excuse for it to do that. It
also disappears if the function isnt inlined.

This should fix the gif fate failures on open & free bsd

See: [FFmpeg-devel] [PATCH] gifdec: workaround old gcc 4.2 mis-compiling code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:32:45 +01:00
Michael Niedermayer
ad438f450b xan: make decoder independent of sizeof(AVFrame)
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:30:30 +01:00
James Almer
45013b365e lavc/flacdec: Propagate and return meaningful error codes
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:16:33 +01:00
Björn S
f248b8a902 blend: Adding yuvj pixelformats to the blend effect
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 13:14:38 +01:00
Michael Niedermayer
4ce9e4e9c9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  sndio_dec: Add missing includes for av_gettime()

no change, as this has already been fixed in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 12:20:44 +01:00
Janne Grunau
e5c2794a71 x86: consistently use unaligned movs in the unaligned bswap
Fixes fate errors in asv1, ffvhuff and huffyuv on x86_32.
2013-03-25 12:11:11 +01:00
Michael Niedermayer
ae65327e5e vsrc_testsrc: avoid floats and non bit exactness
The round to zero behavior is maintained, possibly this should
be changed to round to nearest.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 03:11:43 +01:00
Michael Niedermayer
01df2a13c3 avcodec/utils: initialize pixel buffer pool
This should silence many valgrind warnings about use of uninitialized
data, all the warnings i looked at where false positives having their
uninitialized data not actually used.

The same effect could be achieved by listing all code that touches
the pixel buffer in the valgrind suppression file.
Note, valgrind also fails to trace the origins correctly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-25 00:43:14 +01:00
Nicolas George
4f112a8e34 lavf/mux: add the flush_packets option.
Note: a lot of muxers already do the flushing explicitly.
2013-03-24 23:19:07 +01:00
Nicolas George
125acd2152 lavfi: support multiple rounds of format negotiation.
Remove the temporary hack for amerge and replace it with a
generic solution.
2013-03-24 23:17:47 +01:00
Nicolas George
00da527b44 lavfi/af_amerge: return EAGAIN if the input layouts are not known.
Also downgrade the error to a warning.
2013-03-24 23:17:47 +01:00
Nicolas George
57cb4fb075 lavfi: add test for concat. 2013-03-24 23:16:40 +01:00
Michael Niedermayer
e2b30194bb h264/field_end move progress report code after error concealment.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 22:34:17 +01:00
Clément Bœsch
386dc9a3a8 lavfi/thumbnail: add support for named options. 2013-03-24 20:38:12 +01:00
Stefano Sabatini
3b811bcf67 lavfi/colormatrix: reword error message in init
Change:
"source and destination color space are identical"

which is a true fact, but doesn't tell nothing about what's wrong, to:
"Source and destination color space must not be identical"

which tells more explicitly what the problem is.
2013-03-24 20:21:35 +01:00
Stefano Sabatini
1b140835b6 lavfi/colormatrix: add support for named options 2013-03-24 20:21:20 +01:00
Clément Bœsch
cbf224b631 lavfi/tinterlace: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
9e21c89841 lavfi/subtitles: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
06784b737a lavfi/smartblur: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
15878b2b5b lavfi/setfield: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
e62587bc5e lavfi/overlay: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
5dc074d321 lavfi/kerndeint: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
ab228f9163 lavfi/idet: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
552c02f20f lavfi/histeq: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
b27a8ba13c lavfi/gradfun: use standard options parsing. 2013-03-24 12:26:25 +01:00
Clément Bœsch
b595819cde lavfi/geq: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
cb0fb4d04d lavfi/fieldorder: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
a733481d0a lavfi/field: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
7edda1a935 lavfi/deshake: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
1341dd2dd0 lavfi/cropdetect: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
a36d903601 lavfi/boxblur: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
3f8072886b lavfi/blackframe: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
67ad9fd098 lavfi/settb: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
8b994c8c1c lavfi/select: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
f7324c068f lavfi/perms: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
07b7c2a217 lavfi/sine: use standard options parsing. 2013-03-24 12:26:24 +01:00
Clément Bœsch
3ac77f67af lavfi/apad: use standard options parsing. 2013-03-24 12:26:24 +01:00
Martin Storsjö
fdaacc5932 sndio_dec: Add missing includes for av_gettime()
This is necessary after the old av_gettime in libavformat was
dropped.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-24 13:20:53 +02:00
Michael Niedermayer
4c6f08bd8f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Change a missed occurrance of int to ptrdiff_t for strides
  x86: Remove win64 xmm clobbering wrappers for the now removed avcodec_encode_video function
  bktr: Add missing includes for av_gettime()
  fate: use little endian yuv444p10 in h264-reinit tests

Nothing changes through this merge as the 3 bugfixes already exist
in ffmpeg and the clobbering wraper is still in use as we did not
yet remove avcodec_encode_video

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 11:53:47 +01:00
Martin Storsjö
285ff14413 x86: Change a missed occurrance of int to ptrdiff_t for strides
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-24 12:06:53 +02:00
Michael Niedermayer
01a334e885 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: avoid frame data leak on early frame drop

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 04:35:44 +01:00
Michael Niedermayer
8e062fd169 rawdec: fix memleak
Fixes fate-lavf-flm under valgrind

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 04:09:04 +01:00
Michael Niedermayer
8e944891ce avutil/buffer: remove redundant memory poisoning
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 02:21:42 +01:00
Michael Niedermayer
058c002932 avutil/buffer: support memory poisoning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 01:44:48 +01:00
Michael Niedermayer
d6f9610853 yop: use reget_buffer() as the previous contents are used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 01:41:49 +01:00
Michael Niedermayer
7239b36059 fate: dont try to filter partial frames with yadif.
The partial frames leak a few uninitialized pixels through
due to incomplete interlaced error concealment support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 01:30:11 +01:00
Michael Niedermayer
62f56fd7ea buffersink/uninit: use av_frame_free() not unref
Fixes memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 23:49:33 +01:00
Martin Storsjö
352dbdb96c x86: Remove win64 xmm clobbering wrappers for the now removed avcodec_encode_video function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-23 23:37:27 +02:00
Martin Storsjö
fe2661121e bktr: Add missing includes for av_gettime()
This is necessary after the old av_gettime in libavformat was
dropped.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-23 23:36:58 +02:00
Janne Grunau
70db0c9156 fate: use little endian yuv444p10 in h264-reinit tests
Fixes fate big endian configs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 22:33:11 +01:00
Michael Niedermayer
644092c8e8 h264: dont report rows as finished after a missing slice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 21:07:57 +01:00
Stefano Sabatini
a42d15a3a0 lavfi/anullsrc: add missing checks 2013-03-23 16:53:25 +01:00
Stefano Sabatini
4e8062c2d7 lavfi/anullsrc: remove extra parentheses 2013-03-23 16:53:19 +01:00
Stefano Sabatini
fe2cfd50f0 lavfi/anullsrc: simplify logging code in config_props 2013-03-23 16:53:13 +01:00
Stefano Sabatini
5373a2a221 lavfi/anullsrc: fix format negotiation
Samplerate and channel layouts must be set in query_formats.
2013-03-23 16:53:08 +01:00
Bojan Zivkovic
e54eb8db9c mips: Optimization of AAC psychoacoustic model functions
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 16:19:38 +01:00
Piotr Bandurski
e26b066cd8 libspeex: support ZygoAudio (quality 10 mode)
Fixes "quality 10" mode from Ticket1873

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 15:45:58 +01:00
Giorgio Vazzana
785b849f1c lavd/v4l2: honor previously selected input channel
An input channel could have been previously set with another application, like
v4l2-ctl, so if no input channel is specified use the previosly selected one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 13:43:56 +01:00
Michael Bradshaw
2a97c5915b Make audio FIFO read/write contracts more strict
Signed-off-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 13:33:45 +01:00
Janne Grunau
535c247b57 fate: use little endian yuv444p10 in h264-reinit tests
Fixes fate big endian configs.
2013-03-23 13:12:36 +01:00
Thierry Foucu
fcf73f9c01 Call do_video_stats when duplicating frame
When multiple frame are encoded during vsync, current code only
do_video_stats once. This need to do it every frame.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:29:12 +01:00
Michael Niedermayer
8b63eeb6b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add test for cropping h264 to container dimensions
  FATE: add a tscc2 test.
  tscc2: allocate AVFrame properly.

Conflicts:
	libavcodec/tscc2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:26:08 +01:00
Michael Niedermayer
9bb6504e3b Merge commit '20a8ee3061e6d777600c13db731bee3c25878991'
* commit '20a8ee3061e6d777600c13db731bee3c25878991':
  af_asyncts: fix compensation and PTS monotonicity

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:16:32 +01:00
Michael Niedermayer
6efe61486d Merge commit '1e8b9738fa70e20967ddb542d2f9d5552fc51ec6'
* commit '1e8b9738fa70e20967ddb542d2f9d5552fc51ec6':
  avutil/frame: add all remaining frame properties to av_frame_copy_props

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:08:01 +01:00
Michael Niedermayer
4c1f61b1e8 ffmpeg: Correct inter stream timestamp discontinuities
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 04:53:44 +01:00
Marton Balint
c46a8c613e ffplay: avoid frame data leak on early frame drop
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-23 02:25:33 +01:00
Michael Niedermayer
dda04a5899 Changelog: add WebP
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 23:19:07 +01:00
Clément Bœsch
89b4e758d3 lavfi/blend: always peek the first frame of each queue.
Before the change, filter_frame() always waited for 2 samples in the
bottom frames queue. This notably fixes commands such as
./ffplay tests/lena.pnm -vf split,blend=c0_mode=addition
2013-03-22 23:09:08 +01:00
Clément Bœsch
859f7da543 lavc/prores: restore pict_type and key_frame setting. 2013-03-22 23:05:50 +01:00
Michael Niedermayer
b3e9f266e8 x86/mpegvideo: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 22:57:23 +01:00
Michael Niedermayer
cdbf8409ef x86/h264_qpel: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 22:57:08 +01:00
Janne Grunau
3f15b301fa fate: add test for cropping h264 to container dimensions
Tests the workaround added for 1080 videos created with Canon cameras
in 30f515091c.
2013-03-22 21:58:01 +01:00
Carl Eugen Hoyos
1ed10bd89c Fix typo in dvvideo decoder dependencies.
Fixes compilation with --disable-everything --enable-decoder=dvvideo
2013-03-22 21:37:17 +01:00
Anton Khirnov
93eaeb0244 FATE: add a tscc2 test. 2013-03-22 20:10:56 +01:00
Anton Khirnov
4e33582a0b tscc2: allocate AVFrame properly. 2013-03-22 20:10:48 +01:00
Jindřich Makovička
20a8ee3061 af_asyncts: fix compensation and PTS monotonicity
This patch improves af_asyncts behavior on streams with bogus PTS, which
are either non-monotonic, or contain PTS jitter, and trigger the
non-monotonicity error. With this patch, af_asyncts is able to correct
these streams and avoid the error.

Firstly, it fixes resample compensation calculation by supplying proper
units to avresample_set_compensation (sample count per second instead
of sample count per some arbitrary frame size). Also, the calculation of
the compensation itself is fixed - delta is proportional to an adjustment
of the compensation, not the compensation itself. Ideally, the compensation
should converge to a value that keeps delta at zero.

To be able to deal with sources with PTS jitter even without resampling,
small PTS errors are adjusted, so the output frames do not overlap.

Finally, one more monotonicity check is added.

The FATE reference changes because now there is 8 less samples of
silence because of the pts jitter.

Signed-off-by: Jindřich Makovička <makovick@gmail.com>
2013-03-22 20:09:34 +01:00
Hendrik Leppkes
1e8b9738fa avutil/frame: add all remaining frame properties to av_frame_copy_props
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-22 20:05:37 +01:00
Michael Niedermayer
428e9dafab h263dec: switch to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 18:07:26 +01:00
Michael Niedermayer
ac75e0c755 matroskadec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 18:04:17 +01:00
Michael Niedermayer
076c1c956c vp8: WebP decoding support
VP8L, padding and bounds checks by Pascal Massimino

Reviewed-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 14:57:56 +01:00
Michael Niedermayer
c0ff2aaa49 img2: WebP support
Reviewed-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 14:57:27 +01:00
Carl Eugen Hoyos
e0e8c20559 Fix compilation with --disable-everything --enable-parser=h264. 2013-03-22 13:32:35 +01:00
Carl Eugen Hoyos
d98a5318fd Fix compilation with --disable-mmx. 2013-03-22 13:00:50 +01:00
Michael Niedermayer
abbc34c372 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Enable hwaccels without external dependencies by default.
  doc/developer: Clarify symbol naming prefixes section.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 12:58:22 +01:00
Clément Bœsch
77f60f0011 lavu/eval: add between() function. 2013-03-22 09:20:45 +01:00
Carl Eugen Hoyos
ac9b056ddb Do not fail in get_buffer_internal() if pix_fmt planes == 0.
Fixes VDPAU decoding, reported by Ilja Sekler
2013-03-22 01:03:07 +01:00
Michael Niedermayer
21a5f5ea5d error_resilience: fix const correctness, silence warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 23:32:37 +01:00
Michael Niedermayer
732b2fde1c vdpau.h: change vdpau_render_state layout to match fork if AV_HAVE_INCOMPATIBLE_FORK_ABI
This might fix a compatibility issue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 23:22:33 +01:00
Andrew Euell
f8217daa8e vda_h264: fix for VDA compile
the VDA code needs to be updated to use the CHROMA(h) macros

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 19:56:19 +01:00
Michael Niedermayer
4aa8503399 sonicdec: update to new buffer API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 16:01:53 +01:00
Michael Niedermayer
85d7f54662 sonicenc: fix mono decorrelation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 15:49:22 +01:00
Michael Niedermayer
6ec037c5a9 sonicdec: fix frame size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 15:46:16 +01:00
Michael Niedermayer
1426291eb8 sonicdec: check decorrelation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 15:45:59 +01:00
Michael Niedermayer
8251c05320 g729dec: switch to buffer refs style
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 14:48:56 +01:00
Michael Niedermayer
a728a28dac v308dec: remove unneeded self assignment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 14:43:09 +01:00
Diego Biurrun
2e2ec66741 configure: Enable hwaccels without external dependencies by default. 2013-03-21 14:19:03 +01:00
Diego Biurrun
72ad96c854 doc/developer: Clarify symbol naming prefixes section. 2013-03-21 14:17:37 +01:00
Michael Niedermayer
4257b804e2 ffmpeg: Replace -deinterlace (which was broken by the buffer ref stuff) with yadif injection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:54:04 +01:00
Michael Niedermayer
f3980b75f8 h264: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:17:55 +01:00
Michael Niedermayer
de8049d27c h264: add an argument to CHROMA for consistency
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:17:19 +01:00
Michael Niedermayer
881050d229 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: remove redundant freeing of DPB in h264_decode_end

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:10:57 +01:00
Michael Niedermayer
86d9d349cc Merge commit '23e85be58fc64b2e804e68b0034a08a6d257e523'
* commit '23e85be58fc64b2e804e68b0034a08a6d257e523':
  h264: add a parameter to the CHROMA444 macro.
  h264: add a parameter to the CHROMA422 macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 13:06:14 +01:00
Michael Niedermayer
92656787cf Merge commit '6d2b6f21eb45ffbda1103c772060303648714832'
* commit '6d2b6f21eb45ffbda1103c772060303648714832':
  h264: add a parameter to the CABAC macro.
  h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:58:00 +01:00
Michael Niedermayer
bf4d0f8328 Merge commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4'
* commit '7fa00653a550c0d24b3951c0f9fed6350ecf5ce4':
  h264: add a parameter to the FIELD_PICTURE macro.
  h264: add a parameter to the FRAME_MBAFF macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:50:18 +01:00
Michael Niedermayer
e168b50816 Merge commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7'
* commit 'da6be8fcec16a94d8084bda8bb8a0a411a96bcf7':
  h264: add a parameter to the MB_FIELD macro.
  h264: add a parameter to the MB_MBAFF macro.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:43:32 +01:00
Michael Niedermayer
137df692fc Merge commit '48d0fd2d62a476e1db9298163f1fc0abae26cc67'
* commit '48d0fd2d62a476e1db9298163f1fc0abae26cc67':
  h264: merge common_init() into ff_h264_decode_init.

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:34:59 +01:00
Michael Niedermayer
bbc0f6f978 Merge commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e'
* commit '25408b2a0660c1e6c8555559c4ed71dff2ede31e':
  h264: make ff_h264_frame_start static.

Conflicts:
	libavcodec/h264.c
	libavcodec/h264.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 12:05:13 +01:00
Michael Niedermayer
6c8ac2d782 Merge commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5'
* commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5':
  fate: add tests for h264 decoder reinit
  h264: fix bit depth changes with frame threading

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 11:56:29 +01:00
Michael Niedermayer
82f95d7fd7 h264: drop special case for 9bit chroma422
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 11:51:26 +01:00
Anton Khirnov
fcf75022d7 h264: remove redundant freeing of DPB in h264_decode_end
free_tables() frees it already.
2013-03-21 10:21:11 +01:00
Anton Khirnov
23e85be58f h264: add a parameter to the CHROMA444 macro.
This way it does not look like a constant.
2013-03-21 10:21:02 +01:00
Anton Khirnov
e962bd08ee h264: add a parameter to the CHROMA422 macro.
This way it does not look like a constant.
2013-03-21 10:20:58 +01:00
Anton Khirnov
6d2b6f21eb h264: add a parameter to the CABAC macro.
This way it does not look like a constant.
2013-03-21 10:20:52 +01:00
Anton Khirnov
a6931d8ece h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.
This way it does not look like a constant.
2013-03-21 10:20:48 +01:00
Anton Khirnov
7fa00653a5 h264: add a parameter to the FIELD_PICTURE macro.
This way it does not look like a constant.
2013-03-21 10:20:44 +01:00
Anton Khirnov
7bece9b22f h264: add a parameter to the FRAME_MBAFF macro.
This way it does not look like a constant.
2013-03-21 10:20:39 +01:00
Anton Khirnov
da6be8fcec h264: add a parameter to the MB_FIELD macro.
This way it does not look like a constant.
2013-03-21 10:20:35 +01:00
Anton Khirnov
82313eaa34 h264: add a parameter to the MB_MBAFF macro.
This way it does not look like a constant.
2013-03-21 10:20:30 +01:00
Anton Khirnov
48d0fd2d62 h264: merge common_init() into ff_h264_decode_init.
There is no point in keeping those separate.
2013-03-21 10:20:10 +01:00
Anton Khirnov
25408b2a06 h264: make ff_h264_frame_start static.
It is not called from outside h264.c
2013-03-21 10:19:54 +01:00
Paul B Mahol
c5b484e616 lavfi/vf_stereo3d: use standard options parsing
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-21 09:17:32 +00:00
Stephen Hutchinson
cedf27651d Provide local copies of AviSynth's and AvxSynth's requisite headers in compat/avisynth/.
The versions of the headers are the same as those provided with x264
for consistency's sake.
2013-03-21 04:23:24 +01:00
d s
b9ad009475 AviSynth demuxer rewrite.
Dynamically loads the library itself, rather than through VfW.
Supports AvxSynth on Linux and OS X.

Supports the new colorspaces added in AviSynth 2.6 when used
with AviSynth 2.6.
2013-03-21 04:11:22 +01:00
Michael Niedermayer
47540c8a68 avformat/avs: increase probe score to preempt conflict with avxsynth
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 04:05:51 +01:00
Clément Bœsch
4331484b8d lavc/utils: fix metadata audio frame memleak in case of non refcounted frames.
The metadata must be set before saving the frame to avci->to_free,
otherwise it will leak.

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
2013-03-21 01:07:51 +01:00
Michael Niedermayer
76fdced109 asrc_sine: avoid use of INFINITY as it might be a non constant
This should fix compilation on openbsd

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 00:53:57 +01:00
Michael Niedermayer
426ebdf923 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/vf_yadif: use standard options parsing.
  lavfi/vf_unsharp: use standard options parsing.
  lavfi/vf_transpose: use standard options parsing.
  lavfi/vf_pad: use standard options parsing.
  lavfi/vf_fps: use standard options parsing.
  lavfi/vf_fade: use standard options parsing.
  lavi/vf_drawbox: use standard options parsing.
  lavfi/vf_delogo: use standard options parsing.
  lavfi/vf_decimate: use standard options parsing.
  lavfi/vf_crop: use standard options parsing.
  lavfi/af_volume: use standard options parsing.
  lavfi/vf_tile: use standard options parsing.
  lavfi/avf_concat: use standard options parsing.
  lavfi: add common code to handle options parsing.
  lavf/vobsub: free index pseudo-packet.
  ffmpeg: fix freeing of sub2video frame.
  lavfi: add sine audio source.
  lavu/opt: add AV_OPT_TYPE_DURATION.
  lavfi/concat: fix silence duration computation.
  lavf/concatdec: support seeking.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 21:41:26 +01:00
Frank Galligan
b853103fe0 matroskadec: Add support for parsing Matroska ContentEncKeyID
This patch adds the enums for the ContentEncryption elements.
This patch also adds support for parsing the ContentEncKeyID. The
ContentEncKeyID is then base64 encoded and stored in the stream's
metadata.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 21:29:55 +01:00
Nicolas George
2753d4ebf0 lavfi/vf_yadif: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
8d4d11cd89 lavfi/vf_unsharp: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
769cc30072 lavfi/vf_transpose: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
392ec7ec1c lavfi/vf_pad: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
b201c167d0 lavfi/vf_fps: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
4e2bcec95f lavfi/vf_fade: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
80580b405a lavi/vf_drawbox: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
37438d0a72 lavfi/vf_delogo: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
40ecd44f00 lavfi/vf_decimate: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
6202cf5dd8 lavfi/vf_crop: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
e9ca55aedd lavfi/af_volume: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
e9f45a833d lavfi/vf_tile: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
8c6c811b21 lavfi/avf_concat: use standard options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
befbcc374d lavfi: add common code to handle options parsing. 2013-03-20 21:13:56 +01:00
Nicolas George
cdd78a65f4 lavf/vobsub: free index pseudo-packet. 2013-03-20 21:13:55 +01:00
Nicolas George
6a90f6d789 ffmpeg: fix freeing of sub2video frame. 2013-03-20 21:13:55 +01:00
Nicolas George
21b092de7c lavfi: add sine audio source. 2013-03-20 21:04:28 +01:00
Nicolas George
8d928a9d99 lavu/opt: add AV_OPT_TYPE_DURATION. 2013-03-20 21:04:28 +01:00
Nicolas George
68fb7e260b lavfi/concat: fix silence duration computation.
Inside send_silence(), delta_ts was used inconsistently:
sometimes as the new value, sometimes as the old value.

Consistently use it as the new value, and add an argument
to know the last segment duration.
2013-03-20 20:59:45 +01:00
Nicolas George
de1a71595d lavf/concatdec: support seeking. 2013-03-20 20:59:24 +01:00
Michael Niedermayer
710cd0fddf avformat: Fix infinite probing that reads the whole file
Fixes: otonajoshi_avformat_tries_to_load_whole.ts
Reported-by: JEEB (on IRC)
Thanks-to: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 17:57:00 +01:00
Michael Niedermayer
06a43baecd av_find_stream_info: change read_size to 64bit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 17:23:23 +01:00
Janne Grunau
1c4073efd2 fate: add tests for h264 decoder reinit 2013-03-20 16:04:27 +01:00
Michael Niedermayer
9ea6c14820 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavu/frame: use channels rather than channel_layout.
  lavf: avformat_seek_file(): validate stream_index.
  lavf/concatdec: fix possible leak in case of malloc failure.
  lavfi/buffersink: check av_frame_ref() failure.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:58:04 +01:00
Nedeljko Babic
271f95940b libavcodec/mips: fix for mips optimized fp fft with hard coded tables disabled
Floating point FFT (nips optimized) breaks when hard coded tables are
not enabled because MIPS optimization of floating point FFT uses only
ff_init_ff_cos_tabs(16) which is not enabled by default in that case.

This patch is fixing it.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:48:05 +01:00
Michael Niedermayer
b274703493 avutil/atomic: use av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:45:30 +01:00
Michael Niedermayer
eaa5882e71 avutil: fix compilation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 13:45:30 +01:00
Nicolas George
a964d6a8a2 lavu/frame: use channels rather than channel_layout. 2013-03-20 13:35:24 +01:00
Nicolas George
0d09aa9d8e lavf: avformat_seek_file(): validate stream_index. 2013-03-20 13:35:24 +01:00
Nicolas George
de1568a452 lavf/concatdec: fix possible leak in case of malloc failure.
Fix CID 747737.
2013-03-20 13:35:24 +01:00
Nicolas George
5eb273b2e7 lavfi/buffersink: check av_frame_ref() failure. 2013-03-20 13:35:24 +01:00
Paul B Mahol
ac44e52f50 lavfi/showwaves: make use of AV_OPT_TYPE_VIDEO_RATE
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-20 12:29:54 +00:00
Paul B Mahol
7aa9af51db lavu/opt: add AV_OPT_VIDEO_RATE option
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-20 12:29:54 +00:00
Janne Grunau
a157c7f2b8 h264: fix bit depth changes with frame threading
AVCodecContext.bits_per_raw_sample is updated from the previous thread
in the generic update function before the codec specific update_thread
function is called. The check for reinitialization of dsp functions uses
bits_per_raw_sample. When called from update_thread_context it will be
already at the current value and the dsp functions aren't updated if
only the bit depth changes.
2013-03-20 13:12:10 +01:00
Bojan Zivkovic
7d29c6eebc mips: Optimization of IIR filter function
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 12:44:32 +01:00
Bojan Zivkovic
26f3924d78 mips: Optimization of AAC coefficients encoder functions
Signed-off-by: Bojan Zivkovic <bojan@mips.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 12:34:37 +01:00
Michael Niedermayer
e7dd0365f2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Pass the parameters to do_adobe_auth in the right order

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 12:03:53 +01:00
Michael Niedermayer
f7fee8f700 Merge commit 'c3ebfcd6e1327ca7bbcaee822e593c2da6cfd352'
* commit 'c3ebfcd6e1327ca7bbcaee822e593c2da6cfd352':
  mpegvideo: allocate hwaccel privdata after the frame buffer
  h264: allocate hwaccel privdata after the frame buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:57:28 +01:00
Michael Niedermayer
084510d12a Merge commit 'c71c80f53b6a63fd6360d9de5a262f9e7c85681f'
* commit 'c71c80f53b6a63fd6360d9de5a262f9e7c85681f':
  pthread: unref already decoded frames when flushing the decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:50:33 +01:00
Michael Niedermayer
54b0bef390 Merge commit '4e70d66ded537cadd32dbd02a38c3d86a203c812'
* commit '4e70d66ded537cadd32dbd02a38c3d86a203c812':
  mpegvideo: fix allocation of the hwaccel_picture_private data
  lavc: update the doxy for avcodec_decode_{video,audio} wtih refcounting.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:43:29 +01:00
Michael Niedermayer
df804041bd Merge commit '6599b087de62a5f9f2a8d61a1952d777d1bff804'
* commit '6599b087de62a5f9f2a8d61a1952d777d1bff804':
  buffersrc: fix a typo.
  lavc, lavfi: fix counting number of planes in AVBufferRef wrappers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:30:56 +01:00
Michael Niedermayer
17ebef2fc8 Merge commit '2c328a907978b61949fd20f7c991803174337855'
* commit '2c328a907978b61949fd20f7c991803174337855':
  pixdesc: add a function for counting planes in a pixel format.
  avplay: remove the -debug option.
  Revert "asfenc: return error on negative timestamp"

Conflicts:
	doc/APIchanges
	doc/ffplay.texi
	ffplay.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 11:24:11 +01:00
Martin Storsjö
a5e6080a8d rtmp: Pass the parameters to do_adobe_auth in the right order
do_adobe_auth takes the parameters in the order "opaque, challenge".

Due to the way they are treated, this didn't matter in the tested
setups though - if both are set, we only use one. In the tested
setups (Wowza and Akamai) either one of them were null or they
were both set to the same value, which is why this worked before.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-20 12:00:28 +02:00
Sebastian Sandberg
db8403d04a vc1dec: interlaced B-frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 03:37:48 +01:00
Michael Niedermayer
d244a615f6 er: set error_occured on missing slices
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-20 00:52:46 +01:00
Clément Bœsch
17e1b3cd14 fate: make metadata fate tests only output ts and metadata.
The other information are just cluttering the output. The command line
is also simplified in the process.
2013-03-20 00:09:44 +01:00
Stefano Sabatini
33b0549867 lavc/utils: add VP6F hack for setting correct video size in stream
For some obscure reasons avcodec_set_dimensions() resets the width/height
so that the resulting value set in the stream is equal to the
corresponding coded_width/height, which is not the same as the correct
width/height in case of the H.264 and VP6F codecs.

This adds a codec-specific hack for VP6F which disables the call to
avcodec_set_dimensions() in avcodec_open2(), like it is done with H264. A
proper fix needs to be found yet.

Fix trac ticket #1386.

Based on a patch by Michael Niedermayer.

Trolled-By: Daemon404

See thread:
Subject: [FFmpeg-devel] [PATCH] ffprobe: Stash and use width and height before opening the codec
Date: Fri,  1 Mar 2013 10:41:34 -0500
2013-03-19 23:28:08 +01:00
Clément Bœsch
d4982b115d lavd/dshow: fix style and typo recently introduced. 2013-03-19 21:26:24 +01:00
Paul B Mahol
17c1881d58 lavfi: remove harddup libmpcodecs wrapper
It is supposed to be used with mencoder only and does
nothing when used with ffmpeg.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-19 17:15:53 +00:00
Compn
b964b0fc5c changelog: 10% faster aac encoding on x86 and MIPS 2013-03-19 13:23:05 -04:00
Stefano Sabatini
e292d75113 ffprobe: set writer context to 0 after allocation
Avoid access to uninitialized values, which may result in a crash.

This happens for example in case of option parsing failure, since in that
case the internal AVBprint buffers are not initialized.
2013-03-19 18:00:34 +01:00
Clément Bœsch
1c3b428114 doc/developer: fix typo in regression tests ref. 2013-03-19 17:45:53 +01:00
Clément Bœsch
879ca313c0 fate: add missing filter dep in metadata tests. 2013-03-19 17:39:08 +01:00
Stefano Sabatini
18f43de964 doc/ffmpeg,ffmpeg-formats: avoid to mention ffmpeg options from formats.texi
Also extends documentation for timestamp related ffmpeg options, in order
to make more apparent the fact that muxer processing may change the
timestamps values.
2013-03-19 17:31:16 +01:00
Stefano Sabatini
2bac6b6f5e doc/ffmpeg-formats: reword and extend documentation for avoid_negative_ts option
Hopefully increase readability.
2013-03-19 17:31:16 +01:00
Stefano Sabatini
608bccf470 lavf/avformat.h: fix a few typos in AVFormatContext:avoid_negative_ts doxy 2013-03-19 17:31:16 +01:00
Nedeljko Babic
d23aefa498 mips: inline assembly clobber list polishing
List of clobbered registers fixed and added where it is lacking.

Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 16:51:35 +01:00
Michael Niedermayer
4ce03a95e2 lmlm4: check packet_size against lower limit too
Fixes CID732224

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 16:30:44 +01:00
Michael Niedermayer
d275f6eda8 doc: update release_notes by taking the ones from release/1.2 2013-03-19 16:21:26 +01:00
Clément Bœsch
bf0e44fa67 fate: add curves filter test. 2013-03-19 16:20:22 +01:00
Michael Niedermayer
feeb8ca56d vp56: Check av_frame_ref() return code
Fixes CID991837

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 15:26:23 +01:00
Michael Niedermayer
5f476cfe6e avformat/tee: add forgotten ret assignment
Fixes CID991840
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 15:09:10 +01:00
Michael Niedermayer
1e41b8cd07 hpeldsp: Increase put_no_rnd_pixels_tab[][] size
Fixes CID991852

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 14:47:04 +01:00
Clément Bœsch
21aa4fafcd fate: add ebur128 metadata test. 2013-03-19 14:37:59 +01:00
Michael Niedermayer
2c993fece2 audio_get_buffer: add assert to ensure nb_extended_buf has a safe value
May silence CID991853

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 14:33:47 +01:00
Michael Niedermayer
fdda9b440c matroska_parse_frame: fix memleak
Fixes CID991856
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 14:33:47 +01:00
Clément Bœsch
dec9800c9d lavf: do not make a hard dep on internal subtitles helpers. 2013-03-19 14:10:24 +01:00
Michael Niedermayer
ad98567198 mpegvideo_enc: remove stray semicolon
Fixes CID991857
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:47:04 +01:00
Michael Niedermayer
f1c3d8b344 avutil/add_to_pool: remove unused assgnment
Fixed CID991859
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:35:10 +01:00
chinshou
b619a54853 alac: Fix order of values in comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:28:29 +01:00
Michael Niedermayer
8d0da20ca6 avidec: fix duration and bitrate of truncated files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 13:09:52 +01:00
Hendrik Leppkes
c3ebfcd6e1 mpegvideo: allocate hwaccel privdata after the frame buffer
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:20:22 +01:00
Hendrik Leppkes
9c9ede44f3 h264: allocate hwaccel privdata after the frame buffer
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:20:00 +01:00
Hendrik Leppkes
c71c80f53b pthread: unref already decoded frames when flushing the decoder
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:19:08 +01:00
Hendrik Leppkes
4e70d66ded mpegvideo: fix allocation of the hwaccel_picture_private data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-19 11:18:42 +01:00
Anton Khirnov
6599b087de buffersrc: fix a typo.
Vertical shift is log2_chroma_h, not log2_chroma_w.
2013-03-19 11:12:17 +01:00
Anton Khirnov
2c328a9079 pixdesc: add a function for counting planes in a pixel format. 2013-03-19 11:12:17 +01:00
Anton Khirnov
1516bf7af1 lavc: update the doxy for avcodec_decode_{video,audio} wtih refcounting. 2013-03-19 11:12:17 +01:00
Anton Khirnov
c977039e58 lavc, lavfi: fix counting number of planes in AVBufferRef wrappers
Number of planes is not always equal to the number of components even
for formats marked with PIX_FMT_PLANAR -- e.g. NV12 has three components
in two planes.
2013-03-19 11:12:17 +01:00
Anton Khirnov
e5c32d6da7 avplay: remove the -debug option.
It just shadows the corresponding AVOption and prevents using named
constants.
2013-03-19 11:12:13 +01:00
Anton Khirnov
3cd93cc7b8 Revert "asfenc: return error on negative timestamp"
This reverts commit d1bec33b46, it breaks
FATE.
2013-03-19 11:04:55 +01:00
Paul B Mahol
4d16ba2dd8 ffplay: silence warning of mixed enumeration types
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-19 09:39:28 +00:00
Matthieu Bouron
69e93792d6 lavf/mxfdec: read field dominance flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 03:01:51 +01:00
Hendrik Leppkes
97f8c6e147 pthread: update all get_buffer checks for get_buffer2
This restores the performance of simple frame-threaded codecs back to
their pre-merge levels.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 02:25:46 +01:00
Carl Eugen Hoyos
55bb8f4589 Fix Makefile dependency for the dvd_nav parser.
Fixes compilation for --disable-everything --enable-parser=dvd_nav
2013-03-19 02:11:39 +01:00
Carl Eugen Hoyos
e4f5aa5e8d Inform the user if a pix_fmt != yuv420p was chosen for x264 encoding. 2013-03-19 01:16:37 +01:00
Michael Niedermayer
6128d33946 AVFrame.pkt_dts: improve docs
Related to Ticket2375

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-19 00:47:00 +01:00
Michael Niedermayer
0e02a5193f segment: copy metadata
Fixes Ticket2230

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:57:44 +01:00
Thierry Foucu
823efd9286 Fix termination of mov_ch_layouts_wav array lookup
Problem found using ASAN.
In some case, the ff_mov_get_channel_layout_tag function will not find 0
as termination for lookup in the array mov_ch_layouts_wav.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:50:35 +01:00
Michael Niedermayer
9c22039c15 doc: Document the order in which avoid_negative_ts is applied compared to other timestamp options
Also try to document the rational behind it.

This might fix Ticket2376

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:19:54 +01:00
Michael Niedermayer
aafbfb1c2e doc: try to improve avoid_negative_ts documentation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:09:26 +01:00
Clément Bœsch
4b35be3251 lavc: fix avpacket memleak with subtitles recoding. 2013-03-18 22:04:29 +01:00
dronus
fdca977a22 libavdevice sdl: added window_fullscreen option to switch SDL output into fullscreen mode 2013-03-18 20:44:21 +01:00
Elvis Presley
58bc65952b libavcodec/proresdec.h: fix license header
This was somehow missed when relicensing the decoder to LGPL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 19:34:41 +01:00
Michael Niedermayer
cea3a63ba3 avutil/buffer: Fix race in pool.
This race will always happen sooner or later in a multi-threaded
environment and it will over time lead to OOM.
This fix works by spinning, there are other ways by which this
can be fixed, like simply detecting the issue after it happened
and freeing the over-allocated memory or simply using a mutex.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 19:19:22 +01:00
Michael Niedermayer
73ef12757b append_packet_chunked: remove outcommented code
our variant works fine and should be better
also remove related unused variable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:54:01 +01:00
Michael Niedermayer
0163ad66e1 mpeg2: 12LSB w/h of 0 is not allowed in compliant videos thus this also needs AV_EF_COMPLIANT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:48:52 +01:00
Michael Niedermayer
330e440706 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  print_options: do not generate docs for options without enc or dec flags
  mpeg12: do not fail on zero dimensions in the sequence header.

Conflicts:
	libavcodec/mpeg12.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:43:43 +01:00
Michael Niedermayer
523c8e0503 Merge commit '50c449ac24fbb4c03c15d2e2026cef2204b80385'
* commit '50c449ac24fbb4c03c15d2e2026cef2204b80385':
  iff: validate CMAP palette size
  asfenc: return error on negative timestamp

Conflicts:
	libavformat/iff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 17:30:53 +01:00
Anton Khirnov
358628074c print_options: do not generate docs for options without enc or dec flags
Those are not usable from the avtools, so mentioning them in the
manpages just confuses the reader.
2013-03-18 15:36:25 +01:00
Anton Khirnov
ce0124acac mpeg12: do not fail on zero dimensions in the sequence header.
The total frame size is a combination of the 12 bits in the sequence
header and 2 more bits in the the sequence extension. While the
specification explicitly forbids the dimensions from the sequence header
from being 0 (thus ruling out multiples of 4096), such videos
apparrently exist in the wild so we should attempt to decode them.

Based on a patch by Michael Niedermayer <michaelni@gmx.at>

Fixes Bug 416.
2013-03-18 15:36:10 +01:00
Kostya Shishkov
50c449ac24 iff: validate CMAP palette size
Fixes CVE-2013-2495

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
2013-03-18 10:48:29 +01:00
Luca Barbato
d1bec33b46 asfenc: return error on negative timestamp
According to the specification the timestamp is represented by a 32bit
unsigned.

CC: libav-stable@libav.org
2013-03-18 10:48:23 +01:00
Clément Bœsch
6abb554fd6 lavc,lavu: fix two doxy mixup between h/v chroma shift. 2013-03-18 09:04:11 +01:00
Clément Bœsch
c10b57973d lavfi/pad: fix horizontal/vertical shift confusion. 2013-03-18 08:51:55 +01:00
Michael Niedermayer
fbd3ee91a5 avutil/frame: typo
found by ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 04:47:27 +01:00
Michael Niedermayer
3dc25c3ab2 avutil/frame: document alignment and padding requirements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 04:13:21 +01:00
Clément Bœsch
76d1c07c89 lavfi/ebur128: add metadata injection. 2013-03-18 03:21:08 +01:00
Michael Niedermayer
29e0357a11 aasc: fix pointer vs value error
Fixes Ticket2365

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 02:10:10 +01:00
Michael Niedermayer
8152451b56 buffersrc: fix w/h error
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 02:00:57 +01:00
Michael Niedermayer
519ebb5ee5 rmdec: flush audio packet on seeking
Fixes Ticket1605

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 00:08:59 +01:00
Michael Niedermayer
ef3c88838e doc/developer: Add "security fixes" to the release process steps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 22:53:28 +01:00
Michael Niedermayer
36258f9829 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  fate: add a test for -filter_complex / -lavfi without input.
  ffmpeg: make -lavfi an alias for -filter_complex.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 21:55:27 +01:00
Michael Niedermayer
c603f22683 avutil/get_pool: remove dead operations whichs result is never used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 18:40:15 +01:00
Michael Niedermayer
e3be7b1159 avutil/get_pool: Remove redundant initial atomic operation
602->442 dezicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 18:40:15 +01:00
Nicolas George
ec7fc7b7d1 fate: add a test for -filter_complex / -lavfi without input. 2013-03-17 16:24:43 +01:00
Nicolas George
40ea006b76 ffmpeg: make -lavfi an alias for -filter_complex. 2013-03-17 16:24:43 +01:00
Richard
9cde9f70ab mpeg: Add passing DVD navigation packets (startcode 0x1bf) to caller to allow better playback handling of DVDs.
The two types of packets (PCI and DSI) are passed untouched but combined by the new codec ID AV_CODEC_ID_DVD_NAV.
 The first 980 bytes in the packet contain the PCI data. The next 1018 are the DSI data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 16:24:34 +01:00
Michael Niedermayer
975fbd43ad Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavfi/buffersink: fix header.
  lavfi/buffersrc: disable deprecated warnings.
  lavfi/buffersrc: check channel count changes.
  lavfi/buffersrc: set channel layout if it is known.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 14:30:33 +01:00
Michael Niedermayer
fa7031ad37 h264_refs: fix typo in refs fallback check
Fixes regression since 01a0283
Fixes Ticket2371

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 14:21:46 +01:00
Stefano Sabatini
5787a71637 lavfi/swapuv: remove deprecated base field use 2013-03-17 13:06:01 +01:00
Stefano Sabatini
5fe542d7e1 ffplay: remove options skiploop, skipidct, skipframe
The corresponding codec options (skip_loop, skip_idct, skip_frame) can be
set in a more flexible way.

This technically causes a user interface break, but since the options
were not even documented and we just released a major version that should
not be a serious issue.
2013-03-17 13:05:44 +01:00
Stefano Sabatini
f7d1a18c90 ffplay: remove unused variable "codec"
Fix warning:
ffplay.c: In function ‘video_thread’:
ffplay.c:1890:21: warning: unused variable ‘codec’ [-Wunused-variable]
2013-03-17 13:05:44 +01:00
Michael Niedermayer
171bd38eda Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc,lavfi: fix calculating the plane size in the AVBufferRef wrappers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 12:59:04 +01:00
Michael Niedermayer
ac1cea55ad Merge commit '23f4c5acc438366d84cacf49e33b0bcd72f04937'
* commit '23f4c5acc438366d84cacf49e33b0bcd72f04937':
  document the release process

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 12:58:44 +01:00
Nicolas George
7e6c67dd24 lavfi/buffersink: fix header.
Move non-obsolete functions, structures and constants outside
the scope of "#if FF_API_AVFILTERBUFFER".

Add attribute_deprecated to av_buffersink_get_buffer_ref()
and av_buffersink_poll_frame().

Add doxygen for av_buffersink_get_frame_flags().
2013-03-17 12:31:25 +01:00
Nicolas George
a5149607df lavfi/buffersrc: disable deprecated warnings. 2013-03-17 12:31:24 +01:00
Nicolas George
f29c28a884 lavfi/buffersrc: check channel count changes. 2013-03-17 12:31:24 +01:00
Paul B Mahol
79b1835726 sndio_dec: add missing #include for av_gettime()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-17 11:10:26 +00:00
Nicolas George
3cd342636f lavfi/buffersrc: set channel layout if it is known.
Introduced in 01649c7, lost in the API change.
2013-03-17 11:59:51 +01:00
Anton Khirnov
6552808014 lavc,lavfi: fix calculating the plane size in the AVBufferRef wrappers
It is supposed to be height * linesize, not width * linesize.
Thanks to Hendrik Leppkes for pointing out the bug.
2013-03-17 09:10:04 +01:00
Michael Niedermayer
9f95e355be Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: add -af option
  ffplay: use refcounted frames for audio
  ffplay: use frame->pts if available for setting the audio clock
  ffplay: restructure audio stream opening code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 05:24:41 +01:00
Michael Niedermayer
0f95534669 h264_qpel: fix another forgotten int stride
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 05:20:35 +01:00
Clément Bœsch
3313b9cc2d lavc: remove unecessary a64enc include. 2013-03-17 04:38:28 +01:00
Marton Balint
e96175ad7b ffplay: add -af option
Based on a patch by Stefano Sabatini <stefasab@gmail.com>:
http://ffmpeg.org/pipermail/ffmpeg-devel/2013-February/138452.html

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:43:36 +01:00
Marton Balint
738487f8db ffplay: use refcounted frames for audio
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Marton Balint
9eafdd518c ffplay: use frame->pts if available for setting the audio clock
Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Marton Balint
1822519d2a ffplay: restructure audio stream opening code
Preparation for -af support.

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:31:37 +01:00
Clément Bœsch
286153ea48 lavfi/alphaextract: fix frame memleak. 2013-03-17 03:12:44 +01:00
Michael Niedermayer
f566ac48ce avutil/frame: fix video buffer allocation
The padding was lost during porting from avcodec
Should fix out of array accesses

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-17 02:19:25 +01:00
Stefano Sabatini
be5c5c399b tests/filter-metadata-scenedetect: update reference
Fix reference after f7ab23b0d0.
+10l to me, this time aliens are not involved.
2013-03-17 02:04:45 +01:00
Stefano Sabatini
72a1257b5b tests/eval: fix reference after b2098d2417
+10l to me, I blame the aliens.
2013-03-17 02:04:45 +01:00
Clément Bœsch
2b27f7fb04 lavfi/thumbnail: replace frame unref with free.
Fixes memleak spotted by FATE.
2013-03-17 01:46:22 +01:00
Stefano Sabatini
f7ab23b0d0 ffprobe: remove deprecated frame "reference" field 2013-03-17 00:27:48 +01:00
Stefano Sabatini
db36ea5b5e lavfi/settb: add support for named options 2013-03-17 00:27:33 +01:00
Stefano Sabatini
0407a79e41 lavfi/blackframe: add support for named options 2013-03-17 00:27:08 +01:00
Stefano Sabatini
356922e237 doc/filters: add bit-slicing example in lutyuv docs 2013-03-17 00:26:31 +01:00
Stefano Sabatini
b2098d2417 lavu/eval: add bitor and bitand functions
Warning note suggested by Reimar.
2013-03-17 00:22:47 +01:00
Hendrik Leppkes
d8dccf69ff lavfi: let gcc realign the stack on public graph driving functions
The functions which actually drive the filter graph by pushing
frames through it need to ensure an aligned stack for SIMD functions.

This fixes a crash in YADIF filter when using a mingw build in a MSVC application.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 23:52:35 +01:00
Clément Bœsch
8d84e90c9b lavfi/delogo: 10l forgotten trailing NULL in shorthand.
Regression since de3e0ab3.
2013-03-16 23:37:58 +01:00
James Darnley
c9a51c29fc yadif: remove an 'm' from the LOAD macro definition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:49 +01:00
James Darnley
1d3b14cac2 yadif: remove repeated check on width
The filter already checks that width (and height) are greater than 3.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:30 +01:00
James Darnley
7976d92dac yadif: cosmetic indentation from previous commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:33:06 +01:00
James Darnley
0a5814c9ba yadif: x86 assembly for 9 to 14-bit samples
These smaller samples do not need to be unpacked to double words
allowing the code to process more pixels every iteration (still 2 in MMX
but 6 in SSE2).  It also avoids emulating the missing double word
instructions on older instruction sets.

Like with the previous code for 16-bit samples this has been tested on
an Athlon64 and a Core2Quad.

Athlon64:
1809275 decicycles in C,    32718 runs, 50 skips
 911675 decicycles in mmx,  32727 runs, 41 skips, 2.0x faster
 495284 decicycles in sse2, 32747 runs, 21 skips, 3.7x faster

Core2Quad:
 921363 decicycles in C,     32756 runs, 12 skips
 486537 decicycles in mmx,   32764 runs,  4 skips, 1.9x faster
 293296 decicycles in sse2,  32759 runs,  9 skips, 3.1x faster
 284910 decicycles in ssse3, 32759 runs,  9 skips, 3.2x faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:32:54 +01:00
James Darnley
17e7b49501 yadif: x86 assembly for 16-bit samples
This is a fairly dumb copy of the assembly for 8-bit samples but it
works and produces identical output to the C version.  The options have
been tested on an Athlon64 and a Core2Quad.

Athlon64:
1810385 decicycles in C,    32726 runs, 42 skips
1080744 decicycles in mmx,  32744 runs, 24 skips, 1.7x faster
 818315 decicycles in sse2, 32735 runs, 33 skips, 2.2x faster

Core2Quad:
 924025 decicycles in C,     32750 runs, 18 skips
 623995 decicycles in mmx,   32767 runs,  1 skips, 1.5x faster
 406223 decicycles in sse2,  32764 runs,  4 skips, 2.3x faster
 387842 decicycles in ssse3, 32767 runs,  1 skips, 2.4x faster
 307726 decicycles in sse4,  32763 runs,  5 skips, 3.0x faster

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 22:32:34 +01:00
Carl Eugen Hoyos
75c7e4583f Do not (re-)set libx264 parameter b_tff if interlaced encoding was not requested.
Reconfiguring can break x264 lossless encoding.

Fixes ticket #2165.
2013-03-16 20:13:44 +01:00
Reinhard Tartler
23f4c5acc4 document the release process 2013-03-16 18:00:54 +01:00
Nicolas George
639a9e21a6 ffmpeg_opt: add OPT_INPUT to -fix_sub_duration and -canvas_size. 2013-03-16 17:20:19 +01:00
Hendrik Leppkes
a77f453703 lavfi/avcodec: deprecate remainders of the avcodec glue code
Since lavfi works natively with AVFrame now, these functions are no longer
necessary and can be removed in a future bump.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 17:04:36 +01:00
Michael Niedermayer
07d4f557e5 append_packet_chunked: Remove unused initialization.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 17:03:41 +01:00
Michael Niedermayer
946cbf04ee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_join: do not leak input frames.
  asrc_anullsrc: return EOF, not -1

Conflicts:
	libavfilter/asrc_anullsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:58:41 +01:00
Michael Niedermayer
afb3fb3352 Merge commit 'f4281f457194a6a4489fbd7423e2ab2e13c6d4d9'
* commit 'f4281f457194a6a4489fbd7423e2ab2e13c6d4d9':
  asrc_anullsrc: do not set samplerate and channel layout explicitly

Conflicts:
	libavfilter/asrc_anullsrc.c

No change to FFmpeg due to semantic difference between the filter sources

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:56:30 +01:00
Michael Niedermayer
7fff5781b6 Merge commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b'
* commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b':
  vf_showinfo: remove its useless init function
  AVOptions: fix using named constants with child contexts.

Conflicts:
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:38:11 +01:00
Michael Niedermayer
b64077bebe Merge commit '9676b9a2cdc4a90611188fc48d8d388e427997c5'
* commit '9676b9a2cdc4a90611188fc48d8d388e427997c5':
  AVOption: remove an unused function parameter.
  filters.texi: restore mistakenly removed section name for noformat
  avfiltergraph: use sizeof(var) instead of sizeof(type)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:28:27 +01:00
Clément Bœsch
e1b1092755 fate: test both direct and indirect paths in delogo filter. 2013-03-16 16:22:56 +01:00
Clément Bœsch
9f1667ab64 fate: test both direct and indirect paths in hue filter. 2013-03-16 16:17:44 +01:00
Michael Niedermayer
ecade984ac Merge commit '42c7c61ab25809620b8c8809b3da73e25f5bbaaf'
* commit '42c7c61ab25809620b8c8809b3da73e25f5bbaaf':
  avfiltergraph: replace AVFilterGraph.filter_count with nb_filters

Conflicts:
	doc/APIchanges
	libavfilter/avfiltergraph.c
	libavfilter/avfiltergraph.h
	libavfilter/graphparser.c
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 16:09:37 +01:00
Clément Bœsch
8a0187e43d fate: test both direct and indirect paths in hqdn3d and gradfun. 2013-03-16 16:04:59 +01:00
Clément Bœsch
3b2b636a2a lavfi: add perms and aperms filters. 2013-03-16 16:04:59 +01:00
Michael Niedermayer
18369967a5 Merge commit '556aab8f11b045a21182eee32413aa78d5c8539b'
* commit '556aab8f11b045a21182eee32413aa78d5c8539b':
  lavfi: use designated initializers in avfilter_class

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 15:50:43 +01:00
Michael Niedermayer
e066fb54cb Merge commit 'aa3c77998404cc32233cb76e961ca27db8565459'
* commit 'aa3c77998404cc32233cb76e961ca27db8565459':
  lavf: sanity check size in av_get/append_packet().

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 15:38:13 +01:00
Michael Niedermayer
aef816f957 Merge commit 'ca6c3f2c53be70aa3c38e8f1292809db89ea1ba6'
* commit 'ca6c3f2c53be70aa3c38e8f1292809db89ea1ba6':
  lzo: fix overflow checking in copy_backptr()
  flacdec: simplify bounds checking in flac_probe()
  atrac3: avoid oversized shifting in decode_bytes()

Conflicts:
	libavformat/flacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 14:10:09 +01:00
Reimar Döffinger
e4e4add0e3 Add raw VC-1 muxer to match demuxer.
This is admittedly kind of pointless since usually -f image2pipe
can be used for the purpose, but this is more user-friendly.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:42:53 +01:00
Reimar Döffinger
5301aed9ae vc1testenc: give muxer same name as demuxer
Otherwise ffmpeg -formats claims that we only support demuxing
of that format.
To keep compatibility the struct could be duplicated instead,
but this seems almost like overkill for such a rare format.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:42:16 +01:00
Reimar Döffinger
c3c3bc7ff6 Make ff_win32_open more robust.
- Make MultiByteToWideChar fail when it encounters invalid encoding.
  Without this, invalid characters might just be skipped
- When MultiByteToWideChar fails, assume the file name is in CP_ACP
  and open it via normal open function, even when the file will be
  written
- When malloc fails return error instead of crashing

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:40:36 +01:00
Reimar Döffinger
23426987fa mpeg12: reduce hwaccel-related code duplication.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-03-16 13:40:36 +01:00
Anton Khirnov
4750b05d67 af_join: do not leak input frames. 2013-03-16 05:37:01 +01:00
Anton Khirnov
c2b9bd97f5 asrc_anullsrc: return EOF, not -1 2013-03-16 05:36:46 +01:00
Anton Khirnov
f4281f4571 asrc_anullsrc: do not set samplerate and channel layout explicitly
They are auto-negotiated.
2013-03-16 05:36:35 +01:00
Anton Khirnov
e4a7b2177d vf_showinfo: remove its useless init function
Filter private data is memset to 0 so there is no point in explicitly
initing anything to 0.
2013-03-16 05:36:14 +01:00
Anton Khirnov
4d67ff8e8e AVOptions: fix using named constants with child contexts.
The named constant needs to be searched for in the same object on which
the option is set, i.e. target_obj.
2013-03-16 05:35:33 +01:00
Anton Khirnov
9676b9a2cd AVOption: remove an unused function parameter. 2013-03-16 05:35:20 +01:00
Anton Khirnov
ef4d34aa7e filters.texi: restore mistakenly removed section name for noformat 2013-03-16 05:35:02 +01:00
Anton Khirnov
dd74e3ef33 avfiltergraph: use sizeof(var) instead of sizeof(type) 2013-03-16 05:34:20 +01:00
Anton Khirnov
42c7c61ab2 avfiltergraph: replace AVFilterGraph.filter_count with nb_filters
This is more consistent with the naming in the rest of Libav.
2013-03-16 05:33:23 +01:00
Anton Khirnov
556aab8f11 lavfi: use designated initializers in avfilter_class 2013-03-16 05:33:06 +01:00
Compn
7d15cd4f4a changelog: add support for Monkey's Audio versions from 3.93 2013-03-15 23:41:03 -04:00
Giorgio Vazzana
bcd3eb3e7a lavd/v4l2: silence libv4l2 logging
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-16 02:44:36 +01:00
ArnoB
361319d0f4 dpxenc: fix data offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 21:09:36 +01:00
Nicolas George
b90912be68 lavd/lavfi: upgrade to AVFrame.
Fix a memory leak because the compat implementation of
AV_BUFFERSINK_FLAG_PEEK is not identical to the previous one.
2013-03-15 20:46:27 +01:00
Anton Khirnov
aa3c779984 lavf: sanity check size in av_get/append_packet().
To avoid allocating ridiculous amounts of memory for corrupted files,
read the input in chunks limited to filesize or an arbitrary large
amount when that is not known (chosen to be 50M).
2013-03-15 20:05:04 +01:00
Paul B Mahol
a9b424879f lavc & lavf: replace deprecated av_log* functions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-15 18:10:28 +00:00
James Darnley
3d751b1ef6 yadif: correct strides in filter_edges_16bit
The C code treats the data as arrays of uint16_t so strides must not
be in bytes but in pixels.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 19:10:55 +01:00
Michael Niedermayer
cd5f50a255 avfilter: avoid direct access to AVFrame.channels
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 16:13:53 +01:00
Michael Niedermayer
64308941d4 mpegvideo: Fix exported qp table offest
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 14:38:09 +01:00
Michael Niedermayer
70c0ae915d matroskadec: avoid integer overflow
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:48:04 +01:00
Michael Niedermayer
2265bb93ff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  add support for Monkey's Audio versions from 3.93

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:43:01 +01:00
Michael Niedermayer
5be70f5826 Merge commit '9652d4fcfc9c07a726b35efc4ac644d9751b36d7'
* commit '9652d4fcfc9c07a726b35efc4ac644d9751b36d7':
  ape: provide two additional bytes in buffer for old MAC versions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:34:20 +01:00
Michael Niedermayer
231795270b Merge commit 'b164d66e35d349de414e2f0d7365a147aba8a620'
* commit 'b164d66e35d349de414e2f0d7365a147aba8a620':
  ape: make version-dependent decoding functions called via pointers
  mpegts: add support for stream_type 0x42, which is CAVS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 13:28:38 +01:00
Michael Niedermayer
9df00574fc Merge commit '3e175a2a550f5c2f788e8cd969052e10a5025a27'
* commit '3e175a2a550f5c2f788e8cd969052e10a5025a27':
  avconv: mark attachment streams as immediately finished
  vaapi: fix argument for ff_vaapi_common_end_frame call

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 12:54:05 +01:00
Xi Wang
ca6c3f2c53 lzo: fix overflow checking in copy_backptr()
The check `src > dst' in the form `&c->out[-back] > c->out' invokes
pointer overflow, which is undefined behavior in C.

Remove the check.  Also replace `&c->out[-back] < c->out_start' with
a safe form `c->out - c->out_start < back' to avoid overflow.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:52:31 +01:00
Xi Wang
8425d693ee flacdec: simplify bounds checking in flac_probe()
Simplify `p->buf > p->buf + p->buf_size - 4' as `p->buf_size < 4'.
Avoid a possible out-of-bounds pointer, which is undefined behavior
in C.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:51:57 +01:00
Xi Wang
eba1ff3130 atrac3: avoid oversized shifting in decode_bytes()
When `off' is 0, `0x537F6103 << 32' in the following expression invokes
undefined behavior, the result of which is not necessarily 0.

    (0x537F6103 >> (off * 8)) | (0x537F6103 << (32 - (off * 8)))

Avoid oversized shifting.

CC: libav-stable@libav.org

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-15 12:51:10 +01:00
Kostya Shishkov
c42e262513 add support for Monkey's Audio versions from 3.93 2013-03-15 09:50:42 +01:00
Kostya Shishkov
9652d4fcfc ape: provide two additional bytes in buffer for old MAC versions
Range coder in 3.90-3.95 overread two bytes in the final normalize.
2013-03-15 09:50:42 +01:00
Kostya Shishkov
b164d66e35 ape: make version-dependent decoding functions called via pointers
This will help in supporting old versions, e.g. version 3.93 uses the same
range coder but different predictor and version 3.82 uses different range
coder and predictor. Also this should not make decoding newer versions slower
by introducing additional checks on versions.
2013-03-15 09:50:42 +01:00
Can Wu
81cf53e133 mpegts: add support for stream_type 0x42, which is CAVS
This allows demuxing and muxing of CAVS TS streams.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-15 09:33:24 +01:00
Anton Khirnov
3e175a2a55 avconv: mark attachment streams as immediately finished
There are never any packets for those streams.
Fixes an infinite loop with -attach.
2013-03-15 08:59:27 +01:00
Ronald S. Bultje
8a523cfa8b dsputil: remove non-8bpp draw_edge.
It is never used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 04:39:41 +01:00
Michael Niedermayer
46728338b0 rv34: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:19:54 +01:00
Michael Niedermayer
feac79ce53 rv10: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:16:23 +01:00
Michael Niedermayer
0bcea7b575 vf_pp: use new API to access qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer
fa80967a73 mpeg1/2: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer
ff9adf5725 mjpegdec: export qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer
a0813e7f00 h263dec: export qp_table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Michael Niedermayer
caff888183 avutil/frame: add AVBufferRef for qp table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 03:02:27 +01:00
Clément Bœsch
1edbeb3532 lavfi/ebur128: check histogram allocations. 2013-03-15 02:58:29 +01:00
Clément Bœsch
db670e5366 lavfi/ebur128: add framelog option. 2013-03-15 02:35:26 +01:00
Clément Bœsch
1f68bac50b lavf/avio: fix two extreemly unreasonble typos. 2013-03-14 23:36:30 +01:00
Stefano Sabatini
9bb25dbd13 examples/filtering_*: constify AVFrame * for print_frame() and display_frame() functions 2013-03-14 21:39:15 +01:00
Stefano Sabatini
9076a6a943 examples/filtering_audio: update to new API
In particular, fix crash.
2013-03-14 21:39:09 +01:00
Stefano Sabatini
f0da370a52 examples/filtering_video: update to new API
In particular, fix crash.
2013-03-14 21:39:01 +01:00
Nicolas George
7a71544f9d lavfi/graphdump: fix output for unknown layouts. 2013-03-14 20:52:50 +01:00
Nicolas George
0eb56a085d ffmpeg: add OPT_INPUT to -guess_layout_max. 2013-03-14 19:32:22 +01:00
Nicolas George
da397173df ffmpeg: add OPT_OUTPUT to -to option.
Fix trac ticket #2355.
2013-03-14 19:32:22 +01:00
Clément Bœsch
9ace0dbe41 lavfi/ebur128: use same ref for inputs and outputs.
Fixes Ticket2342.
2013-03-14 18:43:53 +01:00
Michael Niedermayer
870e625108 mjpegdec: fix indention
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 17:31:14 +01:00
Michael Niedermayer
3c24fbbf65 jpegdec: be less picky on padding
Fixes Ticket2353

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 17:20:44 +01:00
Janne Grunau
b066d90211 vaapi: fix argument for ff_vaapi_common_end_frame call 2013-03-14 15:16:08 +01:00
Ronald S. Bultje
b76d853697 lavc: make compilation of frame_thread_encoder.o optional.
Only compile if CONFIG_ENCODERS is enabled, i.e. if at least one
encoder is to be compiled. This prevents it from being includes in
a decoder-only build.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 15:04:17 +01:00
Ronald S. Bultje
4a88d81c9e dsputil: remove duplicate or unused functions.
dct_bits is never set except in h264, where it is never used, thus
remove it. Then, remove all functions that were set based on non-zero
(32) values for dct_bits. Lastly, merge 9-14 bpp functions for get_pixels
and draw_edge, which only care about pixel storage unit size, not actual
bits used (i.e. they don't clip).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 14:56:48 +01:00
Hendrik Leppkes
49a514c13e dsputil: unbreak compilation on sparc after 6802c70
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 14:53:39 +01:00
Michael Niedermayer
7e1efeb570 MAINTAINERS: mention that people are welcome to pick up and maintain older releases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 14:50:42 +01:00
Michael Niedermayer
2ffa9e611e avdevice: bump major
Our previous release (1.1) contained a version 54 libavdevice
and this version here is not ABI compatible thus a bump is
needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:53:41 +01:00
Michael Niedermayer
cacbf64a76 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()

Conflicts:
	libavcodec/aacsbr.c
	libavcodec/amrnbdec.c
	libavcodec/takdec.c
	libavcodec/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 13:07:25 +01:00
Michael Niedermayer
13795dbb64 Merge commit '6d97484d72e33f7dde9493a9ead1a72e2f029605'
* commit '6d97484d72e33f7dde9493a9ead1a72e2f029605':
  avcodec: av_log_ask_for_sample() ---> avpriv_request_sample()
  rsodec: Use avpriv_report_missing_feature() where appropriate

Conflicts:
	libavcodec/anm.c
	libavcodec/mlpdec.c
	libavcodec/pictordec.c
	libavcodec/sunrast.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:52:12 +01:00
Michael Niedermayer
a9ddb62489 Merge commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e'
* commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e':
  avformat: av_log_ask_for_sample() ---> avpriv_request_sample()

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:41:34 +01:00
Michael Niedermayer
fa92ee821b Merge commit '63d744e2be39466e3a734c2987cd713e0bac101e'
* commit '63d744e2be39466e3a734c2987cd713e0bac101e':
  av_log_missing_feature() ---> avpriv_report_missing_feature()

Conflicts:
	libavcodec/aacdec.c
	libavcodec/tta.c
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:30:19 +01:00
Michael Niedermayer
905e7eb413 Merge commit 'f099d3d1d5466bd63f4ab36270d169ff9ea613b8'
* commit 'f099d3d1d5466bd63f4ab36270d169ff9ea613b8':
  Add av_log_{ask_for_sample|missing_feature} replacements to libavutil
  ismindex: Check the return value of allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:15:02 +01:00
Michael Niedermayer
360d71707f Merge commit '7c147900b86c0f1cf030b7b844c670649c80c191'
* commit '7c147900b86c0f1cf030b7b844c670649c80c191':
  ismindex: Factorize code for printing chunk duration lists

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 11:58:17 +01:00
Michael Niedermayer
33ecf7ab59 Merge commit 'f05e9beb4ab5fb8b9d5ba81405e9fca901832591'
* commit 'f05e9beb4ab5fb8b9d5ba81405e9fca901832591':
  ismindex: Rename structs and fields from "file" to "track"
  avpacket: copy side data type and size in av_dup_packet

Conflicts:
	libavcodec/avpacket.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 11:48:42 +01:00
Paul B Mahol
4853b5538f lavc: do not set coded_frame->reference
That field is deprecated.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-14 09:47:47 +00:00
Clément Bœsch
fe898a037d Revert "lavfi/ebur128: fix format negociation for output."
This reverts commit 9efcfbed9d.

All the shame on me; this commit is actually causing more problems
(broken outputs but also crashes) than it was solving.
2013-03-14 06:25:20 +01:00
Clément Bœsch
9efcfbed9d lavfi/ebur128: fix format negociation for output.
Before this change, the audio input and output formats are set
independently, so the lavfi negociation could pick different settings
for the input and output. This is particularly true for the channel
layout settings, where multiple choices were available.

Fixes Ticket2342.
2013-03-14 01:24:42 +01:00
Clément Bœsch
a95a38793c lavfi/thumbnail: support flushing.
This makes possible the raise of one picture if the input has less than
the number of frames to analyze.

Fixes Ticket1992.
2013-03-14 00:14:19 +01:00
Hendrik Leppkes
ed69c69a01 lavfi/avcodec: fix API version checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:18:02 +01:00
Hendrik Leppkes
3c7f669972 lavfi/avcodec: cleanup includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:14:58 +01:00
Hendrik Leppkes
edcc51fb8e tiff: fix handling of metadata with refcounted frames
Since the conversion to refcounted frames, the tiff decoder
only wrote the metadata into its internal "picture" in its own context,
never exposing the metadata to the user, and eventually leaking the
metadata.

Instead, properly store the metadata directly into the frame being decoded into.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:13:59 +01:00
James Darnley
0735b50880 yadif: restore speed of the C filtering code
Always use the special filter for the first and last 3 columns (only).

Changes made in 64ed397 slowed the filter to just under 3/4 of what it
was.  This commit restores the speed while maintaining identical output.

For reference, on my Athlon64:
1733222 decicycles in old
2358563 decicycles in new
1727558 decicycles in this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 22:07:25 +01:00
Diego Biurrun
12e25ed284 avcodec: av_log_missing_feature(1) ---> avpriv_request_sample() 2013-03-13 21:20:12 +01:00
Diego Biurrun
6d97484d72 avcodec: av_log_ask_for_sample() ---> avpriv_request_sample() 2013-03-13 21:20:12 +01:00
Diego Biurrun
1ae07959ab rsodec: Use avpriv_report_missing_feature() where appropriate 2013-03-13 21:20:12 +01:00
Diego Biurrun
1ecdf8912b avformat: av_log_ask_for_sample() ---> avpriv_request_sample() 2013-03-13 20:42:21 +01:00
Diego Biurrun
63d744e2be av_log_missing_feature() ---> avpriv_report_missing_feature() 2013-03-13 20:42:21 +01:00
Diego Biurrun
f099d3d1d5 Add av_log_{ask_for_sample|missing_feature} replacements to libavutil
This allows reporting missing features and requesting samples from
all libraries in a standard way; with a simplified API.
2013-03-13 20:42:06 +01:00
Stefano Sabatini
ae732640ab lavfi/cropdetect: add support for named options 2013-03-13 20:38:54 +01:00
Hendrik Leppkes
febd78e904 lavu/frame: free frame metadata when unrefing a frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 20:16:49 +01:00
Hendrik Leppkes
84bf1cbef9 avcodec: remove AVCodecContext->metadata
This field was only ever set and freed from avcodec, and not otherwise
used. However, because frames are refcounted now, avcodec cannot make any
assumptions about the lifetime of the frame metadata, which can result in
double-frees or leaked memory.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 20:16:48 +01:00
Martin Storsjö
4abf6fa095 ismindex: Check the return value of allocations
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-13 20:41:25 +02:00
Martin Storsjö
7c147900b8 ismindex: Factorize code for printing chunk duration lists
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-13 20:41:19 +02:00
Martin Storsjö
f05e9beb4a ismindex: Rename structs and fields from "file" to "track"
The tool nowadays supports more than one track per file,
this makes reading the code slightly less confusing.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-13 20:41:11 +02:00
Clément Bœsch
de3e0ab35f lavfi/delogo: remove sscanf and rely on av_opt_set_from_string() only. 2013-03-13 19:00:10 +01:00
Clément Bœsch
20dab078e6 lavc/crystalhd: remove now unecessary buffer_hints. 2013-03-13 19:00:10 +01:00
Clément Bœsch
1ec94b0f06 lavc: factorize ff_{thread_,re,}get_buffer error messages.
Coccinelle profile used:

  @@
  expression r, ctx, f, loglevel, str, flags;
  @@

  -if ((r = ff_get_buffer(ctx, f, flags)) < 0) {
  -    av_log(ctx, loglevel, str);
  -    return r;
  -}
  +if ((r = ff_get_buffer(ctx, f, flags)) < 0)
  +    return r;

  @@
  expression r, ctx, f, loglevel, str;
  @@

  -if ((r = ff_reget_buffer(ctx, f)) < 0) {
  -    av_log(ctx, loglevel, str);
  -    return r;
  -}
  +if ((r = ff_reget_buffer(ctx, f)) < 0)
  +    return r;

  @@
  expression r, ctx, f, loglevel, str, flags;
  @@

  -if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0) {
  -    av_log(ctx, loglevel, str);
  -    return r;
  -}
  +if ((r = ff_thread_get_buffer(ctx, f, flags)) < 0)
  +    return r;

...along with some manual patches for the remaining ones.
2013-03-13 19:00:10 +01:00
Clément Bœsch
e7279638e8 lavfi/thumbnail: remove unecessary poll_frame() callback. 2013-03-13 19:00:10 +01:00
Clément Bœsch
bce2e97a16 lavfi/mptestsrc: raise filter_frame() error. 2013-03-13 19:00:10 +01:00
Clément Bœsch
afa0b90803 lavfi/mandelbrot: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
227a4b63f5 lavfi/life: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
fe6077d902 lavfi/cellauto: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
f32fee570a lavfi/alphamerge: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
05854f5505 lavfi/movie: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
bdbdadbaff lavfi/buffersrc: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
27ce858c98 lavfi/showspectrum: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
df5be5e275 lavfi/avfilter: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
60bd8c11b6 lavfi/concat: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
00a13a9cdb lavfi/anullsrc: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
44f3d21799 lavfi/aevalsrc: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
1b0d0e6b72 lavfi/atempo: raise filter_frame() error. 2013-03-13 19:00:09 +01:00
Clément Bœsch
dda59d9adc lavfi/asetnsamples: raise filter_frame() error. 2013-03-13 19:00:08 +01:00
Clément Bœsch
c82bb2815b lavfi/aresample: raise filter_frame() error. 2013-03-13 19:00:08 +01:00
Hendrik Leppkes
e4c5e08f60 lavu/frame: av_frame_make_writable: set the channels on the new frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 16:00:43 +01:00
Hendrik Leppkes
2035cc3595 lavu/frame: copy all frame properties in av_frame_copy_props
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 16:00:28 +01:00
Hendrik Leppkes
9ae6ba2883 dsputil: remove deprecated dsp_mask usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 15:59:35 +01:00
Michael Niedermayer
c3bb2f7296 dsputil_mmx: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 15:07:46 +01:00
Michael Niedermayer
7ff3bfd584 exr: silence warning "libavcodec/exr.c:351:9: warning: variable ret set but not used"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 15:05:40 +01:00
Michael Niedermayer
c31f07574d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  hqdn3d: Fix out of array read in LOWPASS
  cabac: remove unused argument of ff_init_cabac_states()
  rawdec: fix a typo -- || instead of |

Conflicts:
	libavcodec/cabac.c
	libavcodec/h264.c
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:49:00 +01:00
Michael Niedermayer
11d62fc9be Merge commit '37cb3b180a1dc3d6f123f68e0806585ebc2578b6'
* commit '37cb3b180a1dc3d6f123f68e0806585ebc2578b6':
  matroskadec: request a read buffer for the wav header

See: d0b450457b

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:44:14 +01:00
Michael Niedermayer
019b378d90 vc1: fix int/ptrdiff_t mismatches
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:35:48 +01:00
Michael Niedermayer
db4e4f766c Merge commit 'a8b6015823e628047a45916404c00044c5e80415'
* commit 'a8b6015823e628047a45916404c00044c5e80415':
  dsputil: convert remaining functions to use ptrdiff_t strides

Conflicts:
	libavcodec/dsputil.h
	libavcodec/dsputil_template.c
	libavcodec/h264qpel_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:18:53 +01:00
Michael Niedermayer
849f015406 Merge commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480'
* commit 'a4472ac01e86f9fae5adb9034f2777b86a9c5480':
  Add informative messages to av_log_ask_for_sample calls lacking them
  anm: Get rid of some very silly goto statements

Conflicts:
	libavformat/anm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 14:03:22 +01:00
Michael Niedermayer
a62fced394 Merge commit '202c2acc40a6de8758b44ab3f5c85ab250079734'
* commit '202c2acc40a6de8758b44ab3f5c85ab250079734':
  vda: remove async decoder leftovers

Conflicts:
	libavcodec/vda_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:53:02 +01:00
Michael Niedermayer
bb3823d457 Merge commit 'a2816230c5c0a8fc72bc0163b7d21a96b194d87a'
* commit 'a2816230c5c0a8fc72bc0163b7d21a96b194d87a':
  avframe: call release_buffer only if it is set

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:45:50 +01:00
Michael Niedermayer
8ded1718bd Merge commit 'fce68c93554803801c32c1b20509bfa8d496b02a'
* commit 'fce68c93554803801c32c1b20509bfa8d496b02a':
  pthread: unref the decoded but not returned frames on close.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:39:44 +01:00
Michael Niedermayer
8bcebf9e4a Merge commit '555000c7d5c1e13043a948ebc48d2939b0ba6536'
* commit '555000c7d5c1e13043a948ebc48d2939b0ba6536':
  h264: check that DPB is allocated before accessing it in flush_dpb()
  vf_hqdn3d: fix uninitialized variable use
  vf_gradfun: fix uninitialized variable use

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:34:06 +01:00
Michael Niedermayer
87d263a122 Merge commit 'c2597c5a0a08526493abb9bc9544b61a290fe20f'
* commit 'c2597c5a0a08526493abb9bc9544b61a290fe20f':
  h264_refs: cosmetics, reformat

Conflicts:
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:28:29 +01:00
Michael Niedermayer
6c3e4e391d Merge commit 'f08fefc4d099f2a1f2e3a6db3d340537e601f762'
* commit 'f08fefc4d099f2a1f2e3a6db3d340537e601f762':
  h264: remove a useless svq3 condition
  mpegvideo: remove FMT_H264

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:17:49 +01:00
Michael Niedermayer
72ad824a86 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  avframe: Copy buffer type in copy_props.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:12:11 +01:00
Michael Niedermayer
df4517106a Merge commit 'ee8704916de79158da8a48a9ea5be819e83d23ba'
* commit 'ee8704916de79158da8a48a9ea5be819e83d23ba':
  mpegvideo: reindent

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 13:08:04 +01:00
Carl Eugen Hoyos
f1b716c79b avframe: Copy buffer type in copy_props.
Fixes VDPAU decoding with MPlayer.
2013-03-13 13:05:42 +01:00
Michael Niedermayer
f45fdb123f Merge commit '19cac8e301419dcde31526d15196a952ddf2c4c7'
* commit '19cac8e301419dcde31526d15196a952ddf2c4c7':
  mpegvideo: remove useless references to h264 and svq3

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:56:43 +01:00
Michael Niedermayer
b2e0c9dd34 Merge commit '85a5bc054c1290699ccbf5799ba6c4e2fbcc3530'
* commit '85a5bc054c1290699ccbf5799ba6c4e2fbcc3530':
  lavf: remove disabled FF_API_R_FRAME_RATE cruft

Conflicts:
	libavformat/avformat.h
	libavformat/electronicarts.c
	libavformat/rawdec.c
	libavformat/utils.c
	libavformat/version.h

The field is in use and no semantically equivalent field is available,
thus not removed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:55:00 +01:00
Michael Niedermayer
acbd14bc7e avformat: postpone API removials where the functions are trivial wrapers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:43:02 +01:00
Michael Niedermayer
06a8350599 Merge commit '7b486ab13bfcfa88a7cd92586de50e49966ec292'
* commit '7b486ab13bfcfa88a7cd92586de50e49966ec292':
  lavf: remove disabled FF_API_AV_GETTIME cruft
  lavf: remove disabled FF_API_INTERLEAVE_PACKET cruft

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:37:03 +01:00
Michael Niedermayer
256e1f7bdf Merge commit '435c2a31ad5eead20eda1152097f60c3bfa22847'
* commit '435c2a31ad5eead20eda1152097f60c3bfa22847':
  lavf: remove disabled FF_API_READ_PACKET cruft

Conflicts:
	libavformat/version.h

Removial postponed as wraper is trivial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:34:06 +01:00
Michael Niedermayer
1c60956c80 Merge commit 'c7e044c61bb08b3a6e1e8063e8f4449c88b01201'
* commit 'c7e044c61bb08b3a6e1e8063e8f4449c88b01201':
  lavf: remove disabled FF_API_APPLEHTTP_PROTO cruft

Conflicts:
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:21:43 +01:00
Paul B Mahol
ac45921a6b lavc: remove disabled 8SVX_RAW cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-13 11:17:09 +00:00
Michael Niedermayer
ed80427e0e Merge commit '0a7c4daf469d4ac447fb822fe78337f62f4c04e6'
* commit '0a7c4daf469d4ac447fb822fe78337f62f4c04e6':
  lavf: remove disabled FF_API_CLOSE_INPUT_FILE cruft

Conflicts:
	libavformat/version.h

removial postponed as the wraper code is trivial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:18:06 +01:00
Michael Niedermayer
b13cd2d867 Merge commit 'd6ed604cf4ca86ed345125b26eb5bdeea6d6bf68'
* commit 'd6ed604cf4ca86ed345125b26eb5bdeea6d6bf68':
  lavc: remove disabled FF_API_IDCT cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 12:03:22 +01:00
Michael Niedermayer
feccf2f6b7 Merge commit '3bcdf8dcb9891ffe49b6398d0e2c02f1712d8f00'
* commit '3bcdf8dcb9891ffe49b6398d0e2c02f1712d8f00':
  lavc: remove disabled FF_API_SNOW cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 11:53:57 +01:00
Paul B Mahol
b3b46cd74e bktr: add missing #include for av_gettime()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-13 10:48:09 +00:00
Janne Grunau
91d4823f70 avpacket: copy side data type and size in av_dup_packet 2013-03-13 11:34:47 +01:00
Michael Niedermayer
5753e34906 Merge commit 'fcb07e8b332bbd6f9558bff98ff5102c5f2d8252'
* commit 'fcb07e8b332bbd6f9558bff98ff5102c5f2d8252':
  lavc: remove disabled FF_API_MMI cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 11:29:04 +01:00
Michael Niedermayer
a8c0777325 Revert "Merge commit '0517c9e098092709397cc522c59fa63c83cc81be'" bring the old audio resampling API back
This reverts commit d3edc65dd1, reversing
changes made to 150de78d7c.

Conflicts:

	libavcodec/version.h

It seems there are several applications still using it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 10:57:00 +01:00
Michael Niedermayer
bbaa4432e2 vc1dec: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 10:51:53 +01:00
Philip Langdale
21dc9b194f CrystalHD: Port to ref-counted frame API.
Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 10:42:34 +01:00
Loren Merritt
5b3c1aecb2 hqdn3d: Fix out of array read in LOWPASS
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:59 +01:00
Michael Niedermayer
0fe4b48540 cabac: remove unused argument of ff_init_cabac_states()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:05 +01:00
Nicolas George
be40d6cc2b rawdec: fix a typo -- || instead of |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:13:54 +01:00
Clément Bœsch
19c41c6d8e opt: re-enable memleak fix for duplicated options.
The memleak fix in a1bcc76e was causing problems when the original
string wasn't NULL or av_malloc'ed, thus was disabled. It seems the only
OPT_STRING occurence where it needed to be fixed is in ffserver. This
commit fixes that specific problem and so re-enable the original code.
2013-03-13 07:25:16 +01:00
Michael Niedermayer
12fe78a77b vp56: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 04:12:14 +01:00
Ronald S. Bultje
f536df99fe dsputil: remove hpel functions (moved to hpeldsp). 2013-03-13 04:11:41 +01:00
Ronald S. Bultje
94b77678dc Move alpha half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:11:27 +01:00
Ronald S. Bultje
6802c70106 Move sparc/vis half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:09:43 +01:00
Michael Niedermayer
a0565a2b65 Move sh4 half-pel assembly from dsputil to hpeldsp.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 04:07:41 +01:00
Ronald S. Bultje
e9e608ad58 Move bfin half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:06:10 +01:00
Ronald S. Bultje
de99545f46 Move arm half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:04:13 +01:00
Ronald S. Bultje
89f16ded9b Move ppc half-pel assembly from dsputil to hpeldsp. 2013-03-13 04:02:30 +01:00
Ronald S. Bultje
3ced55d51c Move x86 half-pel assembly from dsputil to hpeldsp. 2013-03-13 03:59:23 +01:00
Ronald S. Bultje
e0a8f31591 mjpeg: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:59:10 +01:00
Ronald S. Bultje
b42d594c85 svq1enc: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:59:00 +01:00
Ronald S. Bultje
771ba8f206 snow: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:58:49 +01:00
Ronald S. Bultje
05dd583426 svq3: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:58:31 +01:00
Ronald S. Bultje
4ba5dbc0e4 mpegvideo: use hpeldsp instead of dsputil for half-pel functions.
This also converts vc1, since that is mpegvideo-based.
2013-03-13 03:58:00 +01:00
Ronald S. Bultje
4652389777 svq1: use hpeldsp instead of dsputil for half-pel functions.
This makes svq1 independent of dsputil.
2013-03-13 03:57:45 +01:00
Ronald S. Bultje
cc5d17e026 mimic: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:57:33 +01:00
Ronald S. Bultje
04a75bb74f interplayvideo: use hpeldsp instead of dsputil for half-pel functions.
This makes interplayvideo independent of dsputil.
2013-03-13 03:57:21 +01:00
Ronald S. Bultje
af1e3dfb9e bink: use hpeldsp instead of dsputil for half-pel functions. 2013-03-13 03:56:09 +01:00
Ronald S. Bultje
4b642ab19b indeo3: use hpeldsp instead of dsputil for half-pel functions.
This makes indeo3 independent of dsputil.
2013-03-13 03:56:09 +01:00
Ronald S. Bultje
704c9874a3 vp56: use hpeldsp instead of dsputil for half-pel functions.
This makes vp5 and vp6 independent of dsputil.
2013-03-13 03:56:07 +01:00
Ronald S. Bultje
d1293512cf vp3: use hpeldsp instead of dsputil for half-pel functions.
This makes vp3 independent of dsputil.
2013-03-13 03:55:33 +01:00
Ronald S. Bultje
9628e5a4ac hpeldsp: add half-pel functions (currently copies of dsputil). 2013-03-13 03:54:47 +01:00
Michael Niedermayer
1f27053b91 Merge commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f'
* commit 'de27d2b92fa97deb2856d18e9f5f19586ce45a0f':
  lavc: remove disabled FF_API_LIBMPEG2 cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:56:33 +01:00
Michael Niedermayer
d3edc65dd1 Merge commit '0517c9e098092709397cc522c59fa63c83cc81be'
* commit '0517c9e098092709397cc522c59fa63c83cc81be':
  lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft

Conflicts:
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/resample.c
	libavcodec/resample2.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:41:18 +01:00
Michael Niedermayer
150de78d7c Merge commit 'd6d369bf1370999896500ae7eb5b9447ab635a3d'
* commit 'd6d369bf1370999896500ae7eb5b9447ab635a3d':
  atomic: prefer gcc builtins over win32 atomics, if available.
  avframe: copy reordered_opaque in copy_props

Conflicts:
	libavutil/frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:08:41 +01:00
Michael Niedermayer
e5949cc12a Merge commit '684e3d2e1ce96625eeef63f2564aab66f6715d05'
* commit '684e3d2e1ce96625eeef63f2564aab66f6715d05':
  ra144: check buffer size before requesting a buffer
  wmapro: unref skipped frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 02:02:06 +01:00
Michael Niedermayer
ff3e8564c4 Merge commit 'e3232f34312f8187094c875445683277ed0c209d'
* commit 'e3232f34312f8187094c875445683277ed0c209d':
  svq1: use av_frame_free to free refcounted frame
  lavc: fix get_buffer() compatibility layer for audio.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:56:41 +01:00
Michael Niedermayer
047c5e177a Merge commit '98cec5c84feff34e04428de4a86836a83657ae5e'
* commit '98cec5c84feff34e04428de4a86836a83657ae5e':
  ratecontrol: remove an unused variable
  vorbisdec: do not leak the first frame.
  vf_pad: fix a & instead of && typo

Conflicts:
	libavfilter/vf_pad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:47:39 +01:00
Clément Bœsch
02a6b06d9e avpacket: do not copy data when buf ref is available.
This at least fixes issues with lavf/subtitles. The behaviour of
av_dup_packet() is unchanged, only av_copy_packet() is affected.
2013-03-13 01:30:20 +01:00
Michael Niedermayer
b94df21a51 Merge commit '2eaa3663fda750dac66d41fe8541a8744d5563a4'
* commit '2eaa3663fda750dac66d41fe8541a8744d5563a4':
  avplay: enable only when SDL 1.2 is found

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:31:46 +01:00
Michael Niedermayer
d469fa1923 Merge commit 'adfa53d67c7a3318157ea9d95e8bdcfb77139452'
* commit 'adfa53d67c7a3318157ea9d95e8bdcfb77139452':
  lavc: remove disabled FF_API_VDA_ASYNC cruft

Conflicts:
	libavcodec/vda.h
	libavcodec/vda_h264.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 01:14:09 +01:00
Michael Niedermayer
cfc1efc77c avcodec: assert that old codec ids match new
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 00:50:48 +01:00
Michael Niedermayer
e664f48b97 Merge commit 'bdd1567c355a8092e7746ef99e831d579e34fa6a'
* commit 'bdd1567c355a8092e7746ef99e831d579e34fa6a':
  lavc: remove disabled FF_API_CODEC_ID cruft

Conflicts:
	libavcodec/old_codec_ids.h
	libavcodec/version.h

Only the #define is removed
The CODEC_IDs itself are left until theres some reason to remove
them.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-13 00:49:25 +01:00
Stefano Sabatini
aeac1dae29 lavfi/fieldorder: add support to named options 2013-03-13 00:37:13 +01:00
Stefano Sabatini
a3233e9d7a lavfi/fieldorder: remove unused headers and commented define 2013-03-13 00:34:51 +01:00
Stefano Sabatini
92ca292766 lavc: extend documentation for skip_idct, skip_loop_filter, skip_frame options 2013-03-13 00:34:42 +01:00
Stefano Sabatini
1019cef329 ffprobe: support codec options
Make ffprobe honour codec options, and support stream specifiers like it
is done in ffplay.

In particular, address Trac ticket #1859.
2013-03-13 00:34:36 +01:00
Stefano Sabatini
8bb5680d90 cmdutils: improve feedback in case of not found option 2013-03-13 00:34:29 +01:00
Nicolas George
684a264638 configure: remove selection of ff(a)buffersink.
buffersink is enabled unconditionally.
2013-03-12 23:31:07 +01:00
Nicolas George
c14a8c834c lavfi/buffersink: schedule removing the "ff" variants.
They are no longer needed since there is no incompatible
ABI version.
2013-03-12 23:31:07 +01:00
Nicolas George
ceac5c54dd Remove references to the "ff" variant of buffersink. 2013-03-12 23:31:07 +01:00
Nicolas George
9a2688826d lavfi/buffersink: rename filter structures.
Reduce the diff with the fork.
2013-03-12 23:31:07 +01:00
Michael Niedermayer
f7b041b11b Merge commit '7d42fd6bb9df99a20cf2d0d0e3b166a83a649d08'
* commit '7d42fd6bb9df99a20cf2d0d0e3b166a83a649d08':
  lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft

Conflicts:
	libavcodec/avcodec.h
	libavcodec/imgconvert.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 23:08:08 +01:00
Ronald S. Bultje
d85c9b036e vp3/x86: use full transpose for all IDCTs.
This way, the special IDCT permutations are no longer needed. Bfin code
is disabled until someone updates it. This is similar to how H264 does
it, and removes the dsputil dependency imposed by the scantable code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:54:10 +01:00
Michael Niedermayer
db594f65ec Merge commit '845017105f240ac5348aad1f8a5256b86d49db76'
* commit '845017105f240ac5348aad1f8a5256b86d49db76':
  lavc: remove disabled FF_API_DSP_MASK cruft
  lavc: remove disabled FF_API_SUB_ID cruft

Conflicts:
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:38:55 +01:00
Michael Niedermayer
5beddbc4cf Merge commit '2a113695238e7675ab75c5fb9a5f59fc92f2ddd9'
* commit '2a113695238e7675ab75c5fb9a5f59fc92f2ddd9':
  lavc: remove disabled FF_API_INTER_THRESHOLD cruft
  lavc: remove disabled FF_API_COLOR_TABLE_ID cruft
  lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:18:08 +01:00
Michael Niedermayer
e052f06531 Merge commit '0f24a3ca999a702f83af9307f9f47b6fdeb546a5'
* commit '0f24a3ca999a702f83af9307f9f47b6fdeb546a5':
  lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft
  lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft
  lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft

Conflicts:
	libavcodec/flacenc.c
	libavcodec/libgsm.c
	libavcodec/utils.c
	libavcodec/version.h

The compatibility wrapers are left as they likely sre still
in wide use. They will be removed when they break or otherwise
cause work without an volunteer being available.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 22:04:16 +01:00
Michael Niedermayer
eba6a04e1c vp6: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:46:38 +01:00
Michael Niedermayer
2ec30267fe Changelog: fix project name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:45:51 +01:00
Michael Niedermayer
0d0f76ea56 Merge commit '6327c10702922eabcb1c6170abd3f03d23ce4c51'
* commit '6327c10702922eabcb1c6170abd3f03d23ce4c51':
  atomic: fix CAS with armcc.
  png: use av_mallocz_array() for the zlib zalloc function
  libmp3lame: use the correct remaining buffer size when flushing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:39:38 +01:00
Michael Niedermayer
d64b854075 Merge commit '666fe5da47d127074be7f0e2bac93db6af8b4a30'
* commit '666fe5da47d127074be7f0e2bac93db6af8b4a30':
  atomic: Exclude the unsupported implementation headers from checkheaders
  avconv: do not silently ignore unused codec AVOptions.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:34:24 +01:00
Michael Niedermayer
212b89f8b4 avfilter: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:23:54 +01:00
Michael Niedermayer
c51fcdf0f6 Merge commit 'db2d65ce1ed13ea9a530b1934963a16c3e8fa460'
* commit 'db2d65ce1ed13ea9a530b1934963a16c3e8fa460':
  avconv: fix a typo
  FATE: replace -vb with -b:v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:15:21 +01:00
Michael Niedermayer
771919e11f Merge commit '6deae8e0530a885b76f149841ed4899cb438ec23'
* commit '6deae8e0530a885b76f149841ed4899cb438ec23':
  FATE: remove the -dct option from some decoding tests.
  avconv: use a local variable for InputFile in open_input_file().

Conflicts:
	tests/fate/microsoft.mak
	tests/fate/real.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:06:30 +01:00
Michael Niedermayer
49e87819d0 Merge commit '1da54e908eba73eb86f5d614c51f06811c85c3ea'
* commit '1da54e908eba73eb86f5d614c51f06811c85c3ea':
  avconv: use a local variable for OutputFile in open_output_file().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 20:58:56 +01:00
Hendrik Leppkes
cde1e7db3e vorbis: unref the skipped first frame.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 20:46:55 +01:00
Hendrik Leppkes
713ac21097 avutil/os_support: use 64-bit fstat/lseek variants for MSVC as well
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 20:06:31 +01:00
Ronald S. Bultje
6a701306db dsputil: make selectable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 19:56:58 +01:00
Michael Niedermayer
b1a9a2c4ff ffmpeg: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:58:10 +01:00
Luca Barbato
37cb3b180a matroskadec: request a read buffer for the wav header
Solve an infiniloop.

CC: libav-stable@libav.org
2013-03-12 18:58:06 +01:00
Michael Niedermayer
19688e87e5 h264: show recovery SEIs in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:43:17 +01:00
Michael Niedermayer
dc7ba0c1f4 j2kdec: remove unused variable and empty function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:30:59 +01:00
Luca Barbato
a8b6015823 dsputil: convert remaining functions to use ptrdiff_t strides
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 18:26:42 +01:00
Hendrik Leppkes
f91730a16b jv: initialize AVFrame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:24:49 +01:00
Michael Niedermayer
bd93f3c5bd ffmpeg: fix reinit_filter type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:24:48 +01:00
Michael Niedermayer
5743095ca9 Merge commit '9d3009c6c4b9b6734f07df7c88f6a42ded6cdf38'
* commit '9d3009c6c4b9b6734f07df7c88f6a42ded6cdf38':
  avconv: print an error on applying options of the wrong type.
  atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
  output-example: Update to use encode_video2 instead of the now dropped encode_video

Conflicts:
	doc/examples/muxing.c
	ffmpeg_opt.c
	libavutil/atomic.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:10:35 +01:00
Michael Niedermayer
6b6b0e9dae pthread: fix unused variable warning 2013-03-12 18:10:09 +01:00
Giorgio Vazzana
ee4a658695 lavd/v4l2: fix bug in init_convert_timestamp()
The current code returned a period=0, resulting in identical pts for all frames
after time-filtering. This is because AV_TIME_BASE_Q={1, AV_TIME_BASE} and
not {AV_TIME_BASE, 1}. With this patch the correct period in microseconds is computed.
2013-03-12 17:14:47 +01:00
Michael Niedermayer
7093b7534f Merge commit '2240e92f052960693de55cf4924e80426dfaa965'
* commit '2240e92f052960693de55cf4924e80426dfaa965':
  atomic: Add include guards to the implementation headers
  lavc: update the fallback versions of ff_thread_*

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:36:21 +01:00
Michael Niedermayer
bf780b7ea8 Merge commit '19dd4017ab6dac11c77d797acebee4f60ad63a6f'
* commit '19dd4017ab6dac11c77d797acebee4f60ad63a6f':
  libopencore-amr: Add the missing 3rd argument of ff_get_buffer()
  vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
  wmaprodec: return an error, not 0, when the input is too small.

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:31:21 +01:00
Nicolas George
b52421940f lavf: add AV_ to two remaining CODEC_ID_*. 2013-03-12 16:21:22 +01:00
Michael Niedermayer
7787a6c7ca Merge commit 'cacad1c058f66558ec727faac3b277d2dee264d4'
* commit 'cacad1c058f66558ec727faac3b277d2dee264d4':
  wmaprodec: require block_align to be set.
  wmadec: require block_align to be set.
  ivi_common: do not call MC for intra frames when dc_transform is unset

Conflicts:
	libavcodec/ivi_common.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:15:08 +01:00
Michael Niedermayer
6ec0447d3d xface: remove unused stuff, fix related warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 16:04:46 +01:00
Michael Niedermayer
b36095ea0f Merge commit '3e2f200237af977b9253b0aff121eee27bcedb44'
* commit '3e2f200237af977b9253b0aff121eee27bcedb44':
  roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
  xxan: fix invalid memory access in xan_decode_frame_type0()
  tty: set avg_frame_rate.
  FATE: enable multiple slices in the ffv1 vsynth test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:57:28 +01:00
Michael Niedermayer
f506ae19ff Merge commit 'd243896987b8b2062d1faba4d8d6f0c62d2dbee9'
* commit 'd243896987b8b2062d1faba4d8d6f0c62d2dbee9':
  ffv1: fix calculating slice dimensions for version 2

Conflicts:
	libavcodec/ffv1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:56:43 +01:00
Michael Niedermayer
0cfbfaaa12 Merge commit '7b89cd20d844cbe763ca34e63e99d110043cf241'
* commit '7b89cd20d844cbe763ca34e63e99d110043cf241':
  eamad: allocate a dummy reference frame when the real one is missing
  Replace remaining includes of audioconvert.h with channel_layout.h
  Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:44:15 +01:00
Michael Niedermayer
a75f01d7e0 Merge commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111'
* commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111':
  Add the bumps and APIchanges entries for reference counted buffers changes.

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/version.h
	libavdevice/version.h
	libavfilter/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:35:39 +01:00
Michael Niedermayer
c292e340ed avformat: keep r_frame_rate
This field is used and nothing equivalent exists

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:28:23 +01:00
Michael Niedermayer
9cf788eca8 avformat/avdevice: add missing time.h includes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:28:22 +01:00
Michael Niedermayer
ad78b9ed70 avcodec: postpone removial of parts still used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:28:21 +01:00
Michael Niedermayer
b2cd0d709a Merge commit '8df23e938b4022d6e6e9e1180ea6418abae74fda'
* commit '8df23e938b4022d6e6e9e1180ea6418abae74fda':
  lavc: postpone the removal of request_channels API.
  AVFrame: deprecate all now unused fields

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:46:41 +01:00
Michael Niedermayer
dac8799529 Merge commit 'ddcca4ba074aa537c3059c76d69eb4ad6316bfe9'
* commit 'ddcca4ba074aa537c3059c76d69eb4ad6316bfe9':
  lavc: stop setting AVFrame.motion_subsample_log2
  avserver: don't set deprecated options.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:27:54 +01:00
Michael Niedermayer
32fdfdfbda Merge commit '354468fc12dcf93e7fb4af552e18906771913273'
* commit '354468fc12dcf93e7fb4af552e18906771913273':
  avplay: switch to new refcounted frames API
  avconv: convert to new refcounted AVFrame API

Conflicts:
	cmdutils.c
	ffmpeg.c
	ffmpeg.h
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 14:16:02 +01:00
Michael Niedermayer
3c1326411d Merge commit '37045e422903695e610cca6ecb753df643ab9380'
* commit '37045e422903695e610cca6ecb753df643ab9380':
  mpegvideo: drop vismv code

Conflicts:
	libavcodec/mpegvideo.c

vismv code works fine, and thus only the unused fields are droped

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:57:54 +01:00
Michael Niedermayer
a303dce28c utils: Dont sent fake channel layouts, 0 layout is better when its not known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:50:07 +01:00
Michael Niedermayer
f9fd6f983b Merge commit '2eba9087f3031c6050f8dcd996225490be6c2410'
* commit '2eba9087f3031c6050f8dcd996225490be6c2410':
  lavc: make up a fake frame channel layout when there is no real one.

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:49:59 +01:00
Michael Niedermayer
a7f9d92a6d Merge commit '192f1984b1a93aa08af053b8f9ab4950f307bd5d'
* commit '192f1984b1a93aa08af053b8f9ab4950f307bd5d':
  lavc: limit maximum number of channels to 63

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:23:12 +01:00
Michael Niedermayer
36685c3c4b Merge commit '15ec0450b4ae891f3e6ababa03c777a4443b94ca'
* commit '15ec0450b4ae891f3e6ababa03c777a4443b94ca':
  lavc: allow decoders to override frame parameters.

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:18:31 +01:00
Michael Niedermayer
64d11cb615 mss1: set frame defaults
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 12:17:58 +01:00
Clément Bœsch
80661e0f55 buffer: use the atomic get instead of the add and fetch variant. 2013-03-12 12:12:49 +01:00
Michael Niedermayer
1ad542f11f get_video_buffer: add vertical padding
Fix memory corruption

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:33:43 +01:00
Michael Niedermayer
53fd4f5594 avcodec: fix motion vector vissualization
was broken by the buffer ref stuff

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:23:07 +01:00
Diego Biurrun
a4472ac01e Add informative messages to av_log_ask_for_sample calls lacking them 2013-03-12 11:09:45 +01:00
Michael Niedermayer
6ae4372532 h264/mpegvideo: fix ff_print_debug_info2 arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 11:06:35 +01:00
Diego Biurrun
8f10f1a6dc anm: Get rid of some very silly goto statements 2013-03-12 11:05:28 +01:00
Michael Niedermayer
a76ef998eb mpegvideo: move ff_print_debug_info2 to where ff_print_debug_info is
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 10:51:03 +01:00
Hendrik Leppkes
b91459e565 atomic: prefer gcc builtins over win32 atomics, if available.
The mingw win32 atomics appear to be faulty, so they should not be used
if the gcc ones are available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-12 10:41:09 +01:00
Martin Storsjö
c48828f763 atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
Not all gcc configurations have an implementation of all the atomic
operations, and some gcc configurations have some atomic builtins
implemented but not all.

Thus check for the most essential function, whose presence should
indicate that all others are present as well, since it can be used
to implement all the other ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-12 10:41:02 +01:00
Michael Niedermayer
c536253854 snow: set frame defaults
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 10:35:51 +01:00
Michael Niedermayer
b5e5ed8ea7 Merge commit '3b199d29cd597a3518136d78860e172060b9e83d'
* commit '3b199d29cd597a3518136d78860e172060b9e83d':
  lavc decoders: properly initialize AVFrame.

Conflicts:
	libavcodec/avs.c
	libavcodec/c93.c
	libavcodec/cinepak.c
	libavcodec/flashsv.c
	libavcodec/flicvideo.c
	libavcodec/iff.c
	libavcodec/mmvideo.c
	libavcodec/msrle.c
	libavcodec/msvideo1.c
	libavcodec/qtrle.c
	libavcodec/rpza.c
	libavcodec/smacker.c
	libavcodec/smc.c
	libavcodec/tiertexseqv.c
	libavcodec/truemotion1.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:54:40 +01:00
Michael Niedermayer
01a0283c92 h264: disallow single unpaired fields as references of frames
Fixes deadlock
2013-03-12 03:23:58 +01:00
Hendrik Leppkes
c69acbf881 lavfi/moviesrc: use refcounted frames 2013-03-12 03:23:57 +01:00
Michael Niedermayer
0fc01ae33c h264: fix null pointer dereference and assertion failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:56 +01:00
Michael Niedermayer
ee3c3dd523 ff_alloc_picture: free tables in case of dimension mismatches
Fixes memory corruption
In theory this should not be needed but its better to check at
one place than to hope 50 other places set the flags correctly
2013-03-12 03:23:55 +01:00
Michael Niedermayer
9e73f6d1f9 mpegvideo: dont allow last == current
this fixes deadlocks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:53 +01:00
Michael Niedermayer
9dd0b7ad82 update_frame_pool: use channel field
Fix memory corruption

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:51 +01:00
Michael Niedermayer
80e9e63c94 Merge commit '759001c534287a96dc96d1e274665feb7059145d'
* commit '759001c534287a96dc96d1e274665feb7059145d':
  lavc decoders: work with refcounted frames.

Anton Khirnov (1):
      lavc decoders: work with refcounted frames.

Clément Bœsch (47):
      lavc/ansi: reset file
      lavc/ansi: re-do refcounted frame changes from Anton
      fraps: reset file
      lavc/fraps: switch to refcounted frames
      gifdec: reset file
      lavc/gifdec: switch to refcounted frames
      dsicinav: resolve conflicts
      smc: resolve conflicts
      zmbv: resolve conflicts
      rpza: resolve conflicts
      vble: resolve conflicts
      xxan: resolve conflicts
      targa: resolve conflicts
      vmnc: resolve conflicts
      utvideodec: resolve conflicts
      tscc: resolve conflicts
      ulti: resolve conflicts
      ffv1dec: resolve conflicts
      dnxhddec: resolve conflicts
      v210dec: resolve conflicts
      vp3: resolve conflicts
      vcr1: resolve conflicts
      v210x: resolve conflicts
      wavpack: resolve conflicts
      pngdec: fix compilation
      roqvideodec: resolve conflicts
      pictordec: resolve conflicts
      mdec: resolve conflicts
      tiertexseqv: resolve conflicts
      smacker: resolve conflicts
      vb: resolve conflicts
      vqavideo: resolve conflicts
      xl: resolve conflicts
      tmv: resolve conflicts
      vmdav: resolve conflicts
      truemotion1: resolve conflicts
      truemotion2: resolve conflicts
      lcldec: fix compilation
      libcelt_dec: fix compilation
      qdrw: fix compilation
      r210dec: fix compilation
      rl2: fix compilation
      wnv1: fix compilation
      yop: fix compilation
      tiff: resolve conflicts
      interplayvideo: fix compilation
      qpeg: resolve conflicts (FIXME/TESTME).

Hendrik Leppkes (33):
      012v: convert to refcounted frames
      8bps: fix compilation
      8svx: resolve conflicts
      4xm: resolve conflicts
      aasc: resolve conflicts
      bfi: fix compilation
      aura: fix compilation
      alsdec: resolve conflicts
      avrndec: convert to refcounted frames
      avuidec: convert to refcounted frames
      bintext: convert to refcounted frames
      cavsdec: resolve conflicts
      brender_pix: convert to refcounted frames
      cinepak: resolve conflicts
      cinepak: avoid using AVFrame struct directly in private context
      cljr: fix compilation
      cpia: convert to refcounted frames
      cscd: resolve conflicts
      iff: resolve conflicts and do proper conversion to refcounted frames
      4xm: fix reference frame handling
      cyuv: fix compilation
      dxa: fix compilation
      eacmv: fix compilation
      eamad: fix compilation
      eatgv: fix compilation
      escape124: remove unused variable.
      escape130: convert to refcounted frames
      evrcdec: convert to refcounted frames
      exr: convert to refcounted frames
      mvcdec: convert to refcounted frames
      paf: properly free the frame data on decode close
      sgirle: convert to refcounted frames
      lavfi/moviesrc: use refcounted frames

Michael Niedermayer (56):
      Merge commit '759001c534287a96dc96d1e274665feb7059145d'
      resolve conflicts in headers
      motion_est: resolve conflict
      mpeg4videodec: fix conflicts
      dpcm conflict fix
      dpx: fix conflicts
      indeo3: resolve confilcts
      kmvc: resolve conflicts
      kmvc: resolve conflicts
      h264: resolve conflicts
      utils: resolve conflicts
      rawdec: resolve conflcits
      mpegvideo: resolve conflicts
      svq1enc: resolve conflicts
      mpegvideo: dont clear data, fix assertion failure on fate vsynth1 with threads
      pthreads: resolve conflicts
      frame_thread_encoder: simple compilefix not yet tested
      snow: update to buffer refs
      crytsalhd: fix compile
      dirac: switch to new API
      sonic: update to new API
      svq1: resolve conflict, update to new API
      ffwavesynth: update to new buffer API
      g729: update to new API
      indeo5: fix compile
      j2kdec: update to new buffer API
      linopencore-amr: fix compile
      libvorbisdec: update to new API
      loco: fix compile
      paf: update to new API
      proresdec: update to new API
      vp56: update to new api / resolve conflicts
      xface: convert to refcounted frames
      xan: fix compile&fate
      v408: update to ref counted buffers
      v308: update to ref counted buffers
      yuv4dec: update to ref counted buffers
      y41p: update to ref counted frames
      xbm: update to refcounted frames
      targa_y216: update to refcounted buffers
      qpeg: fix fate/crash
      cdxl: fix fate
      tscc: fix reget buffer useage
      targa_y216dec: fix style
      msmpeg4: fix fate
      h264: ref_picture() copy fields that have been lost too
      update_frame_pool: use channel field
      h264: Put code that prevents deadlocks back
      mpegvideo: dont allow last == current
      wmalossless: fix buffer ref messup
      ff_alloc_picture: free tables in case of dimension mismatches
      h264: fix null pointer dereference and assertion failure
      frame_thread_encoder: update to bufrefs
      ec: fix used arrays
      snowdec: fix off by 1 error in dimensions check
      h264: disallow single unpaired fields as references of frames

Paul B Mahol (2):
      lavc/vima: convert to refcounted frames
      sanm: convert to refcounted frames

Conflicts:
	libavcodec/4xm.c
	libavcodec/8bps.c
	libavcodec/8svx.c
	libavcodec/aasc.c
	libavcodec/alsdec.c
	libavcodec/anm.c
	libavcodec/ansi.c
	libavcodec/avs.c
	libavcodec/bethsoftvideo.c
	libavcodec/bfi.c
	libavcodec/c93.c
	libavcodec/cavsdec.c
	libavcodec/cdgraphics.c
	libavcodec/cinepak.c
	libavcodec/cljr.c
	libavcodec/cscd.c
	libavcodec/dnxhddec.c
	libavcodec/dpcm.c
	libavcodec/dpx.c
	libavcodec/dsicinav.c
	libavcodec/dvdec.c
	libavcodec/dxa.c
	libavcodec/eacmv.c
	libavcodec/eamad.c
	libavcodec/eatgq.c
	libavcodec/eatgv.c
	libavcodec/eatqi.c
	libavcodec/error_resilience.c
	libavcodec/escape124.c
	libavcodec/ffv1.h
	libavcodec/ffv1dec.c
	libavcodec/flicvideo.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/g723_1.c
	libavcodec/gifdec.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_direct.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_refs.c
	libavcodec/huffyuvdec.c
	libavcodec/idcinvideo.c
	libavcodec/iff.c
	libavcodec/indeo2.c
	libavcodec/indeo3.c
	libavcodec/internal.h
	libavcodec/interplayvideo.c
	libavcodec/ivi_common.c
	libavcodec/jvdec.c
	libavcodec/kgv1dec.c
	libavcodec/kmvc.c
	libavcodec/lagarith.c
	libavcodec/libopenjpegdec.c
	libavcodec/mdec.c
	libavcodec/mimic.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mmvideo.c
	libavcodec/motion_est.c
	libavcodec/motionpixels.c
	libavcodec/mpc7.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/msrle.c
	libavcodec/msvideo1.c
	libavcodec/nuv.c
	libavcodec/options_table.h
	libavcodec/pcx.c
	libavcodec/pictordec.c
	libavcodec/pngdec.c
	libavcodec/pnmdec.c
	libavcodec/pthread.c
	libavcodec/qpeg.c
	libavcodec/qtrle.c
	libavcodec/r210dec.c
	libavcodec/rawdec.c
	libavcodec/roqvideodec.c
	libavcodec/rpza.c
	libavcodec/smacker.c
	libavcodec/smc.c
	libavcodec/svq1dec.c
	libavcodec/svq1enc.c
	libavcodec/targa.c
	libavcodec/tiertexseqv.c
	libavcodec/tiff.c
	libavcodec/tmv.c
	libavcodec/truemotion1.c
	libavcodec/truemotion2.c
	libavcodec/tscc.c
	libavcodec/ulti.c
	libavcodec/utils.c
	libavcodec/utvideodec.c
	libavcodec/v210dec.c
	libavcodec/v210x.c
	libavcodec/vb.c
	libavcodec/vble.c
	libavcodec/vcr1.c
	libavcodec/vmdav.c
	libavcodec/vmnc.c
	libavcodec/vp3.c
	libavcodec/vp56.c
	libavcodec/vp56.h
	libavcodec/vp6.c
	libavcodec/vqavideo.c
	libavcodec/wavpack.c
	libavcodec/xl.c
	libavcodec/xxan.c
	libavcodec/zmbv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 03:23:28 +01:00
Michael Niedermayer
2e7bc9c2a1 snowdec: fix off by 1 error in dimensions check
fixes infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 02:42:50 +01:00
Luca Barbato
202c2acc40 vda: remove async decoder leftovers
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-12 01:05:48 +01:00
Nicolas George
73b40e2eb6 lavfi/buffersink: move the filter structures at the end.
Also apply a few cosmetic fixes (spaces, trailing comma) to
help match them with the fork's implementation.
2013-03-11 19:00:49 +01:00
Janne Grunau
a2816230c5 avframe: call release_buffer only if it is set
AVCodecContext release_buffer() shall be NULL for audio codecs using
get_buffer. The backward compatibility code hence have to check before
calling it.
2013-03-11 18:58:47 +01:00
Anton Khirnov
fce68c9355 pthread: unref the decoded but not returned frames on close.
Fixes memleaks when frame mt is used and the decoder is not flushed at
the end.
2013-03-11 18:30:35 +01:00
Anton Khirnov
555000c7d5 h264: check that DPB is allocated before accessing it in flush_dpb() 2013-03-11 18:30:31 +01:00
Anton Khirnov
d0a863ac89 vf_hqdn3d: fix uninitialized variable use
CC:libav-stable@libav.org
2013-03-11 18:28:35 +01:00
Anton Khirnov
887d31d455 vf_gradfun: fix uninitialized variable use
CC:libav-stable@libav.org
2013-03-11 18:28:34 +01:00
Anton Khirnov
c2597c5a0a h264_refs: cosmetics, reformat 2013-03-11 18:24:56 +01:00
Anton Khirnov
f08fefc4d0 h264: remove a useless svq3 condition
The svq3 decoder does not call ff_h264_frame_start() anymore.
2013-03-11 18:24:36 +01:00
Anton Khirnov
07054015cf mpegvideo: remove FMT_H264 2013-03-11 18:24:25 +01:00
Anton Khirnov
ee8704916d mpegvideo: reindent 2013-03-11 18:24:16 +01:00
Anton Khirnov
19cac8e301 mpegvideo: remove useless references to h264 and svq3
The h264 decoder does not use mpegvideo anymore. The svq3 decoder only
uses ff_draw_horiz_band().
2013-03-11 18:24:06 +01:00
Anton Khirnov
85a5bc054c lavf: remove disabled FF_API_R_FRAME_RATE cruft 2013-03-11 18:23:50 +01:00
Anton Khirnov
7b486ab13b lavf: remove disabled FF_API_AV_GETTIME cruft 2013-03-11 18:23:18 +01:00
Anton Khirnov
32e5194969 lavf: remove disabled FF_API_INTERLEAVE_PACKET cruft 2013-03-11 18:23:10 +01:00
Anton Khirnov
435c2a31ad lavf: remove disabled FF_API_READ_PACKET cruft 2013-03-11 18:23:02 +01:00
Anton Khirnov
c7e044c61b lavf: remove disabled FF_API_APPLEHTTP_PROTO cruft 2013-03-11 18:22:54 +01:00
Anton Khirnov
0a7c4daf46 lavf: remove disabled FF_API_CLOSE_INPUT_FILE cruft 2013-03-11 18:22:45 +01:00
Anton Khirnov
d6ed604cf4 lavc: remove disabled FF_API_IDCT cruft 2013-03-11 18:22:37 +01:00
Anton Khirnov
3bcdf8dcb9 lavc: remove disabled FF_API_SNOW cruft 2013-03-11 18:22:26 +01:00
Anton Khirnov
fcb07e8b33 lavc: remove disabled FF_API_MMI cruft 2013-03-11 18:22:18 +01:00
Anton Khirnov
de27d2b92f lavc: remove disabled FF_API_LIBMPEG2 cruft 2013-03-11 18:21:54 +01:00
Anton Khirnov
0517c9e098 lavc: remove disabled FF_API_AVCODEC_RESAMPLE cruft 2013-03-11 18:21:32 +01:00
Hendrik Leppkes
d6d369bf13 atomic: prefer gcc builtins over win32 atomics, if available.
The mingw win32 atomics appear to be faulty, so they should not be used
if the gcc ones are available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-11 16:57:25 +02:00
Janne Grunau
fc8406d01e avframe: copy reordered_opaque in copy_props
Fixes video playback in applications still using reordered_opaque.
2013-03-11 13:29:39 +01:00
Clément Bœsch
1123080d2e cmdutils: remove conditionnal pp include.
The definition of the include are needed for builds even without pp.
This should fix FATE with --disable-gpl after 63edd2f9.
2013-03-11 03:55:23 +01:00
Janne Grunau
684e3d2e1c ra144: check buffer size before requesting a buffer
Return an error on incomplete frames.
2013-03-10 22:34:43 +01:00
Janne Grunau
08149b2b39 wmapro: unref skipped frames 2013-03-10 22:34:43 +01:00
Janne Grunau
e3232f3431 svq1: use av_frame_free to free refcounted frame
Fixes a memleak due to avcodec_free_frame not freeing the frame data.
2013-03-10 22:28:18 +01:00
Anton Khirnov
98cec5c84f ratecontrol: remove an unused variable 2013-03-10 22:19:52 +01:00
Anton Khirnov
669cc0f364 lavc: fix get_buffer() compatibility layer for audio.
planes - FF_ARRAY_ELEMS would be evaluated as unsigned and underflow
instead of being negative as was intended.
2013-03-10 22:19:52 +01:00
Anton Khirnov
e2c2974120 vorbisdec: do not leak the first frame. 2013-03-10 22:16:26 +01:00
Nicolas George
de54a96aa8 lavfi/buffersink: implement av_buffersink_get_samples().
Note: the implementation could be more efficient, but at
the cost of more diff.

Most of the code from the following commit:

commit a2cd9be212
Author: Anton Khirnov <anton@khirnov.net>
Date:   Fri May 4 19:22:38 2012 +0200

    lavfi: add an audio buffer sink.

Adapted to call av_buffersink_get_frame_flags() instead of
accessing the frame directly.
2013-03-10 19:39:25 +01:00
Nicolas George
b71db3f38e lavfi/buffersrc: do not dereference NULL frame.
frame = NULL is used to indicate EOF.
2013-03-10 17:05:55 +01:00
Nicolas George
03b87fe5e3 lavfi: rename sink_buffer.c into buffersink.c. 2013-03-10 17:05:55 +01:00
Nicolas George
3add5dc88e lavfi: remove buffersink.c.
It only contains merge conflicts leftovers.
The real code is in sink_buffer.c.
2013-03-10 17:05:55 +01:00
Nicolas George
fa41f7ecd6 lavfi/sink_buffer: move stuff to reduce the diff.
Note: av_buffersink_get_samples() is not yet implemented,
abuffersink is not yet a drop-in replacement of the fork's
abuffersink.
2013-03-10 17:05:46 +01:00
Stefano Sabatini
35135a3989 lavfi/smartblur: add support to named options 2013-03-10 16:38:45 +01:00
Nicolas George
fb14e37dd0 ffmpeg: re-enable use of buffersrc flags.
AV_BUFFERSRC_FLAG_PUSH is necessary to detect closed streams.
2013-03-10 14:07:29 +01:00
Nicolas George
b0012de420 lavfi/buffersrc: implement flags.
The PUSH flags is necessary for efficient scheduling;
otherwise there is no feedback when adding frames to
closed paths.

The NO_CHECK_FORMAT is a small optimization that does
not cost much to implement.

The KEEP_REF flag maps to the add/write distinction in
the fork's API.
2013-03-10 13:56:17 +01:00
Nicolas George
cb2bd91413 ffmpeg: add the -canvas_size option.
Allows, amongst other things, to override the size guessed
by the sub2video hack.

Note: the -s option could have more or less the same semantic,
but it receives a special treatment by the options system.
2013-03-10 13:48:49 +01:00
Nicolas George
f9b34b8bf9 ffmpeg: port sub2video to AVFrame.
And re-enable the FATE test.
2013-03-10 13:45:15 +01:00
Stefano Sabatini
f185a040b0 doc/ffplay,ffmpeg: mention the corresponding negated option for -stats
This helps lazy users who didn't read the part about boolean options, in
case they grep for "-nostats".

-stdin and -stats are the only booleans option enabled by default. This
is a partial fix for Trac ticket #2332, a complete overhaul of boolean
options documentation is probably overkill.
2013-03-10 13:22:59 +01:00
Stefano Sabatini
a2a848406f cmdutils: clarify log message, in case of option routed to both codec and mux/demux layer 2013-03-10 13:22:59 +01:00
Stefano Sabatini
63edd2f989 cmdutils: remove duplicated check on CONFIG_POSTPROC
The check is already performed by the PRINT_LIB_INFO macro.
2013-03-10 13:22:59 +01:00
Stefano Sabatini
475c090af2 cmdutils: make print_all_libs_info() show libavresample version
Even if not directly supported by FFmpeg, it is still useful to see the
linked version of libavresample.
2013-03-10 13:22:59 +01:00
Stefano Sabatini
daf6ea5d4e cmdutils: fix stylenits 2013-03-10 13:22:59 +01:00
Stefano Sabatini
606efe18be lavfi/unsharp: add missing option flags 2013-03-10 13:22:58 +01:00
Stefano Sabatini
dae76e8c47 lavc/utils: fix typo and reword message in case of too low bitrate 2013-03-10 13:22:58 +01:00
Michael Niedermayer
f963c77856 avfilter: avoid direct access to "frame"->channels
This avoids ABI issues

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 11:25:54 +01:00
Xi Wang
5d639b2b4a vf_pad: fix a & instead of && typo
Avoid buffer overflow in buffer_needs_copy()

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-10 11:16:10 +01:00
Fabrizio Gennari
91b747ac78 mem: Fix usage of memalign() on DJGPP.
Credits to Khusraw of bttr-software.de forum.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2013-03-10 11:12:56 +01:00
Xi Wang
969e8d35b5 lavfi/pad: avoid buffer overflow in buffer_needs_copy()
Replace & with short-circuit &&.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-03-10 10:38:42 +01:00
Clément Bœsch
65fc80f012 lavfi: add curves filter. 2013-03-10 03:00:10 +01:00
Clément Bœsch
3d813e7ec3 lavfi: bump minor version after the first round of evil changes. 2013-03-10 02:59:43 +01:00
Michael Niedermayer
108434a30c sink_buffer: remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:52:15 +01:00
Ronald S. Bultje
d5efa84f13 vp3: embed idct_permutation array directly in VP3DecoderContext.
This makes the vp3 decoder less dependent on dsputil, and will aid
in making it (eventually) dsputil-independent.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:51:05 +01:00
Clément Bœsch
96e4b00d62 lavfi: remove remaining forgotten min/rej perms. 2013-03-10 02:38:21 +01:00
Michael Niedermayer
806a66fd08 mpegts: clear avprograms only for removed programs
Fixes Ticket2186

Requested-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:28:05 +01:00
Michael Niedermayer
07ab8d3369 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Revert "build: disable iconv by default."

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:21:04 +01:00
Clément Bœsch
f0a5f71074 lavfi/hue: reindent. 2013-03-10 02:13:02 +01:00
Clément Bœsch
3da54858d3 lavfi/hue: add an optimized direct path. 2013-03-10 02:13:02 +01:00
Michael Niedermayer
4a62f477ea Merge commit '6e7b50b4270116ded8b874d76cb7c5b1a0341827'
* commit '6e7b50b4270116ded8b874d76cb7c5b1a0341827':
  mpegvideo_enc: drop support for reusing the input motion vectors.

Conflicts:
	libavcodec/motion_est.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 02:10:43 +01:00
Clément Bœsch
e53061154f lavu/frame: fix not/note typo in doxy. 2013-03-10 02:07:34 +01:00
Clément Bœsch
5e4bc96415 doc: fix examples. 2013-03-10 01:41:53 +01:00
Michael Niedermayer
b1b506bc56 fate: disable sub2video
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:41:52 +01:00
Nicolas George
4e7c61b7a7 ffmpeg: do not give away our reference to the frame.
Note: the logic here is temporary until the updates to
ffmpeg.c are merged.
2013-03-10 01:41:50 +01:00
Nicolas George
9cc02101ff lavc/rawdec: set field order on decoded frame. 2013-03-10 01:41:49 +01:00
Nicolas George
6184fa2067 rawdec: work with refcounted frames.
Adapted from commit 759001c534
by Anton Khirnov.

Also, fix the use of || instead of | in a flags check.
2013-03-10 01:41:48 +01:00
Michael Niedermayer
a05a44e205 Merge commit '7e350379f87e7f74420b4813170fe808e2313911'
* commit '7e350379f87e7f74420b4813170fe808e2313911':
  lavfi: switch to AVFrame.

Conflicts:
	doc/filters.texi
	libavfilter/af_ashowinfo.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/buffersink.c
	libavfilter/buffersrc.c
	libavfilter/buffersrc.h
	libavfilter/f_select.c
	libavfilter/f_setpts.c
	libavfilter/fifo.c
	libavfilter/split.c
	libavfilter/src_movie.c
	libavfilter/version.h
	libavfilter/vf_aspect.c
	libavfilter/vf_bbox.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_fps.c
	libavfilter/vf_frei0r.c
	libavfilter/vf_gradfun.c
	libavfilter/vf_hqdn3d.c
	libavfilter/vf_lut.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vf_showinfo.c
	libavfilter/vf_transpose.c
	libavfilter/vf_vflip.c
	libavfilter/vf_yadif.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavfilter/yadif.h

Following are notes about the merge authorship and various technical details.

Michael Niedermayer:
  * Main merge operation, notably avfilter.c and video.c
  * Switch to AVFrame:
    - afade
    - anullsrc
    - apad
    - aresample
    - blackframe
    - deshake
    - idet
    - il
    - mandelbrot
    - mptestsrc
    - noise
    - setfield
    - smartblur
    - tinterlace
  * various merge changes and fixes in:
    - ashowinfo
    - blackdetect
    - field
    - fps
    - select
    - testsrc
    - yadif

Nicolas George:
  * Switch to AVFrame:
    - make rawdec work with refcounted frames. Adapted from commit
      759001c534 by Anton Khirnov.
      Also, fix the use of || instead of | in a flags check.
    - make buffer sink and src, audio and video work all together

Clément Bœsch:
  * Switch to AVFrame:
    - aevalsrc
    - alphaextract
    - blend
    - cellauto
    - colormatrix
    - concat
    - earwax
    - ebur128
    - edgedetect
    - geq
    - histeq
    - histogram
    - hue
    - kerndeint
    - life
    - movie
    - mp (with the help of Michael)
    - overlay
    - pad
    - pan
    - pp
    - pp
    - removelogo
    - sendcmd
    - showspectrum
    - showwaves
    - silencedetect
    - stereo3d
    - subtitles
    - super2xsai
    - swapuv
    - thumbnail
    - tile

Hendrik Leppkes:
  * Switch to AVFrame:
    - aconvert
    - amerge
    - asetnsamples
    - atempo
    - biquads

Matthieu Bouron:
  * Switch to AVFrame
    - alphamerge
    - decimate
    - volumedetect

Stefano Sabatini:
  * Switch to AVFrame:
    - astreamsync
    - flite
    - framestep

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-10 01:40:35 +01:00
Carl Eugen Hoyos
3f78f0904b Revert "build: disable iconv by default."
This reverts commit 9ad3cd5b5f.

The misdetection on OS X should be fixed, we will only get
problem reports if auto-detection is enabled.
2013-03-10 01:28:16 +01:00
Clément Bœsch
586ae70ba7 port FFmpeg lavc frame specificities to lavu functions. 2013-03-10 01:25:02 +01:00
Nicolas George
d1b456b0a8 lavu/frame: copy the channels field. 2013-03-10 01:25:02 +01:00
Clément Bœsch
ee0a8bcba1 lavfi/showspectrum: fix outpicref initialization.
In 81f2549, output pixel format was changed from rgb24 to planar yuv,
but the initialization was left unchanged. As a result, the chroma
planes were left uninitalized. This was not noticed since the current
ff_get_video_buffer() seems to be initializing the buffer. This won't be
the case anymore after the Evil Plan.
2013-03-09 23:52:33 +01:00
Ronald S. Bultje
22cc8a103c x86/qpel: move fullpel and l2 functions to separate file.
This way, they can be shared between mpeg4qpel and h264qpel without
requiring either one to be compiled unconditionally.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 17:25:30 +01:00
Ronald S. Bultje
9d40f7106d dsputil: make square put/avg_pixels functions local to h264qpel.
Put a copy of the 8bit functions only in dsputil, where they are used
for some other things (e.g. mpeg4qpel, mspel, cavsqpel). We could perhaps
also try to share specifically the 8bit functions from h264qpel between
it and the others, but that will be slightly more complicated. H264qpel
already had these functions, so we can simply remove the duplicates.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 17:16:55 +01:00
Giorgio Vazzana
9222978aed lavd/v4l2: simplify code
struct buff_data contains a pointer to struct video_data, so passing the
file descriptor again is redundant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 16:59:13 +01:00
Giorgio Vazzana
0286b42540 lavd/v4l2: correctly handle error conditions in mmap_read_frame()
In particular:

1) save errno before it (possibly) gets overwritten by other calls
2) do not forget to enqueue the buffer again in case of error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-09 16:58:53 +01:00
Carl Eugen Hoyos
982070c113 Add some fate dependencies to fix make fate with --disable-everything. 2013-03-09 15:46:46 +01:00
Carl Eugen Hoyos
881684e27c Add some fate dependencies to fix make fate with --disable-avdevice. 2013-03-09 14:39:13 +01:00
Vittorio Giovara
2eaa3663fd avplay: enable only when SDL 1.2 is found
SDL 2 is API incompatible.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-09 14:33:54 +01:00
Anton Khirnov
adfa53d67c lavc: remove disabled FF_API_VDA_ASYNC cruft 2013-03-09 08:37:11 +01:00
Anton Khirnov
bdd1567c35 lavc: remove disabled FF_API_CODEC_ID cruft 2013-03-09 08:37:08 +01:00
Anton Khirnov
7d42fd6bb9 lavc: remove disabled FF_API_FIND_BEST_PIX_FMT cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
845017105f lavc: remove disabled FF_API_DSP_MASK cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
2a11369523 lavc: remove disabled FF_API_INTER_THRESHOLD cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
0f24a3ca99 lavc: remove disabled FF_API_OLD_ENCODE_VIDEO cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
6327c10702 atomic: fix CAS with armcc.
On the current code, armcc will fail with:
"libavutil/atomic_gcc.h", line 52: Error:  #2771: first argument must be
a pointer to integer or enumeration type
2013-03-09 08:36:40 +01:00
Anton Khirnov
d03a94e2b7 lavc: remove disabled FF_API_SUB_ID cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
9d6cf81f02 lavc: remove disabled FF_API_COLOR_TABLE_ID cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
f073b1500e lavc: remove disabled FF_API_OLD_ENCODE_AUDIO cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
3b0f586f07 lavc: remove disabled FF_API_MPV_GLOBAL_OPTS cruft 2013-03-09 08:36:40 +01:00
Anton Khirnov
5d606863c3 lavc: remove disabled FF_API_OLD_DECODE_AUDIO cruft 2013-03-09 08:36:40 +01:00
Stephen Hutchinson
98c4268eca libutvideo: Prioritize compatibility with new versions
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-03-08 20:45:49 -05:00
Martin Storsjö
309d6f5077 atomic: Add include guards to the implementation headers
This makes them pass standalone compilation tests. Previously,
they included atomic.h which included themselves again, leading to
double definitions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 20:54:40 +01:00
Justin Ruggles
486f0b0cfc png: use av_mallocz_array() for the zlib zalloc function
Fixes valgrind uninitialized memory errors when decoding png.

CC:libav-stable@libav.org
2013-03-08 14:52:21 -05:00
Justin Ruggles
e984f47873 libmp3lame: use the correct remaining buffer size when flushing
CC:libav-stable@libav.org
2013-03-08 14:52:05 -05:00
Clément Bœsch
160979f4b4 lavc/utils: make sure the iconv descriptor can be opened only once.
This prevents trying to do some subtitles conversion for each event when
the character encoding is not found. It now aborts early instead of
flooding stderr.
2013-03-08 20:51:57 +01:00
Michael Niedermayer
307dc32a1a Merge commit '77b2cd7b41d7ec8008b6fac753c04f77824c514c'
* commit '77b2cd7b41d7ec8008b6fac753c04f77824c514c':
  AVFrame: add side data.

Conflicts:
	libavutil/frame.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 20:41:41 +01:00
Michael Niedermayer
c4e8821732 Merge commit '7ecc2d403ce5c7b6ea3b1f368dccefd105209c7e'
* commit '7ecc2d403ce5c7b6ea3b1f368dccefd105209c7e':
  Move AVFrame from lavc to lavu.

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 20:33:26 +01:00
Michael Niedermayer
fee484edaf Merge commit 'ad0c9f2d5d81e22207c6ccecc426bf7306acc327'
* commit 'ad0c9f2d5d81e22207c6ccecc426bf7306acc327':
  lavc: move AVFrame.hwaccel_picture_private to Picture.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:35:37 +01:00
Martin Storsjö
666fe5da47 atomic: Exclude the unsupported implementation headers from checkheaders
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 20:34:27 +02:00
Michael Niedermayer
d9d97f9b33 Merge commit '1a5e9130162b8adc898e5f6aea82b6372d1e4e6c'
* commit '1a5e9130162b8adc898e5f6aea82b6372d1e4e6c':
  pthread: avoid copying input packets when possible.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:17:38 +01:00
Michael Niedermayer
2653e12520 Merge commit '1afddbe59e96af75f1c07605afc95615569f388f'
* commit '1afddbe59e96af75f1c07605afc95615569f388f':
  avpacket: use AVBuffer to allow refcounting the packets.

Conflicts:
	libavcodec/avpacket.c
	libavcodec/utils.c
	libavdevice/v4l2.c
	libavformat/avidec.c
	libavformat/flacdec.c
	libavformat/id3v2.c
	libavformat/matroskaenc.c
	libavformat/mux.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 19:12:03 +01:00
Michael Niedermayer
532f31a695 Merge commit '1cec0624d0e6f48590283a57169b58b9fe8449d3'
* commit '1cec0624d0e6f48590283a57169b58b9fe8449d3':
  AVBuffer: add a new API for buffer pools

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 16:06:20 +01:00
Michael Niedermayer
36099df521 Merge commit '8e401dbe90cc77b1f3067a917d9fa48cefa3fcdb'
* commit '8e401dbe90cc77b1f3067a917d9fa48cefa3fcdb':
  lavu: add a new API for reference-counted data buffers.

Conflicts:
	libavutil/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 16:01:00 +01:00
Michael Niedermayer
e92ba51fd7 Merge commit '65f1d45dcc71186ede72fff950996099d23359bd'
* commit '65f1d45dcc71186ede72fff950996099d23359bd':
  lavu: add support for atomic operations.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:48:27 +01:00
Michael Niedermayer
23eed00925 Merge commit 'eae0879d961b78717dd2a0899809ad22819ae9e3'
* commit 'eae0879d961b78717dd2a0899809ad22819ae9e3':
  mp3dec: Fix VBR bit rate parsing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:42:37 +01:00
Michael Niedermayer
1f3a577353 Merge commit '4be368b504c6f4a03051448728fc62cd0ed506b2'
* commit '4be368b504c6f4a03051448728fc62cd0ed506b2':
  avstring: Fix isxdigit to not accept non-hex characters
  configure: Add missing videodsp dependencies to some decoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:37:21 +01:00
Michael Niedermayer
e9fbb9783c Merge commit 'dbd2a34ba5e5e46b6835e4425c360723c643b7a8'
* commit 'dbd2a34ba5e5e46b6835e4425c360723c643b7a8':
  build: cosmetics: Group hw accelerator Makefile entries together

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:32:39 +01:00
Michael Niedermayer
c32cc7e3a4 Merge commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51'
* commit 'bcd0a7137e4aca0f6f598593b90ca8f338444c51':
  configure: Add missing h264chroma dependencies to vp5, vp6
  Add missing error_resilience includes to files that use ER

Conflicts:
	configure
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:23:56 +01:00
Michael Niedermayer
43c6c18690 Merge commit 'd88738e4038b162708dc2f5342e10c1694edfd89'
* commit 'd88738e4038b162708dc2f5342e10c1694edfd89':
  mpegvideo: Conditionally build error_resilience bits

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:17:25 +01:00
Michael Niedermayer
b094931ab9 Merge commit '06b54e84254e4834b4978ff5b27cc2b7ee8d7a98'
* commit '06b54e84254e4834b4978ff5b27cc2b7ee8d7a98':
  build: Fix error_resilience code dependencies

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 15:05:18 +01:00
Michael Niedermayer
6c17ff84ad Merge commit 'efa7f4202088c70caba11d7834641bc6eaf41830'
* commit 'efa7f4202088c70caba11d7834641bc6eaf41830':
  Use the avstring.h locale-independent character type functions
  avstring: Add locale independent versions of some ctype.h functions

Conflicts:
	avprobe.c
	doc/APIchanges
	libavcodec/dvdsubdec.c
	libavcodec/utils.c
	libavutil/avstring.c
	libavutil/avstring.h
	libavutil/eval.c
	libavutil/parseutils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 14:57:41 +01:00
Michael Niedermayer
80f91a70be MAINTAINERS: update for 1.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-08 14:45:26 +01:00
Anton Khirnov
e7553f4c78 avconv: do not silently ignore unused codec AVOptions.
Print an error and abort when the option is of the wrong type (decoding
for output file or vice versa), since this could never be correct for
any input or output configuration.

Print a warning and continue when the option is of the correct type,
just unused, so same commandlines can be reused for different kinds of
input or output files.
2013-03-08 14:15:51 +01:00
Anton Khirnov
db2d65ce1e avconv: fix a typo 2013-03-08 14:14:25 +01:00
Anton Khirnov
64bfc3e205 FATE: replace -vb with -b:v
The -{vas}<option> syntax is now obsolete and deprecated, and has never
been documented or encouraged.
2013-03-08 14:14:17 +01:00
Anton Khirnov
6deae8e053 FATE: remove the -dct option from some decoding tests.
It is an encoding option, it has no effect when applied to decoding.
2013-03-08 14:14:05 +01:00
Anton Khirnov
41d2008b15 avconv: use a local variable for InputFile in open_input_file().
This is shorter and more readable.
2013-03-08 14:13:46 +01:00
Anton Khirnov
1da54e908e avconv: use a local variable for OutputFile in open_output_file().
This is shorter and more readable.
2013-03-08 14:13:39 +01:00
Anton Khirnov
9d3009c6c4 avconv: print an error on applying options of the wrong type.
I.e. input options to output files or vice versa.
2013-03-08 14:12:43 +01:00
Martin Storsjö
e460aa3282 atomic: Check for __sync_val_compare_and_swap instead of __sync_synchronize
Not all gcc configurations have an implementation of all the atomic
operations, and some gcc configurations have some atomic builtins
implemented but not all.

Thus check for the most essential function, whose presence should
indicate that all others are present as well, since it can be used
to implement all the other ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 14:55:08 +02:00
Martin Storsjö
f1af3d19a7 output-example: Update to use encode_video2 instead of the now dropped encode_video
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-08 13:42:45 +01:00
Martin Storsjö
2240e92f05 atomic: Add include guards to the implementation headers
This makes them pass standalone compilation tests. Previously,
they included atomic.h which included themselves again, leading to
double definitions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 12:00:06 +02:00
Anton Khirnov
7c45087b84 lavc: update the fallback versions of ff_thread_*
Fixes build without threads after
759001c534.
2013-03-08 10:22:10 +01:00
Yusuke Nakamura
19dd4017ab libopencore-amr: Add the missing 3rd argument of ff_get_buffer()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-08 11:09:31 +02:00
Anton Khirnov
f86d66bcfa vmdaudio: fix invalid reads when packet size is not a multiple of chunk size
CC:libav-stable@libav.org
2013-03-08 08:12:41 +01:00
Anton Khirnov
4c0080b7e7 wmaprodec: return an error, not 0, when the input is too small.
Returning 0 may result in an infinite loop in valid calling programs. A
decoder should never return 0 without producing any output.

CC:libav-stable@libav.org
2013-03-08 08:12:26 +01:00
Anton Khirnov
cacad1c058 wmaprodec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.

CC:libav-stable@libav.org
2013-03-08 08:12:16 +01:00
Anton Khirnov
ea1136baaf wmadec: require block_align to be set.
Avoids an infinite loop in the calling programs with decoder not
consuming any input and not returning output.

CC:libav-stable@libav.org
2013-03-08 08:12:03 +01:00
Anton Khirnov
3ba40ebb6c ivi_common: do not call MC for intra frames when dc_transform is unset
CC:libav-stable@libav.org
2013-03-08 08:11:46 +01:00
Anton Khirnov
3e2f200237 roqvideodec: fix a potential infinite loop in roqvideo_decode_frame().
When there is just 1 byte remanining in the buffer, nothing will be read
and the loop will continue forever. Check that there are at least 8
bytes, which are always read at the beginning.

CC:libav-stable@libav.org
2013-03-08 08:11:35 +01:00
Anton Khirnov
8a49d2bcbe xxan: fix invalid memory access in xan_decode_frame_type0()
The loop a few lines below the xan_unpack() call accesses up to
dec_size * 2 bytes into y_buffer, so dec_size must be limited to
buffer_size / 2.

CC:libav-stable@libav.org
2013-03-08 08:11:22 +01:00
Anton Khirnov
6c7d339afc tty: set avg_frame_rate.
The container does not store any timestamps and is CFR-only.
2013-03-08 08:11:05 +01:00
Anton Khirnov
bde48aa92d FATE: enable multiple slices in the ffv1 vsynth test
This allows us to test the slice threading code.
2013-03-08 08:10:52 +01:00
Anton Khirnov
d243896987 ffv1: fix calculating slice dimensions for version 2
It got broken in 0f13cd3187.

CC:libav-stable@libav.org
2013-03-08 08:10:02 +01:00
Anton Khirnov
7b89cd20d8 eamad: allocate a dummy reference frame when the real one is missing
CC:libav-stable@libav.org
2013-03-08 08:09:51 +01:00
Anton Khirnov
0651e892e1 Replace remaining includes of audioconvert.h with channel_layout.h 2013-03-08 07:42:13 +01:00
Anton Khirnov
542b83fc90 Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*. 2013-03-08 07:42:09 +01:00
Anton Khirnov
d8b31be6ca Add the bumps and APIchanges entries for reference counted buffers changes. 2013-03-08 07:41:49 +01:00
Anton Khirnov
8df23e938b lavc: postpone the removal of request_channels API.
Its replacement is still not ready.
2013-03-08 07:41:42 +01:00
Anton Khirnov
1296b1f6c0 AVFrame: deprecate all now unused fields 2013-03-08 07:41:21 +01:00
Anton Khirnov
ddcca4ba07 lavc: stop setting AVFrame.motion_subsample_log2
It is not used inside lavc anywhere and now it makes no sense to export
it.
2013-03-08 07:41:14 +01:00
Anton Khirnov
e7bbfc4242 avserver: don't set deprecated options. 2013-03-08 07:41:07 +01:00
Anton Khirnov
354468fc12 avplay: switch to new refcounted frames API
Remove now unused cmdutils get_buffer() implementation.
2013-03-08 07:40:59 +01:00
Anton Khirnov
9b2dc29534 avconv: convert to new refcounted AVFrame API 2013-03-08 07:40:50 +01:00
Anton Khirnov
37045e4229 mpegvideo: drop vismv code
It has been broken for over a year without anyone complaining or
noticing, thus proving that nobody ever uses it.
2013-03-08 07:40:41 +01:00
Anton Khirnov
2eba9087f3 lavc: make up a fake frame channel layout when there is no real one.
This should ensure that a valid channel layout is always set on a frame,
until a better solution is implemented.
2013-03-08 07:40:06 +01:00
Anton Khirnov
192f1984b1 lavc: limit maximum number of channels to 63
This is the most that can be represented with the current channel layout
system. This limit should be raised/removed when a better system is
implemented.
2013-03-08 07:39:53 +01:00
Anton Khirnov
15ec0450b4 lavc: allow decoders to override frame parameters. 2013-03-08 07:39:44 +01:00
Anton Khirnov
3b199d29cd lavc decoders: properly initialize AVFrame. 2013-03-08 07:39:37 +01:00
Anton Khirnov
759001c534 lavc decoders: work with refcounted frames. 2013-03-08 07:38:30 +01:00
Anton Khirnov
6e7b50b427 mpegvideo_enc: drop support for reusing the input motion vectors.
This misfeature is most likely completely useless and conflicts with
removing the mpegvideo-specific fields from AVFrame. In the improbable
case it is actually useful, it should be reimplemented in a better way.
2013-03-08 07:37:45 +01:00
Anton Khirnov
7e350379f8 lavfi: switch to AVFrame.
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Anton Khirnov
77b2cd7b41 AVFrame: add side data. 2013-03-08 07:37:01 +01:00
Anton Khirnov
7ecc2d403c Move AVFrame from lavc to lavu.
Add AVBuffer-based reference counting API to it.
2013-03-08 07:36:15 +01:00
Anton Khirnov
ad0c9f2d5d lavc: move AVFrame.hwaccel_picture_private to Picture.
This field is private and should not be present in a public struct. It
is only used in DXVA with mpegvideo-based decoders currently.
2013-03-08 07:36:01 +01:00
Anton Khirnov
1a5e913016 pthread: avoid copying input packets when possible. 2013-03-08 07:35:14 +01:00
Anton Khirnov
1afddbe59e avpacket: use AVBuffer to allow refcounting the packets.
This will allow us to avoid copying the packets in many cases.

This breaks ABI.
2013-03-08 07:33:45 +01:00
Anton Khirnov
1cec0624d0 AVBuffer: add a new API for buffer pools 2013-03-08 07:33:28 +01:00
Anton Khirnov
8e401dbe90 lavu: add a new API for reference-counted data buffers. 2013-03-08 07:33:03 +01:00
Ronald S. Bultje
65f1d45dcc lavu: add support for atomic operations.
These could be used for reference counting, or for keeping track of
decoding progress in references in multithreaded decoders.

Support is provided by gcc/msvc/suncc intrinsics, with a fallback using
pthread mutexes.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-08 07:32:36 +01:00
Alexander Kojevnikov
eae0879d96 mp3dec: Fix VBR bit rate parsing
When parsing the Xing/Info tag, don't set the bit rate if it's an Info tag.

When parsing the stream, don't override the bit rate if it's already set,
otherwise calculate the mean bit rate from parsed frames. This way, the bit
rate will be set correctly both for CBR and VBR streams.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-08 07:32:11 +01:00
Martin Storsjö
4be368b504 avstring: Fix isxdigit to not accept non-hex characters
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 16:46:46 +02:00
Diego Biurrun
870add0de9 configure: Add missing videodsp dependencies to some decoders 2013-03-07 15:36:56 +01:00
Diego Biurrun
dbd2a34ba5 build: cosmetics: Group hw accelerator Makefile entries together 2013-03-07 15:36:21 +01:00
Diego Biurrun
bcd0a7137e configure: Add missing h264chroma dependencies to vp5, vp6 2013-03-07 15:33:41 +01:00
Martin Storsjö
d88738e403 mpegvideo: Conditionally build error_resilience bits
This breaks the dependency of mpegvideo on error_resilience allowing
compilation of components that depend on the former w/o the latter.
2013-03-07 15:04:49 +01:00
Diego Biurrun
06b54e8425 build: Fix error_resilience code dependencies 2013-03-07 15:04:49 +01:00
Diego Biurrun
5f401b7b71 Add missing error_resilience includes to files that use ER 2013-03-07 15:04:49 +01:00
Reimar Döffinger
efa7f42020 Use the avstring.h locale-independent character type functions
Make sure the behavior does not change with the locale.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02:00
Reimar Döffinger
12c5c1d3e3 avstring: Add locale independent versions of some ctype.h functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:26 +02:00
2497 changed files with 184100 additions and 82328 deletions

9
.gitignore vendored
View File

@@ -6,6 +6,8 @@
*.dylib
*.exe
*.exp
*.gcda
*.gcno
*.h.c
*.ilk
*.lib
@@ -24,11 +26,13 @@
/ffprobe
/ffserver
/config.*
/coverage.info
/version.h
/doc/*.1
/doc/*.3
/doc/*.html
/doc/*.pod
/doc/config.texi
/doc/avoptions_codec.texi
/doc/avoptions_format.texi
/doc/examples/decoding_encoding
@@ -43,6 +47,7 @@
/doc/fate.txt
/doc/doxy/html/
/doc/print_options
/lcov/
/libavcodec/*_tablegen
/libavcodec/*_tables.c
/libavcodec/*_tables.h
@@ -52,15 +57,18 @@
/tests/data/
/tests/rotozoom
/tests/tiny_psnr
/tests/tiny_ssim
/tests/videogen
/tests/vsynth1/
/tools/aviocat
/tools/ffbisect
/tools/bisect.need
/tools/crypto_bench
/tools/cws2fws
/tools/fourcc2pixfmt
/tools/ffescape
/tools/ffeval
/tools/ffhash
/tools/graph2dot
/tools/ismindex
/tools/pktdumper
@@ -68,3 +76,4 @@
/tools/qt-faststart
/tools/trasher
/tools/seek_print
/tools/zmqsend

127
Changelog
View File

@@ -1,6 +1,127 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version <next>
version 2.1:
- aecho filter
- perspective filter ported from libmpcodecs
- ffprobe -show_programs option
- compand filter
- RTMP seek support
- when transcoding with ffmpeg (i.e. not streamcopying), -ss is now accurate
even when used as an input option. Previous behavior can be restored with
the -noaccurate_seek option.
- ffmpeg -t option can now be used for inputs, to limit the duration of
data read from an input file
- incomplete Voxware MetaSound decoder
- read EXIF metadata from JPEG
- DVB teletext decoder
- phase filter ported from libmpcodecs
- w3fdif filter
- Opus support in Matroska
- FFV1 version 1.3 is stable and no longer experimental
- FFV1: YUVA(444,422,420) 9, 10 and 16 bit support
- changed DTS stream id in lavf mpeg ps muxer from 0x8a to 0x88, to be
more consistent with other muxers.
- adelay filter
- pullup filter ported from libmpcodecs
- ffprobe -read_intervals option
- Lossless and alpha support for WebP decoder
- Error Resilient AAC syntax (ER AAC LC) decoding
- Low Delay AAC (ER AAC LD) decoding
- mux chapters in ASF files
- SFTP protocol (via libssh)
- libx264: add ability to encode in YUVJ422P and YUVJ444P
- Fraps: use BT.709 colorspace by default for yuv, as reference fraps decoder does
- make decoding alpha optional for prores, ffv1 and vp6 by setting
the skip_alpha flag.
- ladspa wrapper filter
- native VP9 decoder
- dpx parser
- max_error_rate parameter in ffmpeg
- PulseAudio output device
- ReplayGain scanner
- Enhanced Low Delay AAC (ER AAC ELD) decoding (no LD SBR support)
- Linux framebuffer output device
- HEVC decoder, raw HEVC demuxer, HEVC demuxing in TS, Matroska and MP4
- mergeplanes filter
version 2.0:
- curves filter
- reference-counting for AVFrame and AVPacket data
- ffmpeg now fails when input options are used for output file
or vice versa
- support for Monkey's Audio versions from 3.93
- perms and aperms filters
- audio filtering support in ffplay
- 10% faster aac encoding on x86 and MIPS
- sine audio filter source
- WebP demuxing and decoding support
- new ffmpeg options -filter_script and -filter_complex_script, which allow a
filtergraph description to be read from a file
- OpenCL support
- audio phaser filter
- separatefields filter
- libquvi demuxer
- uniform options syntax across all filters
- telecine filter
- new interlace filter
- smptehdbars source
- inverse telecine filters (fieldmatch and decimate)
- colorbalance filter
- colorchannelmixer filter
- The matroska demuxer can now output proper verbatim ASS packets. It will
become the default at the next libavformat major bump.
- decent native animated GIF encoding
- asetrate filter
- interleave filter
- timeline editing with filters
- vidstabdetect and vidstabtransform filters for video stabilization using
the vid.stab library
- astats filter
- trim and atrim filters
- ffmpeg -t and -ss (output-only) options are now sample-accurate when
transcoding audio
- Matroska muxer can now put the index at the beginning of the file.
- extractplanes filter
- avectorscope filter
- ADPCM DTK decoder
- ADP demuxer
- RSD demuxer
- RedSpark demuxer
- ADPCM IMA Radical decoder
- zmq filters
- DCT denoiser filter (dctdnoiz)
- Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
- Apple Intermediate Codec decoder
- Escape 130 video decoder
- FTP protocol support
- V4L2 output device
- 3D LUT filter (lut3d)
- SMPTE 302M audio encoder
- support for slice multithreading in libavfilter
- Hald CLUT support (generation and filtering)
- VC-1 interlaced B-frame support
- support for WavPack muxing (raw and in Matroska)
- XVideo output device
- vignette filter
- True Audio (TTA) encoder
- Go2Webinar decoder
- mcdeint filter ported from libmpcodecs
- sab filter ported from libmpcodecs
- ffprobe -show_chapters option
- WavPack encoding through libwavpack
- rotate filter
- spp filter ported from libmpcodecs
- libgme support
- psnr filter
version 1.2:
- VDPAU hardware acceleration through normal hwaccel
@@ -535,7 +656,7 @@ version 0.6:
- LPCM support in MPEG-TS (HDMV RID as found on Blu-ray disks)
- WMA Pro decoder
- Core Audio Format demuxer
- Atrac1 decoder
- ATRAC1 decoder
- MD STUDIO audio demuxer
- RF64 support in WAV demuxer
- MPEG-4 Audio Lossless Coding (ALS) decoder
@@ -635,7 +756,7 @@ version 0.5:
- MXF demuxer
- VC-1/WMV3/WMV9 video decoder
- MacIntel support
- AVISynth support
- AviSynth support
- VMware video decoder
- VP5 video decoder
- VP6 video decoder
@@ -663,7 +784,7 @@ version 0.5:
- Interplay C93 demuxer and video decoder
- Bethsoft VID demuxer and video decoder
- CRYO APC demuxer
- Atrac3 decoder
- ATRAC3 decoder
- V.Flash PTX decoder
- RoQ muxer, RoQ audio encoder
- Renderware TXD demuxer and decoder

20
LICENSE
View File

@@ -33,12 +33,17 @@ Specifically, the GPL parts of FFmpeg are
- vf_geq.c
- vf_histeq.c
- vf_hqdn3d.c
- vf_hue.c
- vf_kerndeint.c
- vf_mcdeint.c
- vf_mp.c
- vf_noise.c
- vf_owdenoise.c
- vf_perspective.c
- vf_phase.c
- vf_pp.c
- vf_pullup.c
- vf_sab.c
- vf_smartblur.c
- vf_spp.c
- vf_stereo3d.c
- vf_super2xsai.c
- vf_tinterlace.c
@@ -69,8 +74,15 @@ affect the licensing of binaries resulting from the combination.
compatible libraries
--------------------
The libcdio, libx264, libxavs and libxvid libraries are under GPL. When
combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
The following libraries are under GPL:
- frei0r
- libcdio
- libutvideo
- libvidstab
- libx264
- libxavs
- libxvid
When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
passing --enable-gpl to configure.
The OpenCORE and VisualOn libraries are under the Apache License 2.0. That

View File

@@ -7,8 +7,8 @@ FFmpeg code.
Please try to keep entries where you are the maintainer up to date!
Names in () mean that the maintainer currently has no time to maintain the code.
A CC after the name means that the maintainer prefers to be CC-ed on patches
and related discussions.
A (CC <address>) after the name means that the maintainer prefers to be CC-ed on
patches and related discussions.
Project Leader
@@ -43,16 +43,24 @@ QuickTime faststart:
Miscellaneous Areas
===================
documentation Mike Melanson
website Robert Swain, Lou Logan
documentation Stefano Sabatini, Mike Melanson, Timothy Gu
build system (configure,Makefiles) Diego Biurrun, Mans Rullgard
project server Árpád Gereöffy, Michael Niedermayer, Reimar Döffinger
mailinglists Michael Niedermayer, Baptiste Coudurier, Lou Logan
project server Árpád Gereöffy, Michael Niedermayer, Reimar Döffinger, Alexander Strasser
presets Robert Swain
metadata subsystem Aurelien Jacobs
release management Michael Niedermayer
Communication
=============
website Robert Swain, Lou Logan
mailinglists Michael Niedermayer, Baptiste Coudurier, Lou Logan
Google+ Paul B Mahol, Michael Niedermayer, Alexander Strasser
Twitter Lou Logan
Launchpad Timothy Gu
libavutil
=========
@@ -62,11 +70,23 @@ Internal Interfaces:
libavutil/common.h Michael Niedermayer
Other:
intfloat* Michael Niedermayer
rational.c, rational.h Michael Niedermayer
mathematics.c, mathematics.h Michael Niedermayer
integer.c, integer.h Michael Niedermayer
bprint Nicolas George
bswap.h
des Reimar Doeffinger
eval.c, eval.h Michael Niedermayer
float_dsp Loren Merritt
hash Reimar Doeffinger
intfloat* Michael Niedermayer
integer.c, integer.h Michael Niedermayer
lzo Reimar Doeffinger
mathematics.c, mathematics.h Michael Niedermayer
mem.c, mem.h Michael Niedermayer
opencl.c, opencl.h Wei Gao
opt.c, opt.h Michael Niedermayer
rational.c, rational.h Michael Niedermayer
rc4 Reimar Doeffinger
ripemd.c, ripemd.h James Almer
timecode Clément Bœsch
libavcodec
@@ -77,10 +97,6 @@ Generic Parts:
avcodec.h Michael Niedermayer
utility code:
utils.c Michael Niedermayer
mem.c Michael Niedermayer
opt.c, opt.h Michael Niedermayer
arithmetic expression evaluator:
eval.c Michael Niedermayer
audio and video frame extraction:
parser.c Michael Niedermayer
bitstream reading:
@@ -111,6 +127,8 @@ Generic Parts:
libpostproc/* Michael Niedermayer
table generation:
tableprint.c, tableprint.h Reimar Doeffinger
fixed point FFT:
fft* Zeljko Lukac
Codecs:
4xm.c Michael Niedermayer
@@ -129,8 +147,8 @@ Codecs:
binkaudio.c Peter Ross
bmp.c Mans Rullgard, Kostya Shishkov
cavs* Stefan Gehrer
celp_filters.* Vitor Sessak
cdxl.c Paul B Mahol
celp_filters.* Vitor Sessak
cinepak.c Roberto Togni
cljr Alex Beregszaszi
cllc.c Derek Buitenhuis
@@ -141,9 +159,10 @@ Codecs:
dca.c Kostya Shishkov, Benjamin Larsson
dnxhd* Baptiste Coudurier
dpcm.c Mike Melanson
dxa.c Kostya Shishkov
dv.c Roman Shaposhnik
dxa.c Kostya Shishkov
eacmv*, eaidct*, eat* Peter Ross
exif.c, exif.h Thilo Borgmann
ffv1.c Michael Niedermayer
ffwavesynth.c Nicolas George
flac* Justin Ruggles
@@ -152,9 +171,9 @@ Codecs:
g722.c Martin Storsjo
g726.c Roman Shaposhnik
gifdec.c Baptiste Coudurier
h264* Loren Merritt, Michael Niedermayer
h261* Michael Niedermayer
h263* Michael Niedermayer
h264* Loren Merritt, Michael Niedermayer
huffyuv.c Michael Niedermayer
idcinvideo.c Mike Melanson
imc* Benjamin Larsson
@@ -163,13 +182,14 @@ Codecs:
interplayvideo.c Mike Melanson
ivi* Kostya Shishkov
jacosub* Clément Bœsch
jpeg2000* Nicolas Bertrand
jpeg_ls.c Kostya Shishkov
jvdec.c Peter Ross
kmvc.c Kostya Shishkov
lcl*.c Roberto Togni, Reimar Doeffinger
libcelt_dec.c Nicolas George
libgsm.c Michel Bardiaux
libdirac* David Conrad
libgsm.c Michel Bardiaux
libopenjpeg.c Jaikrishnan Menon
libopenjpegenc.c Michael Bradshaw
libschroedinger* David Conrad
@@ -177,8 +197,8 @@ Codecs:
libtheoraenc.c David Conrad
libutvideo* Derek Buitenhuis
libvorbis.c David Conrad
libxavs.c Stefan Gehrer
libx264.c Mans Rullgard, Jason Garrett-Glaser
libxavs.c Stefan Gehrer
loco.c Kostya Shishkov
lzo.h, lzo.c Reimar Doeffinger
mdec.c Michael Niedermayer
@@ -189,6 +209,7 @@ Codecs:
mpc* Kostya Shishkov
mpeg12.c, mpeg12data.h Michael Niedermayer
mpegvideo.c, mpegvideo.h Michael Niedermayer
mqc* Nicolas Bertrand
msmpeg4.c, msmpeg4data.h Michael Niedermayer
msrle.c Mike Melanson
msvideo1.c Mike Melanson
@@ -214,6 +235,7 @@ Codecs:
s3tc* Ivo van Poorten
smacker.c Kostya Shishkov
smc.c Mike Melanson
smvjpegdec.c Ash Hughes
snow.c Michael Niedermayer, Loren Merritt
sonic.c Alex Beregszaszi
srt* Aurelien Jacobs
@@ -227,6 +249,7 @@ Codecs:
truespeech.c Kostya Shishkov
tscc.c Kostya Shishkov
tta.c Alex Beregszaszi, Jaikrishnan Menon
ttaenc.c Paul B Mahol
txd.c Ivo van Poorten
ulti* Kostya Shishkov
v410*.c Derek Buitenhuis
@@ -237,8 +260,8 @@ Codecs:
vda_h264_dec.c Xidorn Quan
vima.c Paul B Mahol
vmnc.c Kostya Shishkov
vorbis_enc.c Oded Shimon
vorbis_dec.c Denes Balatoni, David Conrad
vorbis_enc.c Oded Shimon
vp3* Mike Melanson
vp5 Aurelien Jacobs
vp6 Aurelien Jacobs
@@ -251,6 +274,7 @@ Codecs:
wnv1.c Kostya Shishkov
xan.c Mike Melanson
xbm* Paul B Mahol
xface Stefano Sabatini
xl.c Kostya Shishkov
xvmc.c Ivan Kalvachev
xwd* Paul B Mahol
@@ -272,11 +296,15 @@ libavdevice
libavdevice/avdevice.h
dshow.c Roger Pack
fbdev_enc.c Lukasz Marek
iec61883.c Georg Lippitsch
lavfi Stefano Sabatini
libdc1394.c Roman Shaposhnik
pulse_audio_enc.c Lukasz Marek
sdl Stefano Sabatini
v4l2.c Luca Abeni
vfwcap.c Ramiro Polla
dshow.c Roger Pack
libavfilter
===========
@@ -285,10 +313,33 @@ Generic parts:
graphdump.c Nicolas George
Filters:
af_adelay.c Paul B Mahol
af_aecho.c Paul B Mahol
af_afade.c Paul B Mahol
af_amerge.c Nicolas George
af_aphaser.c Paul B Mahol
af_aresample.c Michael Niedermayer
af_astats.c Paul B Mahol
af_astreamsync.c Nicolas George
af_atempo.c Pavel Koshevoy
af_biquads.c Paul B Mahol
af_compand.c Paul B Mahol
af_ladspa.c Paul B Mahol
af_pan.c Nicolas George
avf_avectorscope.c Paul B Mahol
vf_blend.c Paul B Mahol
vf_colorbalance.c Paul B Mahol
vf_delogo.c Jean Delvare (CC <khali@linux-fr.org>)
vf_drawbox.c/drawgrid Andrey Utkin
vf_extractplanes.c Paul B Mahol
vf_histogram.c Paul B Mahol
vf_il.c Paul B Mahol
vf_mergeplanes.c Paul B Mahol
vf_psnr.c Paul B Mahol
vf_scale.c Michael Niedermayer
vf_separatefields.c Paul B Mahol
vf_stereo3d.c Paul B Mahol
vf_telecine.c Paul B Mahol
vf_yadif.c Michael Niedermayer
Sources:
@@ -308,12 +359,14 @@ Muxers/Demuxers:
4xm.c Mike Melanson
adtsenc.c Robert Swain
afc.c Paul B Mahol
aiff.c Baptiste Coudurier
aiffdec.c Baptiste Coudurier, Matthieu Bouron
aiffenc.c Baptiste Coudurier, Matthieu Bouron
ape.c Kostya Shishkov
ass* Aurelien Jacobs
astdec.c Paul B Mahol
astenc.c James Almer
avi* Michael Niedermayer
avisynth.c AvxSynth Team (avxsynth.testing at gmail dot com)
avr.c Paul B Mahol
bink.c Peter Ross
brstm.c Paul B Mahol
@@ -335,8 +388,8 @@ Muxers/Demuxers:
idcin.c Mike Melanson
idroqdec.c Mike Melanson
iff.c Jaikrishnan Menon
ipmovie.c Mike Melanson
img2*.c Michael Niedermayer
ipmovie.c Mike Melanson
ircam* Paul B Mahol
iss.c Stefan Gehrer
jacosub* Clément Bœsch
@@ -350,11 +403,11 @@ Muxers/Demuxers:
matroskadec.c Aurelien Jacobs
matroskaenc.c David Conrad
metadata* Aurelien Jacobs
microdvd* Aurelien Jacobs
mgsts.c Paul B Mahol
microdvd* Aurelien Jacobs
mm.c Peter Ross
mov.c Michael Niedermayer, Baptiste Coudurier
movenc.c Michael Niedermayer, Baptiste Coudurier
movenc.c Baptiste Coudurier, Matthieu Bouron
mpc.c Kostya Shishkov
mpeg.c Michael Niedermayer
mpegenc.c Michael Niedermayer
@@ -399,6 +452,7 @@ Muxers/Demuxers:
voc.c Aurelien Jacobs
wav.c Michael Niedermayer
wc3movie.c Mike Melanson
webvtt* Matthew J Heaney
westwood.c Mike Melanson
wtv.c Peter Ross
wv.c Kostya Shishkov
@@ -406,7 +460,9 @@ Muxers/Demuxers:
Protocols:
bluray.c Petri Hintukainen
ftp.c Lukasz Marek
http.c Ronald S. Bultje
libssh.c Lukasz Marek
mms*.c Ronald S. Bultje
udp.c Luca Abeni
@@ -431,7 +487,7 @@ Operating systems / CPU architectures
Alpha Mans Rullgard, Falk Hueffner
ARM Mans Rullgard
AVR32 Mans Rullgard
MIPS Mans Rullgard
MIPS Mans Rullgard, Nedeljko Babic
Mac OS X / PowerPC Romain Dolbeau, Guillaume Poirier
Amiga / PowerPC Colin Ward
Linux / PowerPC Luca Barbato
@@ -445,17 +501,19 @@ x86 Michael Niedermayer
Releases
========
1.2 Michael Niedermayer
1.1 Michael Niedermayer
1.0 Michael Niedermayer
2.1 Michael Niedermayer
2.0 Michael Niedermayer
If you want to maintain an older release, please contact us
GnuPG Fingerprints of maintainers and contributors
==================================================
Alexander Strasser 1C96 78B7 83CB 8AA7 9AF5 D1EB A7D8 A57B A876 E58F
Anssi Hannula 1A92 FF42 2DD9 8D2E 8AF7 65A9 4278 C520 513D F3CB
Anton Khirnov 6D0C 6625 56F8 65D1 E5F5 814B B50A 1241 C067 07AB
Ash Hughes 694D 43D2 D180 C7C7 6421 ABD3 A641 D0B7 623D 6029
Attila Kinali 11F0 F9A6 A1D2 11F6 C745 D10C 6520 BCDD F2DF E765
Baptiste Coudurier 8D77 134D 20CC 9220 201F C5DB 0AC9 325C 5C1A BAAA
Ben Littler 3EE3 3723 E560 3214 A8CD 4DEB 2CDB FCE7 768C 8D2C
@@ -463,8 +521,10 @@ Benoit Fouet B22A 4F4F 43EF 636B BB66 FCDC 0023 AE1E 2985 49C8
Bœsch Clément 52D0 3A82 D445 F194 DB8B 2B16 87EE 2CB8 F4B8 FCF9
Daniel Verkamp 78A6 07ED 782C 653E C628 B8B9 F0EB 8DD8 2F0E 21C7
Diego Biurrun 8227 1E31 B6D9 4994 7427 E220 9CAE D6CC 4757 FCC5
FFmpeg release signing key FCF9 86EA 15E6 E293 A564 4F10 B432 2F04 D676 58D8
Gwenole Beauchesne 2E63 B3A6 3E44 37E2 017D 2704 53C7 6266 B153 99C4
Jaikrishnan Menon 61A1 F09F 01C9 2D45 78E1 C862 25DC 8831 AF70 D368
Jean Delvare 7CA6 9F44 60F1 BDC4 1FD2 C858 A552 6B9B B3CD 4E6A
Justin Ruggles 3136 ECC0 C10D 6C04 5F43 CA29 FCBE CD2A 3787 1EBF
Loren Merritt ABD9 08F4 C920 3F65 D8BE 35D7 1540 DAA7 060F 56DE
Lou Logan 7D68 DC73 CBEF EABB 671A B6CF 621C 2E28 82F8 DC3A
@@ -481,3 +541,4 @@ Sascha Sommer 38A0 F88B 868E 9D3A 97D4 D6A0 E823 706F 1E07 0D3C
Stefano Sabatini 0D0B AD6B 5330 BBAD D3D6 6A0C 719C 2839 FC43 2D5F
Stephan Hilb 4F38 0B3A 5F39 B99B F505 E562 8D5C 5554 4E17 8863
Tomas Härdin A79D 4E3D F38F 763F 91F5 8B33 A01E 8AE0 41BB 2551
Wei Gao 4269 7741 857A 0E60 9EC5 08D2 4744 4EFA 62C1 87B9

View File

@@ -20,7 +20,7 @@ INSTPROGS = $(PROGS-yes:%=%$(PROGSSUF)$(EXESUF))
OBJS = cmdutils.o $(EXEOBJS)
OBJS-ffmpeg = ffmpeg_opt.o ffmpeg_filter.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr base64
TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64
HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
TOOLS = qt-faststart trasher
TOOLS-$(CONFIG_ZLIB) += cws2fws
@@ -28,7 +28,6 @@ TOOLS-$(CONFIG_ZLIB) += cws2fws
BASENAMES = ffmpeg ffplay ffprobe ffserver
ALLPROGS = $(BASENAMES:%=%$(PROGSSUF)$(EXESUF))
ALLPROGS_G = $(BASENAMES:%=%$(PROGSSUF)_g$(EXESUF))
ALLMANPAGES = $(BASENAMES:%=%.1)
FFLIBS-$(CONFIG_AVDEVICE) += avdevice
FFLIBS-$(CONFIG_AVFILTER) += avfilter
@@ -44,7 +43,7 @@ FFLIBS := avutil
DATA_FILES := $(wildcard $(SRC_PATH)/presets/*.ffpreset) $(SRC_PATH)/doc/ffprobe.xsd
EXAMPLES_FILES := $(wildcard $(SRC_PATH)/doc/examples/*.c) $(SRC_PATH)/doc/examples/Makefile $(SRC_PATH)/doc/examples/README
SKIPHEADERS = cmdutils_common_opts.h
SKIPHEADERS = cmdutils_common_opts.h compat/w32pthreads.h
include $(SRC_PATH)/common.mak
@@ -154,25 +153,16 @@ clean::
$(RM) $(ALLPROGS) $(ALLPROGS_G)
$(RM) $(CLEANSUFFIXES)
$(RM) $(CLEANSUFFIXES:%=tools/%)
$(RM) coverage.info
$(RM) -r coverage-html
$(RM) -rf coverage.info lcov
distclean::
$(RM) $(DISTCLEANSUFFIXES)
$(RM) config.* .version version.h libavutil/avconfig.h libavcodec/codec_names.h
$(RM) config.* .config libavutil/avconfig.h .version version.h libavcodec/codec_names.h
config:
$(SRC_PATH)/configure $(value FFMPEG_CONFIGURATION)
# Without the sed genthml thinks "libavutil" and "./libavutil" are two different things
coverage.info: $(wildcard *.gcda *.gcno */*.gcda */*.gcno */*/*.gcda */*/*.gcno)
$(Q)lcov -c -d . -b . | sed -e 's#/./#/#g' > $@
coverage-html: coverage.info
$(Q)mkdir -p $@
$(Q)genhtml -o $@ $<
$(Q)touch $@
check: all alltools examples testprogs fate
include $(SRC_PATH)/doc/Makefile

View File

@@ -1 +1 @@
1.2
2.1.8

View File

@@ -1 +1 @@
1.2
2.1.8

View File

@@ -36,9 +36,7 @@
#include "libavresample/avresample.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#if CONFIG_POSTPROC
#include "libpostproc/postprocess.h"
#endif
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
@@ -49,6 +47,7 @@
#include "libavutil/eval.h"
#include "libavutil/dict.h"
#include "libavutil/opt.h"
#include "libavutil/cpu.h"
#include "cmdutils.h"
#include "version.h"
#if CONFIG_NETWORK
@@ -58,6 +57,10 @@
#include <sys/time.h>
#include <sys/resource.h>
#endif
#if CONFIG_OPENCL
#include "libavutil/opencl.h"
#endif
static int init_report(const char *env);
@@ -65,7 +68,7 @@ struct SwsContext *sws_opts;
AVDictionary *swr_opts;
AVDictionary *format_opts, *codec_opts, *resample_opts;
const int this_year = 2013;
const int this_year = 2015;
static FILE *report_file;
@@ -109,6 +112,21 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v
fflush(report_file);
}
static void (*program_exit)(int ret);
void register_exit(void (*cb)(int ret))
{
program_exit = cb;
}
void exit_program(int ret)
{
if (program_exit)
program_exit(ret);
exit(ret);
}
double parse_number_or_die(const char *context, const char *numstr, int type,
double min, double max)
{
@@ -126,7 +144,7 @@ double parse_number_or_die(const char *context, const char *numstr, int type,
else
return d;
av_log(NULL, AV_LOG_FATAL, error, context, numstr, min, max);
exit(1);
exit_program(1);
return 0;
}
@@ -137,7 +155,7 @@ int64_t parse_time_or_die(const char *context, const char *timestr,
if (av_parse_time(&us, timestr, is_duration) < 0) {
av_log(NULL, AV_LOG_FATAL, "Invalid %s specification for %s: %s\n",
is_duration ? "duration" : "date", context, timestr);
exit(1);
exit_program(1);
}
return us;
}
@@ -196,7 +214,10 @@ static const OptionDef *find_option(const OptionDef *po, const char *name)
return po;
}
#if HAVE_COMMANDLINETOARGVW
/* _WIN32 means using the windows libc - cygwin doesn't define that
* by default. HAVE_COMMANDLINETOARGVW is true on cygwin, while
* it doesn't provide the actual command line via GetCommandLineW(). */
#if HAVE_COMMANDLINETOARGVW && defined(_WIN32)
#include <windows.h>
#include <shellapi.h>
/* Will be leaked on exit */
@@ -280,7 +301,7 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
if (po->flags & OPT_STRING) {
char *str;
str = av_strdup(arg);
// av_freep(dst);
av_freep(dst);
*(char **)dst = str;
} else if (po->flags & OPT_BOOL || po->flags & OPT_INT) {
*(int *)dst = parse_number_or_die(opt, arg, OPT_INT64, INT_MIN, INT_MAX);
@@ -296,12 +317,13 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
int ret = po->u.func_arg(optctx, opt, arg);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR,
"Failed to set value '%s' for option '%s'\n", arg, opt);
"Failed to set value '%s' for option '%s': %s\n",
arg, opt, av_err2str(ret));
return ret;
}
}
if (po->flags & OPT_EXIT)
exit(0);
exit_program(0);
return 0;
}
@@ -361,7 +383,7 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options
opt++;
if ((ret = parse_option(optctx, opt, argv[optindex], options)) < 0)
exit(1);
exit_program(1);
optindex += ret;
} else {
if (parse_arg_function)
@@ -380,6 +402,16 @@ int parse_optgroup(void *optctx, OptionGroup *g)
for (i = 0; i < g->nb_opts; i++) {
Option *o = &g->opts[i];
if (g->group_def->flags &&
!(g->group_def->flags & o->opt->flags)) {
av_log(NULL, AV_LOG_ERROR, "Option %s (%s) cannot be applied to "
"%s %s -- you are trying to apply an input option to an "
"output file or vice versa. Move this option before the "
"file it belongs to.\n", o->key, o->opt->help,
g->group_def->name, g->arg);
return AVERROR(EINVAL);
}
av_log(NULL, AV_LOG_DEBUG, "Applying option %s (%s) with argument %s.\n",
o->key, o->opt->help, o->val);
@@ -466,6 +498,15 @@ void parse_loglevel(int argc, char **argv, const OptionDef *options)
}
}
static const AVOption *opt_find(void *obj, const char *name, const char *unit,
int opt_flags, int search_flags)
{
const AVOption *o = av_opt_find(obj, name, unit, opt_flags, search_flags);
if(o && !o->flags)
return NULL;
return o;
}
#define FLAGS (o->type == AV_OPT_TYPE_FLAGS) ? AV_DICT_APPEND : 0
int opt_default(void *optctx, const char *opt, const char *arg)
{
@@ -486,23 +527,23 @@ int opt_default(void *optctx, const char *opt, const char *arg)
p = opt + strlen(opt);
av_strlcpy(opt_stripped, opt, FFMIN(sizeof(opt_stripped), p - opt + 1));
if ((o = av_opt_find(&cc, opt_stripped, NULL, 0,
if ((o = opt_find(&cc, opt_stripped, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ)) ||
((opt[0] == 'v' || opt[0] == 'a' || opt[0] == 's') &&
(o = av_opt_find(&cc, opt + 1, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ)))) {
(o = opt_find(&cc, opt + 1, NULL, 0, AV_OPT_SEARCH_FAKE_OBJ)))) {
av_dict_set(&codec_opts, opt, arg, FLAGS);
consumed = 1;
}
if ((o = av_opt_find(&fc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
if ((o = opt_find(&fc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
av_dict_set(&format_opts, opt, arg, FLAGS);
if(consumed)
av_log(NULL, AV_LOG_VERBOSE, "Routing %s to codec and muxer layer\n", opt);
if (consumed)
av_log(NULL, AV_LOG_VERBOSE, "Routing option %s to both codec and muxer layer\n", opt);
consumed = 1;
}
#if CONFIG_SWSCALE
sc = sws_get_class();
if (!consumed && av_opt_find(&sc, opt, NULL, 0,
if (!consumed && opt_find(&sc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ)) {
// XXX we only support sws_flags, not arbitrary sws options
int ret = av_opt_set(sws_opts, opt, arg, 0);
@@ -515,7 +556,7 @@ int opt_default(void *optctx, const char *opt, const char *arg)
#endif
#if CONFIG_SWRESAMPLE
swr_class = swr_get_class();
if (!consumed && (o=av_opt_find(&swr_class, opt, NULL, 0,
if (!consumed && (o=opt_find(&swr_class, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
struct SwrContext *swr = swr_alloc();
int ret = av_opt_set(swr, opt, arg, 0);
@@ -529,7 +570,7 @@ int opt_default(void *optctx, const char *opt, const char *arg)
}
#endif
#if CONFIG_AVRESAMPLE
if ((o=av_opt_find(&rc, opt, NULL, 0,
if ((o=opt_find(&rc, opt, NULL, 0,
AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ))) {
av_dict_set(&resample_opts, opt, arg, FLAGS);
consumed = 1;
@@ -624,7 +665,7 @@ static void init_parse_context(OptionParseContext *octx,
octx->nb_groups = nb_groups;
octx->groups = av_mallocz(sizeof(*octx->groups) * octx->nb_groups);
if (!octx->groups)
exit(1);
exit_program(1);
for (i = 0; i < octx->nb_groups; i++)
octx->groups[i].group_def = &groups[i];
@@ -768,6 +809,18 @@ do { \
return 0;
}
int opt_cpuflags(void *optctx, const char *opt, const char *arg)
{
int ret;
unsigned flags = av_get_cpu_flags();
if ((ret = av_parse_cpu_caps(&flags, arg)) < 0)
return ret;
av_force_cpu_flags(flags);
return 0;
}
int opt_loglevel(void *optctx, const char *opt, const char *arg)
{
const struct { const char *name; int level; } log_levels[] = {
@@ -784,6 +837,13 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
int level;
int i;
tail = strstr(arg, "repeat");
av_log_set_flags(tail ? 0 : AV_LOG_SKIP_REPEATED);
if (tail == arg)
arg += 6 + (arg[6]=='+');
if(tail && !*arg)
return 0;
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++) {
if (!strcmp(log_levels[i].name, arg)) {
av_log_set_level(log_levels[i].level);
@@ -797,7 +857,7 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg)
"Possible levels are numbers or:\n", arg);
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++)
av_log(NULL, AV_LOG_FATAL, "\"%s\"\n", log_levels[i].name);
exit(1);
exit_program(1);
}
av_log_set_level(level);
return 0;
@@ -890,7 +950,6 @@ static int init_report(const char *env)
tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
tm->tm_hour, tm->tm_min, tm->tm_sec,
filename.str);
av_log_set_level(FFMAX(av_log_get_level(), AV_LOG_VERBOSE));
av_bprint_finalize(&filename, NULL);
return 0;
}
@@ -908,24 +967,12 @@ int opt_max_alloc(void *optctx, const char *opt, const char *arg)
max = strtol(arg, &tail, 10);
if (*tail) {
av_log(NULL, AV_LOG_FATAL, "Invalid max_alloc \"%s\".\n", arg);
exit(1);
exit_program(1);
}
av_max_alloc(max);
return 0;
}
int opt_cpuflags(void *optctx, const char *opt, const char *arg)
{
int ret;
unsigned flags = av_get_cpu_flags();
if ((ret = av_parse_cpu_caps(&flags, arg)) < 0)
return ret;
av_force_cpu_flags(flags);
return 0;
}
int opt_timelimit(void *optctx, const char *opt, const char *arg)
{
#if HAVE_SETRLIMIT
@@ -939,6 +986,26 @@ int opt_timelimit(void *optctx, const char *opt, const char *arg)
return 0;
}
#if CONFIG_OPENCL
int opt_opencl(void *optctx, const char *opt, const char *arg)
{
char *key, *value;
const char *opts = arg;
int ret = 0;
while (*opts) {
ret = av_opt_get_key_value(&opts, "=", ":", 0, &key, &value);
if (ret < 0)
return ret;
ret = av_opencl_set_option(key, value);
if (ret < 0)
return ret;
if (*opts)
opts++;
}
return ret;
}
#endif
void print_error(const char *filename, int err)
{
char errbuf[128];
@@ -991,12 +1058,10 @@ static void print_all_libs_info(int flags, int level)
PRINT_LIB_INFO(avformat, AVFORMAT, flags, level);
PRINT_LIB_INFO(avdevice, AVDEVICE, flags, level);
PRINT_LIB_INFO(avfilter, AVFILTER, flags, level);
// PRINT_LIB_INFO(avresample, AVRESAMPLE, flags, level);
PRINT_LIB_INFO(avresample, AVRESAMPLE, flags, level);
PRINT_LIB_INFO(swscale, SWSCALE, flags, level);
PRINT_LIB_INFO(swresample,SWRESAMPLE, flags, level);
#if CONFIG_POSTPROC
PRINT_LIB_INFO(postproc, POSTPROC, flags, level);
#endif
}
static void print_program_info(int flags, int level)
@@ -1176,7 +1241,8 @@ static void print_codec(const AVCodec *c)
printf("%s %s [%s]:\n", encoder ? "Encoder" : "Decoder", c->name,
c->long_name ? c->long_name : "");
if (c->type == AVMEDIA_TYPE_VIDEO) {
if (c->type == AVMEDIA_TYPE_VIDEO ||
c->type == AVMEDIA_TYPE_AUDIO) {
printf(" Threading capabilities: ");
switch (c->capabilities & (CODEC_CAP_FRAME_THREADS |
CODEC_CAP_SLICE_THREADS)) {
@@ -1257,7 +1323,7 @@ static unsigned get_codecs_sorted(const AVCodecDescriptor ***rcodecs)
nb_codecs++;
if (!(codecs = av_calloc(nb_codecs, sizeof(*codecs)))) {
av_log(NULL, AV_LOG_ERROR, "Out of memory\n");
exit(1);
exit_program(1);
}
desc = NULL;
while ((desc = avcodec_descriptor_next(desc)))
@@ -1410,36 +1476,60 @@ int show_protocols(void *optctx, const char *opt, const char *arg)
int show_filters(void *optctx, const char *opt, const char *arg)
{
AVFilter av_unused(**filter) = NULL;
const AVFilter av_unused(*filter) = NULL;
char descr[64], *descr_cur;
int i, j;
const AVFilterPad *pad;
printf("Filters:\n");
printf("Filters:\n"
" T.. = Timeline support\n"
" .S. = Slice threading\n"
" ..C = Commmand support\n"
" A = Audio input/output\n"
" V = Video input/output\n"
" N = Dynamic number and/or type of input/output\n"
" | = Source or sink filter\n");
#if CONFIG_AVFILTER
while ((filter = av_filter_next(filter)) && *filter) {
while ((filter = avfilter_next(filter))) {
descr_cur = descr;
for (i = 0; i < 2; i++) {
if (i) {
*(descr_cur++) = '-';
*(descr_cur++) = '>';
}
pad = i ? (*filter)->outputs : (*filter)->inputs;
pad = i ? filter->outputs : filter->inputs;
for (j = 0; pad && pad[j].name; j++) {
if (descr_cur >= descr + sizeof(descr) - 4)
break;
*(descr_cur++) = get_media_type_char(pad[j].type);
}
if (!j)
*(descr_cur++) = '|';
*(descr_cur++) = ((!i && (filter->flags & AVFILTER_FLAG_DYNAMIC_INPUTS)) ||
( i && (filter->flags & AVFILTER_FLAG_DYNAMIC_OUTPUTS))) ? 'N' : '|';
}
*descr_cur = 0;
printf("%-16s %-10s %s\n", (*filter)->name, descr, (*filter)->description);
printf(" %c%c%c %-16s %-10s %s\n",
filter->flags & AVFILTER_FLAG_SUPPORT_TIMELINE ? 'T' : '.',
filter->flags & AVFILTER_FLAG_SLICE_THREADS ? 'S' : '.',
filter->process_command ? 'C' : '.',
filter->name, descr, filter->description);
}
#endif
return 0;
}
void show_colors(void *optctx, const char *opt, const char *arg)
{
const char *name;
const uint8_t *rgb;
int i;
printf("%-32s #RRGGBB\n", "name");
for (i = 0; name = av_get_known_color_name(i, &rgb); i++)
printf("%-32s #%02x%02x%02x\n", name, rgb[0], rgb[1], rgb[2]);
}
int show_pix_fmts(void *optctx, const char *opt, const char *arg)
{
const AVPixFmtDescriptor *pix_desc = NULL;
@@ -1461,11 +1551,11 @@ int show_pix_fmts(void *optctx, const char *opt, const char *arg)
while ((pix_desc = av_pix_fmt_desc_next(pix_desc))) {
enum AVPixelFormat pix_fmt = av_pix_fmt_desc_get_id(pix_desc);
printf("%c%c%c%c%c %-16s %d %2d\n",
sws_isSupportedInput (pix_fmt) ? 'I' : '.',
sws_isSupportedOutput(pix_fmt) ? 'O' : '.',
pix_desc->flags & PIX_FMT_HWACCEL ? 'H' : '.',
pix_desc->flags & PIX_FMT_PAL ? 'P' : '.',
pix_desc->flags & PIX_FMT_BITSTREAM ? 'B' : '.',
sws_isSupportedInput (pix_fmt) ? 'I' : '.',
sws_isSupportedOutput(pix_fmt) ? 'O' : '.',
pix_desc->flags & AV_PIX_FMT_FLAG_HWACCEL ? 'H' : '.',
pix_desc->flags & AV_PIX_FMT_FLAG_PAL ? 'P' : '.',
pix_desc->flags & AV_PIX_FMT_FLAG_BITSTREAM ? 'B' : '.',
pix_desc->name,
pix_desc->nb_components,
av_get_bits_per_pixel(pix_desc));
@@ -1597,6 +1687,62 @@ static void show_help_muxer(const char *name)
show_help_children(fmt->priv_class, AV_OPT_FLAG_ENCODING_PARAM);
}
#if CONFIG_AVFILTER
static void show_help_filter(const char *name)
{
#if CONFIG_AVFILTER
const AVFilter *f = avfilter_get_by_name(name);
int i, count;
if (!name) {
av_log(NULL, AV_LOG_ERROR, "No filter name specified.\n");
return;
} else if (!f) {
av_log(NULL, AV_LOG_ERROR, "Unknown filter '%s'.\n", name);
return;
}
printf("Filter %s\n", f->name);
if (f->description)
printf(" %s\n", f->description);
if (f->flags & AVFILTER_FLAG_SLICE_THREADS)
printf(" slice threading supported\n");
printf(" Inputs:\n");
count = avfilter_pad_count(f->inputs);
for (i = 0; i < count; i++) {
printf(" #%d: %s (%s)\n", i, avfilter_pad_get_name(f->inputs, i),
media_type_string(avfilter_pad_get_type(f->inputs, i)));
}
if (f->flags & AVFILTER_FLAG_DYNAMIC_INPUTS)
printf(" dynamic (depending on the options)\n");
else if (!count)
printf(" none (source filter)\n");
printf(" Outputs:\n");
count = avfilter_pad_count(f->outputs);
for (i = 0; i < count; i++) {
printf(" #%d: %s (%s)\n", i, avfilter_pad_get_name(f->outputs, i),
media_type_string(avfilter_pad_get_type(f->outputs, i)));
}
if (f->flags & AVFILTER_FLAG_DYNAMIC_OUTPUTS)
printf(" dynamic (depending on the options)\n");
else if (!count)
printf(" none (sink filter)\n");
if (f->priv_class)
show_help_children(f->priv_class, AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_FILTERING_PARAM |
AV_OPT_FLAG_AUDIO_PARAM);
if (f->flags & AVFILTER_FLAG_SUPPORT_TIMELINE)
printf("This filter has support for timeline through the 'enable' option.\n");
#else
av_log(NULL, AV_LOG_ERROR, "Build without libavfilter; "
"can not to satisfy request\n");
#endif
}
#endif
int show_help(void *optctx, const char *opt, const char *arg)
{
char *topic, *par;
@@ -1617,6 +1763,10 @@ int show_help(void *optctx, const char *opt, const char *arg)
show_help_demuxer(par);
} else if (!strcmp(topic, "muxer")) {
show_help_muxer(par);
#if CONFIG_AVFILTER
} else if (!strcmp(topic, "filter")) {
show_help_filter(par);
#endif
} else {
show_help_default(topic, par);
}
@@ -1816,13 +1966,13 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
{
if (new_size >= INT_MAX / elem_size) {
av_log(NULL, AV_LOG_ERROR, "Array too big.\n");
exit(1);
exit_program(1);
}
if (*size < new_size) {
uint8_t *tmp = av_realloc(array, new_size*elem_size);
if (!tmp) {
av_log(NULL, AV_LOG_ERROR, "Could not alloc buffer.\n");
exit(1);
exit_program(1);
}
memset(tmp + *size*elem_size, 0, (new_size-*size) * elem_size);
*size = new_size;
@@ -1830,144 +1980,3 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
}
return array;
}
static int alloc_buffer(FrameBuffer **pool, AVCodecContext *s, FrameBuffer **pbuf)
{
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(s->pix_fmt);
FrameBuffer *buf;
int i, ret;
int pixel_size;
int h_chroma_shift, v_chroma_shift;
int edge = 32; // XXX should be avcodec_get_edge_width(), but that fails on svq1
int w = s->width, h = s->height;
if (!desc)
return AVERROR(EINVAL);
pixel_size = desc->comp[0].step_minus1 + 1;
buf = av_mallocz(sizeof(*buf));
if (!buf)
return AVERROR(ENOMEM);
avcodec_align_dimensions(s, &w, &h);
if (!(s->flags & CODEC_FLAG_EMU_EDGE)) {
w += 2*edge;
h += 2*edge;
}
if ((ret = av_image_alloc(buf->base, buf->linesize, w, h,
s->pix_fmt, 32)) < 0) {
av_freep(&buf);
av_log(s, AV_LOG_ERROR, "alloc_buffer: av_image_alloc() failed\n");
return ret;
}
avcodec_get_chroma_sub_sample(s->pix_fmt, &h_chroma_shift, &v_chroma_shift);
for (i = 0; i < FF_ARRAY_ELEMS(buf->data); i++) {
const int h_shift = i==0 ? 0 : h_chroma_shift;
const int v_shift = i==0 ? 0 : v_chroma_shift;
if ((s->flags & CODEC_FLAG_EMU_EDGE) || !buf->linesize[i] || !buf->base[i])
buf->data[i] = buf->base[i];
else
buf->data[i] = buf->base[i] +
FFALIGN((buf->linesize[i]*edge >> v_shift) +
(pixel_size*edge >> h_shift), 32);
}
buf->w = s->width;
buf->h = s->height;
buf->pix_fmt = s->pix_fmt;
buf->pool = pool;
*pbuf = buf;
return 0;
}
int codec_get_buffer(AVCodecContext *s, AVFrame *frame)
{
FrameBuffer **pool = s->opaque;
FrameBuffer *buf;
int ret, i;
if(av_image_check_size(s->width, s->height, 0, s) || s->pix_fmt<0) {
av_log(s, AV_LOG_ERROR, "codec_get_buffer: image parameters invalid\n");
return -1;
}
if (!*pool && (ret = alloc_buffer(pool, s, pool)) < 0)
return ret;
buf = *pool;
*pool = buf->next;
buf->next = NULL;
if (buf->w != s->width || buf->h != s->height || buf->pix_fmt != s->pix_fmt) {
av_freep(&buf->base[0]);
av_free(buf);
if ((ret = alloc_buffer(pool, s, &buf)) < 0)
return ret;
}
av_assert0(!buf->refcount);
buf->refcount++;
frame->opaque = buf;
frame->type = FF_BUFFER_TYPE_USER;
frame->extended_data = frame->data;
for (i = 0; i < FF_ARRAY_ELEMS(buf->data); i++) {
frame->base[i] = buf->base[i]; // XXX h264.c uses base though it shouldn't
frame->data[i] = buf->data[i];
frame->linesize[i] = buf->linesize[i];
}
return 0;
}
static void unref_buffer(FrameBuffer *buf)
{
FrameBuffer **pool = buf->pool;
av_assert0(buf->refcount > 0);
buf->refcount--;
if (!buf->refcount) {
FrameBuffer *tmp;
for(tmp= *pool; tmp; tmp= tmp->next)
av_assert1(tmp != buf);
buf->next = *pool;
*pool = buf;
}
}
void codec_release_buffer(AVCodecContext *s, AVFrame *frame)
{
FrameBuffer *buf = frame->opaque;
int i;
if(frame->type!=FF_BUFFER_TYPE_USER) {
avcodec_default_release_buffer(s, frame);
return;
}
for (i = 0; i < FF_ARRAY_ELEMS(frame->data); i++)
frame->data[i] = NULL;
unref_buffer(buf);
}
void filter_release_buffer(AVFilterBuffer *fb)
{
FrameBuffer *buf = fb->priv;
av_free(fb);
unref_buffer(buf);
}
void free_buffer_pool(FrameBuffer **pool)
{
FrameBuffer *buf = *pool;
while (buf) {
*pool = buf->next;
av_freep(&buf->base[0]);
av_free(buf);
buf = *pool;
}
}

View File

@@ -54,6 +54,16 @@ extern struct SwsContext *sws_opts;
extern AVDictionary *swr_opts;
extern AVDictionary *format_opts, *codec_opts, *resample_opts;
/**
* Register a program-specific cleanup routine.
*/
void register_exit(void (*cb)(int ret));
/**
* Wraps exit with a program-specific cleanup routine.
*/
void exit_program(int ret);
/**
* Initialize the cmdutils option system, in particular
* allocate the *_opts contexts.
@@ -71,6 +81,11 @@ void uninit_opts(void);
*/
void log_callback_help(void* ptr, int level, const char* fmt, va_list vl);
/**
* Override the cpuflags.
*/
int opt_cpuflags(void *optctx, const char *opt, const char *arg);
/**
* Fallback for options that are not explicitly handled, these will be
* parsed through AVOptions.
@@ -86,10 +101,10 @@ int opt_report(const char *opt);
int opt_max_alloc(void *optctx, const char *opt, const char *arg);
int opt_cpuflags(void *optctx, const char *opt, const char *arg);
int opt_codec_debug(void *optctx, const char *opt, const char *arg);
int opt_opencl(void *optctx, const char *opt, const char *arg);
/**
* Limit the execution time.
*/
@@ -162,6 +177,8 @@ typedef struct OptionDef {
an int containing element count in the array. */
#define OPT_TIME 0x10000
#define OPT_DOUBLE 0x20000
#define OPT_INPUT 0x40000
#define OPT_OUTPUT 0x80000
union {
void *dst_ptr;
int (*func_arg)(void *, const char *, const char *);
@@ -190,13 +207,13 @@ void show_help_options(const OptionDef *options, const char *msg, int req_flags,
void show_help_children(const AVClass *class, int flags);
/**
* Per-avtool specific help handler. Implemented in each
* avtool, called by show_help().
* Per-fftool specific help handler. Implemented in each
* fftool, called by show_help().
*/
void show_help_default(const char *opt, const char *arg);
/**
* Generic -h handler common to all avtools.
* Generic -h handler common to all fftools.
*/
int show_help(void *optctx, const char *opt, const char *arg);
@@ -242,6 +259,11 @@ typedef struct OptionGroupDef {
* are terminated by a non-option argument (e.g. ffmpeg output files)
*/
const char *sep;
/**
* Option flags that must be set on each option that is
* applied to this group
*/
int flags;
} OptionGroupDef;
typedef struct OptionGroup {
@@ -466,6 +488,12 @@ int show_layouts(void *optctx, const char *opt, const char *arg);
*/
int show_sample_fmts(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing all the color names and values recognized
* by the program.
*/
void show_colors(void *optctx, const char *opt, const char *arg);
/**
* Return a positive value if a line read from standard input
* starts with [yY], otherwise return 0.
@@ -479,7 +507,7 @@ int read_yesno(void);
* @param filename file to read from
* @param bufptr location where pointer to buffer is returned
* @param size location where size of buffer is returned
* @return 0 in case of success, a negative value corresponding to an
* @return >= 0 in case of success, a negative value corresponding to an
* AVERROR error code in case of failure.
*/
int cmdutils_read_file(const char *filename, char **bufptr, size_t *size);
@@ -517,52 +545,11 @@ FILE *get_preset_file(char *filename, size_t filename_size,
*/
void *grow_array(void *array, int elem_size, int *size, int new_size);
#define media_type_string av_get_media_type_string
#define GROW_ARRAY(array, nb_elems)\
array = grow_array(array, sizeof(*array), &nb_elems, nb_elems + 1)
typedef struct FrameBuffer {
uint8_t *base[4];
uint8_t *data[4];
int linesize[4];
int h, w;
enum AVPixelFormat pix_fmt;
int refcount;
struct FrameBuffer **pool; ///< head of the buffer pool
struct FrameBuffer *next;
} FrameBuffer;
/**
* Get a frame from the pool. This is intended to be used as a callback for
* AVCodecContext.get_buffer.
*
* @param s codec context. s->opaque must be a pointer to the head of the
* buffer pool.
* @param frame frame->opaque will be set to point to the FrameBuffer
* containing the frame data.
*/
int codec_get_buffer(AVCodecContext *s, AVFrame *frame);
/**
* A callback to be used for AVCodecContext.release_buffer along with
* codec_get_buffer().
*/
void codec_release_buffer(AVCodecContext *s, AVFrame *frame);
/**
* A callback to be used for AVFilterBuffer.free.
* @param fb buffer to free. fb->priv must be a pointer to the FrameBuffer
* containing the buffer data.
*/
void filter_release_buffer(AVFilterBuffer *fb);
/**
* Free all the buffers in the pool. This must be called after all the
* buffers have been released.
*/
void free_buffer_pool(FrameBuffer **pool);
#define GET_PIX_FMT_NAME(pix_fmt)\
const char *name = av_get_pix_fmt_name(pix_fmt);

View File

@@ -14,8 +14,12 @@
{ "pix_fmts" , OPT_EXIT, {.func_arg = show_pix_fmts }, "show available pixel formats" },
{ "layouts" , OPT_EXIT, {.func_arg = show_layouts }, "show standard channel layouts" },
{ "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "colors" , OPT_EXIT, {.func_arg = show_colors }, "show available color names" },
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set logging level", "loglevel" },
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set logging level", "loglevel" },
{ "report" , 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc" , HAS_ARG, {.func_arg = opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags" , HAS_ARG | OPT_EXPERT, {.func_arg = opt_cpuflags}, "force specific cpu flags", "flags" },
{ "cpuflags" , HAS_ARG | OPT_EXPERT, { .func_arg = opt_cpuflags }, "force specific cpu flags", "flags" },
#if CONFIG_OPENCL
{ "opencl_options", HAS_ARG, {.func_arg = opt_opencl}, "set OpenCL environment options" },
#endif

View File

@@ -99,8 +99,10 @@ TOOLOBJS := $(TOOLS:%=tools/%.o)
TOOLS := $(TOOLS:%=tools/%$(EXESUF))
HEADERS += $(HEADERS-yes)
DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
PATH_LIBNAME = $(foreach NAME,$(1),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
DEP_LIBS := $(foreach lib,$(FFLIBS),$(call PATH_LIBNAME,$(lib)))
SRC_DIR := $(SRC_PATH)/lib$(NAME)
ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h))
SKIPHEADERS += $(ARCH_HEADERS:%=$(ARCH)/%) $(SKIPHEADERS-)
SKIPHEADERS := $(SKIPHEADERS:%=$(SUBDIR)%)

31
compat/aix/math.h Normal file
View File

@@ -0,0 +1,31 @@
/*
* Work around the class() function in AIX math.h clashing with
* identifiers named "class".
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef FFMPEG_COMPAT_AIX_MATH_H
#define FFMPEG_COMPAT_AIX_MATH_H
#define class class_in_math_h_causes_problems
#include_next <math.h>
#undef class
#endif /* FFMPEG_COMPAT_AIX_MATH_H */

View File

@@ -0,0 +1,879 @@
// Avisynth C Interface Version 0.20
// Copyright 2003 Kevin Atkinson
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
// http://www.gnu.org/copyleft/gpl.html .
//
// As a special exception, I give you permission to link to the
// Avisynth C interface with independent modules that communicate with
// the Avisynth C interface solely through the interfaces defined in
// avisynth_c.h, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting combined work
// under terms of your choice, provided that every copy of the
// combined work is accompanied by a complete copy of the source code
// of the Avisynth C interface and Avisynth itself (with the version
// used to produce the combined work), being distributed under the
// terms of the GNU General Public License plus this exception. An
// independent module is a module which is not derived from or based
// on Avisynth C Interface, such as 3rd-party filters, import and
// export plugins, or graphical user interfaces.
// NOTE: this is a partial update of the Avisynth C interface to recognize
// new color spaces added in Avisynth 2.60. By no means is this document
// completely Avisynth 2.60 compliant.
#ifndef __AVISYNTH_C__
#define __AVISYNTH_C__
#ifdef __cplusplus
# define EXTERN_C extern "C"
#else
# define EXTERN_C
#endif
#define AVSC_USE_STDCALL 1
#ifndef AVSC_USE_STDCALL
# define AVSC_CC __cdecl
#else
# define AVSC_CC __stdcall
#endif
#define AVSC_INLINE static __inline
#ifdef AVISYNTH_C_EXPORTS
# define AVSC_EXPORT EXTERN_C
# define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name
#else
# define AVSC_EXPORT EXTERN_C __declspec(dllexport)
# ifndef AVSC_NO_DECLSPEC
# define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name
# else
# define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func)
# endif
#endif
typedef unsigned char BYTE;
#ifdef __GNUC__
typedef long long int INT64;
#else
typedef __int64 INT64;
#endif
/////////////////////////////////////////////////////////////////////
//
// Constants
//
#ifndef __AVISYNTH_H__
enum { AVISYNTH_INTERFACE_VERSION = 4 };
#endif
enum {AVS_SAMPLE_INT8 = 1<<0,
AVS_SAMPLE_INT16 = 1<<1,
AVS_SAMPLE_INT24 = 1<<2,
AVS_SAMPLE_INT32 = 1<<3,
AVS_SAMPLE_FLOAT = 1<<4};
enum {AVS_PLANAR_Y=1<<0,
AVS_PLANAR_U=1<<1,
AVS_PLANAR_V=1<<2,
AVS_PLANAR_ALIGNED=1<<3,
AVS_PLANAR_Y_ALIGNED=AVS_PLANAR_Y|AVS_PLANAR_ALIGNED,
AVS_PLANAR_U_ALIGNED=AVS_PLANAR_U|AVS_PLANAR_ALIGNED,
AVS_PLANAR_V_ALIGNED=AVS_PLANAR_V|AVS_PLANAR_ALIGNED,
AVS_PLANAR_A=1<<4,
AVS_PLANAR_R=1<<5,
AVS_PLANAR_G=1<<6,
AVS_PLANAR_B=1<<7,
AVS_PLANAR_A_ALIGNED=AVS_PLANAR_A|AVS_PLANAR_ALIGNED,
AVS_PLANAR_R_ALIGNED=AVS_PLANAR_R|AVS_PLANAR_ALIGNED,
AVS_PLANAR_G_ALIGNED=AVS_PLANAR_G|AVS_PLANAR_ALIGNED,
AVS_PLANAR_B_ALIGNED=AVS_PLANAR_B|AVS_PLANAR_ALIGNED};
// Colorspace properties.
enum {AVS_CS_BGR = 1<<28,
AVS_CS_YUV = 1<<29,
AVS_CS_INTERLEAVED = 1<<30,
AVS_CS_PLANAR = 1<<31,
AVS_CS_SHIFT_SUB_WIDTH = 0,
AVS_CS_SHIFT_SUB_HEIGHT = 1 << 3,
AVS_CS_SHIFT_SAMPLE_BITS = 1 << 4,
AVS_CS_SUB_WIDTH_MASK = 7 << AVS_CS_SHIFT_SUB_WIDTH,
AVS_CS_SUB_WIDTH_1 = 3 << AVS_CS_SHIFT_SUB_WIDTH, // YV24
AVS_CS_SUB_WIDTH_2 = 0 << AVS_CS_SHIFT_SUB_WIDTH, // YV12, I420, YV16
AVS_CS_SUB_WIDTH_4 = 1 << AVS_CS_SHIFT_SUB_WIDTH, // YUV9, YV411
AVS_CS_VPLANEFIRST = 1 << 3, // YV12, YV16, YV24, YV411, YUV9
AVS_CS_UPLANEFIRST = 1 << 4, // I420
AVS_CS_SUB_HEIGHT_MASK = 7 << AVS_CS_SHIFT_SUB_HEIGHT,
AVS_CS_SUB_HEIGHT_1 = 3 << AVS_CS_SHIFT_SUB_HEIGHT, // YV16, YV24, YV411
AVS_CS_SUB_HEIGHT_2 = 0 << AVS_CS_SHIFT_SUB_HEIGHT, // YV12, I420
AVS_CS_SUB_HEIGHT_4 = 1 << AVS_CS_SHIFT_SUB_HEIGHT, // YUV9
AVS_CS_SAMPLE_BITS_MASK = 7 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_SAMPLE_BITS_8 = 0 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_SAMPLE_BITS_16 = 1 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_SAMPLE_BITS_32 = 2 << AVS_CS_SHIFT_SAMPLE_BITS,
AVS_CS_PLANAR_MASK = AVS_CS_PLANAR | AVS_CS_INTERLEAVED | AVS_CS_YUV | AVS_CS_BGR | AVS_CS_SAMPLE_BITS_MASK | AVS_CS_SUB_HEIGHT_MASK | AVS_CS_SUB_WIDTH_MASK,
AVS_CS_PLANAR_FILTER = ~( AVS_CS_VPLANEFIRST | AVS_CS_UPLANEFIRST )};
// Specific colorformats
enum {
AVS_CS_UNKNOWN = 0,
AVS_CS_BGR24 = 1<<0 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_BGR32 = 1<<1 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_YUY2 = 1<<2 | AVS_CS_YUV | AVS_CS_INTERLEAVED,
// AVS_CS_YV12 = 1<<3 Reserved
// AVS_CS_I420 = 1<<4 Reserved
AVS_CS_RAW32 = 1<<5 | AVS_CS_INTERLEAVED,
AVS_CS_YV24 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_1 | AVS_CS_SUB_WIDTH_1, // YVU 4:4:4 planar
AVS_CS_YV16 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_1 | AVS_CS_SUB_WIDTH_2, // YVU 4:2:2 planar
AVS_CS_YV12 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_2 | AVS_CS_SUB_WIDTH_2, // YVU 4:2:0 planar
AVS_CS_I420 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_UPLANEFIRST | AVS_CS_SUB_HEIGHT_2 | AVS_CS_SUB_WIDTH_2, // YUV 4:2:0 planar
AVS_CS_IYUV = AVS_CS_I420,
AVS_CS_YV411 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_1 | AVS_CS_SUB_WIDTH_4, // YVU 4:1:1 planar
AVS_CS_YUV9 = AVS_CS_PLANAR | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 | AVS_CS_VPLANEFIRST | AVS_CS_SUB_HEIGHT_4 | AVS_CS_SUB_WIDTH_4, // YVU 4:1:0 planar
AVS_CS_Y8 = AVS_CS_PLANAR | AVS_CS_INTERLEAVED | AVS_CS_YUV | AVS_CS_SAMPLE_BITS_8 // Y 4:0:0 planar
};
enum {
AVS_IT_BFF = 1<<0,
AVS_IT_TFF = 1<<1,
AVS_IT_FIELDBASED = 1<<2};
enum {
AVS_FILTER_TYPE=1,
AVS_FILTER_INPUT_COLORSPACE=2,
AVS_FILTER_OUTPUT_TYPE=9,
AVS_FILTER_NAME=4,
AVS_FILTER_AUTHOR=5,
AVS_FILTER_VERSION=6,
AVS_FILTER_ARGS=7,
AVS_FILTER_ARGS_INFO=8,
AVS_FILTER_ARGS_DESCRIPTION=10,
AVS_FILTER_DESCRIPTION=11};
enum { //SUBTYPES
AVS_FILTER_TYPE_AUDIO=1,
AVS_FILTER_TYPE_VIDEO=2,
AVS_FILTER_OUTPUT_TYPE_SAME=3,
AVS_FILTER_OUTPUT_TYPE_DIFFERENT=4};
enum {
AVS_CACHE_NOTHING=0,
AVS_CACHE_RANGE=1,
AVS_CACHE_ALL=2,
AVS_CACHE_AUDIO=3,
AVS_CACHE_AUDIO_NONE=4,
AVS_CACHE_AUDIO_AUTO=5
};
#define AVS_FRAME_ALIGN 16
typedef struct AVS_Clip AVS_Clip;
typedef struct AVS_ScriptEnvironment AVS_ScriptEnvironment;
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoInfo
//
// AVS_VideoInfo is layed out identicly to VideoInfo
typedef struct AVS_VideoInfo {
int width, height; // width=0 means no video
unsigned fps_numerator, fps_denominator;
int num_frames;
int pixel_type;
int audio_samples_per_second; // 0 means no audio
int sample_type;
INT64 num_audio_samples;
int nchannels;
// Imagetype properties
int image_type;
} AVS_VideoInfo;
// useful functions of the above
AVSC_INLINE int avs_has_video(const AVS_VideoInfo * p)
{ return (p->width!=0); }
AVSC_INLINE int avs_has_audio(const AVS_VideoInfo * p)
{ return (p->audio_samples_per_second!=0); }
AVSC_INLINE int avs_is_rgb(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_BGR); }
AVSC_INLINE int avs_is_rgb24(const AVS_VideoInfo * p)
{ return (p->pixel_type&AVS_CS_BGR24)==AVS_CS_BGR24; } // Clear out additional properties
AVSC_INLINE int avs_is_rgb32(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_BGR32) == AVS_CS_BGR32 ; }
AVSC_INLINE int avs_is_yuv(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_YUV ); }
AVSC_INLINE int avs_is_yuy2(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_YUY2) == AVS_CS_YUY2; }
AVSC_INLINE int avs_is_yv24(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV24 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_yv16(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV16 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_yv12(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV12 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_yv411(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_YV411 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_y8(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_PLANAR_MASK) == (AVS_CS_Y8 & AVS_CS_PLANAR_FILTER); }
AVSC_INLINE int avs_is_property(const AVS_VideoInfo * p, int property)
{ return ((p->pixel_type & property)==property ); }
AVSC_INLINE int avs_is_planar(const AVS_VideoInfo * p)
{ return !!(p->pixel_type & AVS_CS_PLANAR); }
AVSC_INLINE int avs_is_color_space(const AVS_VideoInfo * p, int c_space)
{ return avs_is_planar(p) ? ((p->pixel_type & AVS_CS_PLANAR_MASK) == (c_space & AVS_CS_PLANAR_FILTER)) : ((p->pixel_type & c_space) == c_space); }
AVSC_INLINE int avs_is_field_based(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_FIELDBASED); }
AVSC_INLINE int avs_is_parity_known(const AVS_VideoInfo * p)
{ return ((p->image_type & AVS_IT_FIELDBASED)&&(p->image_type & (AVS_IT_BFF | AVS_IT_TFF))); }
AVSC_INLINE int avs_is_bff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_BFF); }
AVSC_INLINE int avs_is_tff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_TFF); }
AVSC_INLINE int avs_bits_per_pixel(const AVS_VideoInfo * p)
{
switch (p->pixel_type) {
case AVS_CS_BGR24: return 24;
case AVS_CS_BGR32: return 32;
case AVS_CS_YUY2: return 16;
case AVS_CS_YV12:
case AVS_CS_I420: return 12;
default: return 0;
}
}
AVSC_INLINE int avs_bytes_from_pixels(const AVS_VideoInfo * p, int pixels)
{ return pixels * (avs_bits_per_pixel(p)>>3); } // Will work on planar images, but will return only luma planes
AVSC_INLINE int avs_row_size(const AVS_VideoInfo * p)
{ return avs_bytes_from_pixels(p,p->width); } // Also only returns first plane on planar images
AVSC_INLINE int avs_bmp_size(const AVS_VideoInfo * vi)
{ if (avs_is_planar(vi)) {int p = vi->height * ((avs_row_size(vi)+3) & ~3); p+=p>>1; return p; } return vi->height * ((avs_row_size(vi)+3) & ~3); }
AVSC_INLINE int avs_samples_per_second(const AVS_VideoInfo * p)
{ return p->audio_samples_per_second; }
AVSC_INLINE int avs_bytes_per_channel_sample(const AVS_VideoInfo * p)
{
switch (p->sample_type) {
case AVS_SAMPLE_INT8: return sizeof(signed char);
case AVS_SAMPLE_INT16: return sizeof(signed short);
case AVS_SAMPLE_INT24: return 3;
case AVS_SAMPLE_INT32: return sizeof(signed int);
case AVS_SAMPLE_FLOAT: return sizeof(float);
default: return 0;
}
}
AVSC_INLINE int avs_bytes_per_audio_sample(const AVS_VideoInfo * p)
{ return p->nchannels*avs_bytes_per_channel_sample(p);}
AVSC_INLINE INT64 avs_audio_samples_from_frames(const AVS_VideoInfo * p, INT64 frames)
{ return ((INT64)(frames) * p->audio_samples_per_second * p->fps_denominator / p->fps_numerator); }
AVSC_INLINE int avs_frames_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return (int)(samples * (INT64)p->fps_numerator / (INT64)p->fps_denominator / (INT64)p->audio_samples_per_second); }
AVSC_INLINE INT64 avs_audio_samples_from_bytes(const AVS_VideoInfo * p, INT64 bytes)
{ return bytes / avs_bytes_per_audio_sample(p); }
AVSC_INLINE INT64 avs_bytes_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return samples * avs_bytes_per_audio_sample(p); }
AVSC_INLINE int avs_audio_channels(const AVS_VideoInfo * p)
{ return p->nchannels; }
AVSC_INLINE int avs_sample_type(const AVS_VideoInfo * p)
{ return p->sample_type;}
// useful mutator
AVSC_INLINE void avs_set_property(AVS_VideoInfo * p, int property)
{ p->image_type|=property; }
AVSC_INLINE void avs_clear_property(AVS_VideoInfo * p, int property)
{ p->image_type&=~property; }
AVSC_INLINE void avs_set_field_based(AVS_VideoInfo * p, int isfieldbased)
{ if (isfieldbased) p->image_type|=AVS_IT_FIELDBASED; else p->image_type&=~AVS_IT_FIELDBASED; }
AVSC_INLINE void avs_set_fps(AVS_VideoInfo * p, unsigned numerator, unsigned denominator)
{
unsigned x=numerator, y=denominator;
while (y) { // find gcd
unsigned t = x%y; x = y; y = t;
}
p->fps_numerator = numerator/x;
p->fps_denominator = denominator/x;
}
AVSC_INLINE int avs_is_same_colorspace(AVS_VideoInfo * x, AVS_VideoInfo * y)
{
return (x->pixel_type == y->pixel_type)
|| (avs_is_yv12(x) && avs_is_yv12(y));
}
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoFrame
//
// VideoFrameBuffer holds information about a memory block which is used
// for video data. For efficiency, instances of this class are not deleted
// when the refcount reaches zero; instead they're stored in a linked list
// to be reused. The instances are deleted when the corresponding AVS
// file is closed.
// AVS_VideoFrameBuffer is layed out identicly to VideoFrameBuffer
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrameBuffer {
BYTE * data;
int data_size;
// sequence_number is incremented every time the buffer is changed, so
// that stale views can tell they're no longer valid.
volatile long sequence_number;
volatile long refcount;
} AVS_VideoFrameBuffer;
// VideoFrame holds a "window" into a VideoFrameBuffer.
// AVS_VideoFrame is layed out identicly to IVideoFrame
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrame {
volatile long refcount;
AVS_VideoFrameBuffer * vfb;
int offset, pitch, row_size, height, offsetU, offsetV, pitchUV; // U&V offsets are from top of picture.
int row_sizeUV, heightUV;
} AVS_VideoFrame;
// Access functions for AVS_VideoFrame
AVSC_INLINE int avs_get_pitch(const AVS_VideoFrame * p) {
return p->pitch;}
AVSC_INLINE int avs_get_pitch_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V: return p->pitchUV;}
return p->pitch;}
AVSC_INLINE int avs_get_row_size(const AVS_VideoFrame * p) {
return p->row_size; }
AVSC_INLINE int avs_get_row_size_p(const AVS_VideoFrame * p, int plane) {
int r;
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->row_sizeUV;
else return 0;
case AVS_PLANAR_U_ALIGNED: case AVS_PLANAR_V_ALIGNED:
if (p->pitchUV) {
r = (p->row_sizeUV+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r < p->pitchUV)
return r;
return p->row_sizeUV;
} else return 0;
case AVS_PLANAR_Y_ALIGNED:
r = (p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r <= p->pitch)
return r;
return p->row_size;
}
return p->row_size;
}
AVSC_INLINE int avs_get_height(const AVS_VideoFrame * p) {
return p->height;}
AVSC_INLINE int avs_get_height_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->heightUV;
return 0;
}
return p->height;}
AVSC_INLINE const BYTE* avs_get_read_ptr(const AVS_VideoFrame * p) {
return p->vfb->data + p->offset;}
AVSC_INLINE const BYTE* avs_get_read_ptr_p(const AVS_VideoFrame * p, int plane)
{
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;}
}
AVSC_INLINE int avs_is_writable(const AVS_VideoFrame * p) {
return (p->refcount == 1 && p->vfb->refcount == 1);}
AVSC_INLINE BYTE* avs_get_write_ptr(const AVS_VideoFrame * p)
{
if (avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else
return 0;
}
AVSC_INLINE BYTE* avs_get_write_ptr_p(const AVS_VideoFrame * p, int plane)
{
if (plane==AVS_PLANAR_Y && avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else if (plane==AVS_PLANAR_Y) {
return 0;
} else {
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;
}
}
}
AVSC_API(void, avs_release_video_frame)(AVS_VideoFrame *);
// makes a shallow copy of a video frame
AVSC_API(AVS_VideoFrame *, avs_copy_video_frame)(AVS_VideoFrame *);
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE void avs_release_frame(AVS_VideoFrame * f)
{avs_release_video_frame(f);}
AVSC_INLINE AVS_VideoFrame * avs_copy_frame(AVS_VideoFrame * f)
{return avs_copy_video_frame(f);}
#endif
/////////////////////////////////////////////////////////////////////
//
// AVS_Value
//
// Treat AVS_Value as a fat pointer. That is use avs_copy_value
// and avs_release_value appropiaty as you would if AVS_Value was
// a pointer.
// To maintain source code compatibility with future versions of the
// avisynth_c API don't use the AVS_Value directly. Use the helper
// functions below.
// AVS_Value is layed out identicly to AVSValue
typedef struct AVS_Value AVS_Value;
struct AVS_Value {
short type; // 'a'rray, 'c'lip, 'b'ool, 'i'nt, 'f'loat, 's'tring, 'v'oid, or 'l'ong
// for some function e'rror
short array_size;
union {
void * clip; // do not use directly, use avs_take_clip
char boolean;
int integer;
float floating_pt;
const char * string;
const AVS_Value * array;
} d;
};
// AVS_Value should be initilized with avs_void.
// Should also set to avs_void after the value is released
// with avs_copy_value. Consider it the equalvent of setting
// a pointer to NULL
static const AVS_Value avs_void = {'v'};
AVSC_API(void, avs_copy_value)(AVS_Value * dest, AVS_Value src);
AVSC_API(void, avs_release_value)(AVS_Value);
AVSC_INLINE int avs_defined(AVS_Value v) { return v.type != 'v'; }
AVSC_INLINE int avs_is_clip(AVS_Value v) { return v.type == 'c'; }
AVSC_INLINE int avs_is_bool(AVS_Value v) { return v.type == 'b'; }
AVSC_INLINE int avs_is_int(AVS_Value v) { return v.type == 'i'; }
AVSC_INLINE int avs_is_float(AVS_Value v) { return v.type == 'f' || v.type == 'i'; }
AVSC_INLINE int avs_is_string(AVS_Value v) { return v.type == 's'; }
AVSC_INLINE int avs_is_array(AVS_Value v) { return v.type == 'a'; }
AVSC_INLINE int avs_is_error(AVS_Value v) { return v.type == 'e'; }
AVSC_API(AVS_Clip *, avs_take_clip)(AVS_Value, AVS_ScriptEnvironment *);
AVSC_API(void, avs_set_to_clip)(AVS_Value *, AVS_Clip *);
AVSC_INLINE int avs_as_bool(AVS_Value v)
{ return v.d.boolean; }
AVSC_INLINE int avs_as_int(AVS_Value v)
{ return v.d.integer; }
AVSC_INLINE const char * avs_as_string(AVS_Value v)
{ return avs_is_error(v) || avs_is_string(v) ? v.d.string : 0; }
AVSC_INLINE double avs_as_float(AVS_Value v)
{ return avs_is_int(v) ? v.d.integer : v.d.floating_pt; }
AVSC_INLINE const char * avs_as_error(AVS_Value v)
{ return avs_is_error(v) ? v.d.string : 0; }
AVSC_INLINE const AVS_Value * avs_as_array(AVS_Value v)
{ return v.d.array; }
AVSC_INLINE int avs_array_size(AVS_Value v)
{ return avs_is_array(v) ? v.array_size : 1; }
AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
{ return avs_is_array(v) ? v.d.array[index] : v; }
// only use these functions on an AVS_Value that does not already have
// an active value. Remember, treat AVS_Value as a fat pointer.
AVSC_INLINE AVS_Value avs_new_value_bool(int v0)
{ AVS_Value v; v.type = 'b'; v.d.boolean = v0 == 0 ? 0 : 1; return v; }
AVSC_INLINE AVS_Value avs_new_value_int(int v0)
{ AVS_Value v; v.type = 'i'; v.d.integer = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_string(const char * v0)
{ AVS_Value v; v.type = 's'; v.d.string = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_float(float v0)
{ AVS_Value v; v.type = 'f'; v.d.floating_pt = v0; return v;}
AVSC_INLINE AVS_Value avs_new_value_error(const char * v0)
{ AVS_Value v; v.type = 'e'; v.d.string = v0; return v; }
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE AVS_Value avs_new_value_clip(AVS_Clip * v0)
{ AVS_Value v; avs_set_to_clip(&v, v0); return v; }
#endif
AVSC_INLINE AVS_Value avs_new_value_array(AVS_Value * v0, int size)
{ AVS_Value v; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
/////////////////////////////////////////////////////////////////////
//
// AVS_Clip
//
AVSC_API(void, avs_release_clip)(AVS_Clip *);
AVSC_API(AVS_Clip *, avs_copy_clip)(AVS_Clip *);
AVSC_API(const char *, avs_clip_get_error)(AVS_Clip *); // return 0 if no error
AVSC_API(const AVS_VideoInfo *, avs_get_video_info)(AVS_Clip *);
AVSC_API(int, avs_get_version)(AVS_Clip *);
AVSC_API(AVS_VideoFrame *, avs_get_frame)(AVS_Clip *, int n);
// The returned video frame must be released with avs_release_video_frame
AVSC_API(int, avs_get_parity)(AVS_Clip *, int n);
// return field parity if field_based, else parity of first field in frame
AVSC_API(int, avs_get_audio)(AVS_Clip *, void * buf,
INT64 start, INT64 count);
// start and count are in samples
AVSC_API(int, avs_set_cache_hints)(AVS_Clip *,
int cachehints, int frame_range);
// This is the callback type used by avs_add_function
typedef AVS_Value (AVSC_CC * AVS_ApplyFunc)
(AVS_ScriptEnvironment *, AVS_Value args, void * user_data);
typedef struct AVS_FilterInfo AVS_FilterInfo;
struct AVS_FilterInfo
{
// these members should not be modified outside of the AVS_ApplyFunc callback
AVS_Clip * child;
AVS_VideoInfo vi;
AVS_ScriptEnvironment * env;
AVS_VideoFrame * (AVSC_CC * get_frame)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_parity)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_audio)(AVS_FilterInfo *, void * buf,
INT64 start, INT64 count);
int (AVSC_CC * set_cache_hints)(AVS_FilterInfo *, int cachehints,
int frame_range);
void (AVSC_CC * free_filter)(AVS_FilterInfo *);
// Should be set when ever there is an error to report.
// It is cleared before any of the above methods are called
const char * error;
// this is to store whatever and may be modified at will
void * user_data;
};
// Create a new filter
// fi is set to point to the AVS_FilterInfo so that you can
// modify it once it is initilized.
// store_child should generally be set to true. If it is not
// set than ALL methods (the function pointers) must be defined
// If it is set than you do not need to worry about freeing the child
// clip.
AVSC_API(AVS_Clip *, avs_new_c_filter)(AVS_ScriptEnvironment * e,
AVS_FilterInfo * * fi,
AVS_Value child, int store_child);
/////////////////////////////////////////////////////////////////////
//
// AVS_ScriptEnvironment
//
// For GetCPUFlags. These are backwards-compatible with those in VirtualDub.
enum {
/* slowest CPU to support extension */
AVS_CPU_FORCE = 0x01, // N/A
AVS_CPU_FPU = 0x02, // 386/486DX
AVS_CPU_MMX = 0x04, // P55C, K6, PII
AVS_CPU_INTEGER_SSE = 0x08, // PIII, Athlon
AVS_CPU_SSE = 0x10, // PIII, Athlon XP/MP
AVS_CPU_SSE2 = 0x20, // PIV, Hammer
AVS_CPU_3DNOW = 0x40, // K6-2
AVS_CPU_3DNOW_EXT = 0x80, // Athlon
AVS_CPU_X86_64 = 0xA0, // Hammer (note: equiv. to 3DNow + SSE2,
// which only Hammer will have anyway)
AVS_CPUF_SSE3 = 0x100, // PIV+, K8 Venice
AVS_CPUF_SSSE3 = 0x200, // Core 2
AVS_CPUF_SSE4 = 0x400, // Penryn, Wolfdale, Yorkfield
AVS_CPUF_SSE4_1 = 0x400,
AVS_CPUF_SSE4_2 = 0x800, // Nehalem
};
AVSC_API(const char *, avs_get_error)(AVS_ScriptEnvironment *); // return 0 if no error
AVSC_API(long, avs_get_cpu_flags)(AVS_ScriptEnvironment *);
AVSC_API(int, avs_check_version)(AVS_ScriptEnvironment *, int version);
AVSC_API(char *, avs_save_string)(AVS_ScriptEnvironment *, const char* s, int length);
AVSC_API(char *, avs_sprintf)(AVS_ScriptEnvironment *, const char * fmt, ...);
AVSC_API(char *, avs_vsprintf)(AVS_ScriptEnvironment *, const char * fmt, void* val);
// note: val is really a va_list; I hope everyone typedefs va_list to a pointer
AVSC_API(int, avs_add_function)(AVS_ScriptEnvironment *,
const char * name, const char * params,
AVS_ApplyFunc apply, void * user_data);
AVSC_API(int, avs_function_exists)(AVS_ScriptEnvironment *, const char * name);
AVSC_API(AVS_Value, avs_invoke)(AVS_ScriptEnvironment *, const char * name,
AVS_Value args, const char** arg_names);
// The returned value must be be released with avs_release_value
AVSC_API(AVS_Value, avs_get_var)(AVS_ScriptEnvironment *, const char* name);
// The returned value must be be released with avs_release_value
AVSC_API(int, avs_set_var)(AVS_ScriptEnvironment *, const char* name, AVS_Value val);
AVSC_API(int, avs_set_global_var)(AVS_ScriptEnvironment *, const char* name, const AVS_Value val);
//void avs_push_context(AVS_ScriptEnvironment *, int level=0);
//void avs_pop_context(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_new_video_frame_a)(AVS_ScriptEnvironment *,
const AVS_VideoInfo * vi, int align);
// align should be at least 16
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE
AVS_VideoFrame * avs_new_video_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
AVSC_INLINE
AVS_VideoFrame * avs_new_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
#endif
AVSC_API(int, avs_make_writable)(AVS_ScriptEnvironment *, AVS_VideoFrame * * pvf);
AVSC_API(void, avs_bit_blt)(AVS_ScriptEnvironment *, BYTE* dstp, int dst_pitch, const BYTE* srcp, int src_pitch, int row_size, int height);
typedef void (AVSC_CC *AVS_ShutdownFunc)(void* user_data, AVS_ScriptEnvironment * env);
AVSC_API(void, avs_at_exit)(AVS_ScriptEnvironment *, AVS_ShutdownFunc function, void * user_data);
AVSC_API(AVS_VideoFrame *, avs_subframe)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height);
// The returned video frame must be be released
AVSC_API(int, avs_set_memory_max)(AVS_ScriptEnvironment *, int mem);
AVSC_API(int, avs_set_working_dir)(AVS_ScriptEnvironment *, const char * newdir);
// avisynth.dll exports this; it's a way to use it as a library, without
// writing an AVS script or without going through AVIFile.
AVSC_API(AVS_ScriptEnvironment *, avs_create_script_environment)(int version);
// this symbol is the entry point for the plugin and must
// be defined
AVSC_EXPORT
const char * AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment* env);
AVSC_API(void, avs_delete_script_environment)(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_subframe_planar)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height, int rel_offsetU, int rel_offsetV, int new_pitchUV);
// The returned video frame must be be released
#ifdef AVSC_NO_DECLSPEC
// use LoadLibrary and related functions to dynamically load Avisynth instead of declspec(dllimport)
/*
The following functions needs to have been declared, probably from windows.h
void* malloc(size_t)
void free(void*);
HMODULE LoadLibrary(const char*);
void* GetProcAddress(HMODULE, const char*);
FreeLibrary(HMODULE);
*/
typedef struct AVS_Library AVS_Library;
#define AVSC_DECLARE_FUNC(name) name##_func name
struct AVS_Library {
HMODULE handle;
AVSC_DECLARE_FUNC(avs_add_function);
AVSC_DECLARE_FUNC(avs_at_exit);
AVSC_DECLARE_FUNC(avs_bit_blt);
AVSC_DECLARE_FUNC(avs_check_version);
AVSC_DECLARE_FUNC(avs_clip_get_error);
AVSC_DECLARE_FUNC(avs_copy_clip);
AVSC_DECLARE_FUNC(avs_copy_value);
AVSC_DECLARE_FUNC(avs_copy_video_frame);
AVSC_DECLARE_FUNC(avs_create_script_environment);
AVSC_DECLARE_FUNC(avs_delete_script_environment);
AVSC_DECLARE_FUNC(avs_function_exists);
AVSC_DECLARE_FUNC(avs_get_audio);
AVSC_DECLARE_FUNC(avs_get_cpu_flags);
AVSC_DECLARE_FUNC(avs_get_error);
AVSC_DECLARE_FUNC(avs_get_frame);
AVSC_DECLARE_FUNC(avs_get_parity);
AVSC_DECLARE_FUNC(avs_get_var);
AVSC_DECLARE_FUNC(avs_get_version);
AVSC_DECLARE_FUNC(avs_get_video_info);
AVSC_DECLARE_FUNC(avs_invoke);
AVSC_DECLARE_FUNC(avs_make_writable);
AVSC_DECLARE_FUNC(avs_new_c_filter);
AVSC_DECLARE_FUNC(avs_new_video_frame_a);
AVSC_DECLARE_FUNC(avs_release_clip);
AVSC_DECLARE_FUNC(avs_release_value);
AVSC_DECLARE_FUNC(avs_release_video_frame);
AVSC_DECLARE_FUNC(avs_save_string);
AVSC_DECLARE_FUNC(avs_set_cache_hints);
AVSC_DECLARE_FUNC(avs_set_global_var);
AVSC_DECLARE_FUNC(avs_set_memory_max);
AVSC_DECLARE_FUNC(avs_set_to_clip);
AVSC_DECLARE_FUNC(avs_set_var);
AVSC_DECLARE_FUNC(avs_set_working_dir);
AVSC_DECLARE_FUNC(avs_sprintf);
AVSC_DECLARE_FUNC(avs_subframe);
AVSC_DECLARE_FUNC(avs_subframe_planar);
AVSC_DECLARE_FUNC(avs_take_clip);
AVSC_DECLARE_FUNC(avs_vsprintf);
};
#undef AVSC_DECLARE_FUNC
AVSC_INLINE AVS_Library * avs_load_library() {
AVS_Library *library = (AVS_Library *)malloc(sizeof(AVS_Library));
if (library == NULL)
return NULL;
library->handle = LoadLibrary("avisynth");
if (library->handle == NULL)
goto fail;
#define __AVSC_STRINGIFY(x) #x
#define AVSC_STRINGIFY(x) __AVSC_STRINGIFY(x)
#define AVSC_LOAD_FUNC(name) {\
library->name = (name##_func) GetProcAddress(library->handle, AVSC_STRINGIFY(name));\
if (library->name == NULL)\
goto fail;\
}
AVSC_LOAD_FUNC(avs_add_function);
AVSC_LOAD_FUNC(avs_at_exit);
AVSC_LOAD_FUNC(avs_bit_blt);
AVSC_LOAD_FUNC(avs_check_version);
AVSC_LOAD_FUNC(avs_clip_get_error);
AVSC_LOAD_FUNC(avs_copy_clip);
AVSC_LOAD_FUNC(avs_copy_value);
AVSC_LOAD_FUNC(avs_copy_video_frame);
AVSC_LOAD_FUNC(avs_create_script_environment);
AVSC_LOAD_FUNC(avs_delete_script_environment);
AVSC_LOAD_FUNC(avs_function_exists);
AVSC_LOAD_FUNC(avs_get_audio);
AVSC_LOAD_FUNC(avs_get_cpu_flags);
AVSC_LOAD_FUNC(avs_get_error);
AVSC_LOAD_FUNC(avs_get_frame);
AVSC_LOAD_FUNC(avs_get_parity);
AVSC_LOAD_FUNC(avs_get_var);
AVSC_LOAD_FUNC(avs_get_version);
AVSC_LOAD_FUNC(avs_get_video_info);
AVSC_LOAD_FUNC(avs_invoke);
AVSC_LOAD_FUNC(avs_make_writable);
AVSC_LOAD_FUNC(avs_new_c_filter);
AVSC_LOAD_FUNC(avs_new_video_frame_a);
AVSC_LOAD_FUNC(avs_release_clip);
AVSC_LOAD_FUNC(avs_release_value);
AVSC_LOAD_FUNC(avs_release_video_frame);
AVSC_LOAD_FUNC(avs_save_string);
AVSC_LOAD_FUNC(avs_set_cache_hints);
AVSC_LOAD_FUNC(avs_set_global_var);
AVSC_LOAD_FUNC(avs_set_memory_max);
AVSC_LOAD_FUNC(avs_set_to_clip);
AVSC_LOAD_FUNC(avs_set_var);
AVSC_LOAD_FUNC(avs_set_working_dir);
AVSC_LOAD_FUNC(avs_sprintf);
AVSC_LOAD_FUNC(avs_subframe);
AVSC_LOAD_FUNC(avs_subframe_planar);
AVSC_LOAD_FUNC(avs_take_clip);
AVSC_LOAD_FUNC(avs_vsprintf);
#undef __AVSC_STRINGIFY
#undef AVSC_STRINGIFY
#undef AVSC_LOAD_FUNC
return library;
fail:
free(library);
return NULL;
}
AVSC_INLINE void avs_free_library(AVS_Library *library) {
if (library == NULL)
return;
FreeLibrary(library->handle);
free(library);
}
#endif
#endif

View File

@@ -0,0 +1,68 @@
// Copyright (c) 2011 FFmpegSource Project
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
/* these are defines/functions that are used and were changed in the switch to 2.6
* and are needed to maintain full compatility with 2.5 */
enum {
AVS_CS_YV12_25 = 1<<3 | AVS_CS_YUV | AVS_CS_PLANAR, // y-v-u, planar
AVS_CS_I420_25 = 1<<4 | AVS_CS_YUV | AVS_CS_PLANAR, // y-u-v, planar
};
AVSC_INLINE int avs_get_height_p_25(const AVS_VideoFrame * p, int plane) {
switch (plane)
{
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV)
return p->height>>1;
return 0;
}
return p->height;}
AVSC_INLINE int avs_get_row_size_p_25(const AVS_VideoFrame * p, int plane) {
int r;
switch (plane)
{
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV)
return p->row_size>>1;
else
return 0;
case AVS_PLANAR_U_ALIGNED: case AVS_PLANAR_V_ALIGNED:
if (p->pitchUV)
{
r = ((p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)) )>>1; // Aligned rowsize
if (r < p->pitchUV)
return r;
return p->row_size>>1;
}
else
return 0;
case AVS_PLANAR_Y_ALIGNED:
r = (p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r <= p->pitch)
return r;
return p->row_size;
}
return p->row_size;
}
AVSC_INLINE int avs_is_yv12_25(const AVS_VideoInfo * p)
{ return ((p->pixel_type & AVS_CS_YV12_25) == AVS_CS_YV12_25)||((p->pixel_type & AVS_CS_I420_25) == AVS_CS_I420_25); }

View File

@@ -0,0 +1,727 @@
// Avisynth C Interface Version 0.20
// Copyright 2003 Kevin Atkinson
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or visit
// http://www.gnu.org/copyleft/gpl.html .
//
// As a special exception, I give you permission to link to the
// Avisynth C interface with independent modules that communicate with
// the Avisynth C interface solely through the interfaces defined in
// avisynth_c.h, regardless of the license terms of these independent
// modules, and to copy and distribute the resulting combined work
// under terms of your choice, provided that every copy of the
// combined work is accompanied by a complete copy of the source code
// of the Avisynth C interface and Avisynth itself (with the version
// used to produce the combined work), being distributed under the
// terms of the GNU General Public License plus this exception. An
// independent module is a module which is not derived from or based
// on Avisynth C Interface, such as 3rd-party filters, import and
// export plugins, or graphical user interfaces.
#ifndef __AVXSYNTH_C__
#define __AVXSYNTH_C__
#include "windowsPorts/windows2linux.h"
#include <stdarg.h>
#ifdef __cplusplus
# define EXTERN_C extern "C"
#else
# define EXTERN_C
#endif
#define AVSC_USE_STDCALL 1
#ifndef AVSC_USE_STDCALL
# define AVSC_CC __cdecl
#else
# define AVSC_CC __stdcall
#endif
#define AVSC_INLINE static __inline
#ifdef AVISYNTH_C_EXPORTS
# define AVSC_EXPORT EXTERN_C
# define AVSC_API(ret, name) EXTERN_C __declspec(dllexport) ret AVSC_CC name
#else
# define AVSC_EXPORT EXTERN_C __declspec(dllexport)
# ifndef AVSC_NO_DECLSPEC
# define AVSC_API(ret, name) EXTERN_C __declspec(dllimport) ret AVSC_CC name
# else
# define AVSC_API(ret, name) typedef ret (AVSC_CC *name##_func)
# endif
#endif
#ifdef __GNUC__
typedef long long int INT64;
#else
typedef __int64 INT64;
#endif
/////////////////////////////////////////////////////////////////////
//
// Constants
//
#ifndef __AVXSYNTH_H__
enum { AVISYNTH_INTERFACE_VERSION = 3 };
#endif
enum {AVS_SAMPLE_INT8 = 1<<0,
AVS_SAMPLE_INT16 = 1<<1,
AVS_SAMPLE_INT24 = 1<<2,
AVS_SAMPLE_INT32 = 1<<3,
AVS_SAMPLE_FLOAT = 1<<4};
enum {AVS_PLANAR_Y=1<<0,
AVS_PLANAR_U=1<<1,
AVS_PLANAR_V=1<<2,
AVS_PLANAR_ALIGNED=1<<3,
AVS_PLANAR_Y_ALIGNED=AVS_PLANAR_Y|AVS_PLANAR_ALIGNED,
AVS_PLANAR_U_ALIGNED=AVS_PLANAR_U|AVS_PLANAR_ALIGNED,
AVS_PLANAR_V_ALIGNED=AVS_PLANAR_V|AVS_PLANAR_ALIGNED};
// Colorspace properties.
enum {AVS_CS_BGR = 1<<28,
AVS_CS_YUV = 1<<29,
AVS_CS_INTERLEAVED = 1<<30,
AVS_CS_PLANAR = 1<<31};
// Specific colorformats
enum {
AVS_CS_UNKNOWN = 0,
AVS_CS_BGR24 = 1<<0 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_BGR32 = 1<<1 | AVS_CS_BGR | AVS_CS_INTERLEAVED,
AVS_CS_YUY2 = 1<<2 | AVS_CS_YUV | AVS_CS_INTERLEAVED,
AVS_CS_YV12 = 1<<3 | AVS_CS_YUV | AVS_CS_PLANAR, // y-v-u, planar
AVS_CS_I420 = 1<<4 | AVS_CS_YUV | AVS_CS_PLANAR, // y-u-v, planar
AVS_CS_IYUV = 1<<4 | AVS_CS_YUV | AVS_CS_PLANAR // same as above
};
enum {
AVS_IT_BFF = 1<<0,
AVS_IT_TFF = 1<<1,
AVS_IT_FIELDBASED = 1<<2};
enum {
AVS_FILTER_TYPE=1,
AVS_FILTER_INPUT_COLORSPACE=2,
AVS_FILTER_OUTPUT_TYPE=9,
AVS_FILTER_NAME=4,
AVS_FILTER_AUTHOR=5,
AVS_FILTER_VERSION=6,
AVS_FILTER_ARGS=7,
AVS_FILTER_ARGS_INFO=8,
AVS_FILTER_ARGS_DESCRIPTION=10,
AVS_FILTER_DESCRIPTION=11};
enum { //SUBTYPES
AVS_FILTER_TYPE_AUDIO=1,
AVS_FILTER_TYPE_VIDEO=2,
AVS_FILTER_OUTPUT_TYPE_SAME=3,
AVS_FILTER_OUTPUT_TYPE_DIFFERENT=4};
enum {
AVS_CACHE_NOTHING=0,
AVS_CACHE_RANGE=1,
AVS_CACHE_ALL=2,
AVS_CACHE_AUDIO=3,
AVS_CACHE_AUDIO_NONE=4,
AVS_CACHE_AUDIO_AUTO=5
};
#define AVS_FRAME_ALIGN 16
typedef struct AVS_Clip AVS_Clip;
typedef struct AVS_ScriptEnvironment AVS_ScriptEnvironment;
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoInfo
//
// AVS_VideoInfo is layed out identicly to VideoInfo
typedef struct AVS_VideoInfo {
int width, height; // width=0 means no video
unsigned fps_numerator, fps_denominator;
int num_frames;
int pixel_type;
int audio_samples_per_second; // 0 means no audio
int sample_type;
INT64 num_audio_samples;
int nchannels;
// Imagetype properties
int image_type;
} AVS_VideoInfo;
// useful functions of the above
AVSC_INLINE int avs_has_video(const AVS_VideoInfo * p)
{ return (p->width!=0); }
AVSC_INLINE int avs_has_audio(const AVS_VideoInfo * p)
{ return (p->audio_samples_per_second!=0); }
AVSC_INLINE int avs_is_rgb(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_BGR); }
AVSC_INLINE int avs_is_rgb24(const AVS_VideoInfo * p)
{ return (p->pixel_type&AVS_CS_BGR24)==AVS_CS_BGR24; } // Clear out additional properties
AVSC_INLINE int avs_is_rgb32(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_BGR32) == AVS_CS_BGR32 ; }
AVSC_INLINE int avs_is_yuv(const AVS_VideoInfo * p)
{ return !!(p->pixel_type&AVS_CS_YUV ); }
AVSC_INLINE int avs_is_yuy2(const AVS_VideoInfo * p)
{ return (p->pixel_type & AVS_CS_YUY2) == AVS_CS_YUY2; }
AVSC_INLINE int avs_is_yv12(const AVS_VideoInfo * p)
{ return ((p->pixel_type & AVS_CS_YV12) == AVS_CS_YV12)||((p->pixel_type & AVS_CS_I420) == AVS_CS_I420); }
AVSC_INLINE int avs_is_color_space(const AVS_VideoInfo * p, int c_space)
{ return ((p->pixel_type & c_space) == c_space); }
AVSC_INLINE int avs_is_property(const AVS_VideoInfo * p, int property)
{ return ((p->pixel_type & property)==property ); }
AVSC_INLINE int avs_is_planar(const AVS_VideoInfo * p)
{ return !!(p->pixel_type & AVS_CS_PLANAR); }
AVSC_INLINE int avs_is_field_based(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_FIELDBASED); }
AVSC_INLINE int avs_is_parity_known(const AVS_VideoInfo * p)
{ return ((p->image_type & AVS_IT_FIELDBASED)&&(p->image_type & (AVS_IT_BFF | AVS_IT_TFF))); }
AVSC_INLINE int avs_is_bff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_BFF); }
AVSC_INLINE int avs_is_tff(const AVS_VideoInfo * p)
{ return !!(p->image_type & AVS_IT_TFF); }
AVSC_INLINE int avs_bits_per_pixel(const AVS_VideoInfo * p)
{
switch (p->pixel_type) {
case AVS_CS_BGR24: return 24;
case AVS_CS_BGR32: return 32;
case AVS_CS_YUY2: return 16;
case AVS_CS_YV12:
case AVS_CS_I420: return 12;
default: return 0;
}
}
AVSC_INLINE int avs_bytes_from_pixels(const AVS_VideoInfo * p, int pixels)
{ return pixels * (avs_bits_per_pixel(p)>>3); } // Will work on planar images, but will return only luma planes
AVSC_INLINE int avs_row_size(const AVS_VideoInfo * p)
{ return avs_bytes_from_pixels(p,p->width); } // Also only returns first plane on planar images
AVSC_INLINE int avs_bmp_size(const AVS_VideoInfo * vi)
{ if (avs_is_planar(vi)) {int p = vi->height * ((avs_row_size(vi)+3) & ~3); p+=p>>1; return p; } return vi->height * ((avs_row_size(vi)+3) & ~3); }
AVSC_INLINE int avs_samples_per_second(const AVS_VideoInfo * p)
{ return p->audio_samples_per_second; }
AVSC_INLINE int avs_bytes_per_channel_sample(const AVS_VideoInfo * p)
{
switch (p->sample_type) {
case AVS_SAMPLE_INT8: return sizeof(signed char);
case AVS_SAMPLE_INT16: return sizeof(signed short);
case AVS_SAMPLE_INT24: return 3;
case AVS_SAMPLE_INT32: return sizeof(signed int);
case AVS_SAMPLE_FLOAT: return sizeof(float);
default: return 0;
}
}
AVSC_INLINE int avs_bytes_per_audio_sample(const AVS_VideoInfo * p)
{ return p->nchannels*avs_bytes_per_channel_sample(p);}
AVSC_INLINE INT64 avs_audio_samples_from_frames(const AVS_VideoInfo * p, INT64 frames)
{ return ((INT64)(frames) * p->audio_samples_per_second * p->fps_denominator / p->fps_numerator); }
AVSC_INLINE int avs_frames_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return (int)(samples * (INT64)p->fps_numerator / (INT64)p->fps_denominator / (INT64)p->audio_samples_per_second); }
AVSC_INLINE INT64 avs_audio_samples_from_bytes(const AVS_VideoInfo * p, INT64 bytes)
{ return bytes / avs_bytes_per_audio_sample(p); }
AVSC_INLINE INT64 avs_bytes_from_audio_samples(const AVS_VideoInfo * p, INT64 samples)
{ return samples * avs_bytes_per_audio_sample(p); }
AVSC_INLINE int avs_audio_channels(const AVS_VideoInfo * p)
{ return p->nchannels; }
AVSC_INLINE int avs_sample_type(const AVS_VideoInfo * p)
{ return p->sample_type;}
// useful mutator
AVSC_INLINE void avs_set_property(AVS_VideoInfo * p, int property)
{ p->image_type|=property; }
AVSC_INLINE void avs_clear_property(AVS_VideoInfo * p, int property)
{ p->image_type&=~property; }
AVSC_INLINE void avs_set_field_based(AVS_VideoInfo * p, int isfieldbased)
{ if (isfieldbased) p->image_type|=AVS_IT_FIELDBASED; else p->image_type&=~AVS_IT_FIELDBASED; }
AVSC_INLINE void avs_set_fps(AVS_VideoInfo * p, unsigned numerator, unsigned denominator)
{
unsigned x=numerator, y=denominator;
while (y) { // find gcd
unsigned t = x%y; x = y; y = t;
}
p->fps_numerator = numerator/x;
p->fps_denominator = denominator/x;
}
AVSC_INLINE int avs_is_same_colorspace(AVS_VideoInfo * x, AVS_VideoInfo * y)
{
return (x->pixel_type == y->pixel_type)
|| (avs_is_yv12(x) && avs_is_yv12(y));
}
/////////////////////////////////////////////////////////////////////
//
// AVS_VideoFrame
//
// VideoFrameBuffer holds information about a memory block which is used
// for video data. For efficiency, instances of this class are not deleted
// when the refcount reaches zero; instead they're stored in a linked list
// to be reused. The instances are deleted when the corresponding AVS
// file is closed.
// AVS_VideoFrameBuffer is layed out identicly to VideoFrameBuffer
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrameBuffer {
unsigned char * data;
int data_size;
// sequence_number is incremented every time the buffer is changed, so
// that stale views can tell they're no longer valid.
long sequence_number;
long refcount;
} AVS_VideoFrameBuffer;
// VideoFrame holds a "window" into a VideoFrameBuffer.
// AVS_VideoFrame is layed out identicly to IVideoFrame
// DO NOT USE THIS STRUCTURE DIRECTLY
typedef struct AVS_VideoFrame {
int refcount;
AVS_VideoFrameBuffer * vfb;
int offset, pitch, row_size, height, offsetU, offsetV, pitchUV; // U&V offsets are from top of picture.
} AVS_VideoFrame;
// Access functions for AVS_VideoFrame
AVSC_INLINE int avs_get_pitch(const AVS_VideoFrame * p) {
return p->pitch;}
AVSC_INLINE int avs_get_pitch_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V: return p->pitchUV;}
return p->pitch;}
AVSC_INLINE int avs_get_row_size(const AVS_VideoFrame * p) {
return p->row_size; }
AVSC_INLINE int avs_get_row_size_p(const AVS_VideoFrame * p, int plane) {
int r;
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->row_size>>1;
else return 0;
case AVS_PLANAR_U_ALIGNED: case AVS_PLANAR_V_ALIGNED:
if (p->pitchUV) {
r = ((p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)) )>>1; // Aligned rowsize
if (r < p->pitchUV)
return r;
return p->row_size>>1;
} else return 0;
case AVS_PLANAR_Y_ALIGNED:
r = (p->row_size+AVS_FRAME_ALIGN-1)&(~(AVS_FRAME_ALIGN-1)); // Aligned rowsize
if (r <= p->pitch)
return r;
return p->row_size;
}
return p->row_size;
}
AVSC_INLINE int avs_get_height(const AVS_VideoFrame * p) {
return p->height;}
AVSC_INLINE int avs_get_height_p(const AVS_VideoFrame * p, int plane) {
switch (plane) {
case AVS_PLANAR_U: case AVS_PLANAR_V:
if (p->pitchUV) return p->height>>1;
return 0;
}
return p->height;}
AVSC_INLINE const unsigned char* avs_get_read_ptr(const AVS_VideoFrame * p) {
return p->vfb->data + p->offset;}
AVSC_INLINE const unsigned char* avs_get_read_ptr_p(const AVS_VideoFrame * p, int plane)
{
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;}
}
AVSC_INLINE int avs_is_writable(const AVS_VideoFrame * p) {
return (p->refcount == 1 && p->vfb->refcount == 1);}
AVSC_INLINE unsigned char* avs_get_write_ptr(const AVS_VideoFrame * p)
{
if (avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else
return 0;
}
AVSC_INLINE unsigned char* avs_get_write_ptr_p(const AVS_VideoFrame * p, int plane)
{
if (plane==AVS_PLANAR_Y && avs_is_writable(p)) {
++p->vfb->sequence_number;
return p->vfb->data + p->offset;
} else if (plane==AVS_PLANAR_Y) {
return 0;
} else {
switch (plane) {
case AVS_PLANAR_U: return p->vfb->data + p->offsetU;
case AVS_PLANAR_V: return p->vfb->data + p->offsetV;
default: return p->vfb->data + p->offset;
}
}
}
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(void, avs_release_video_frame)(AVS_VideoFrame *);
// makes a shallow copy of a video frame
AVSC_API(AVS_VideoFrame *, avs_copy_video_frame)(AVS_VideoFrame *);
#if defined __cplusplus
}
#endif // __cplusplus
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE void avs_release_frame(AVS_VideoFrame * f)
{avs_release_video_frame(f);}
AVSC_INLINE AVS_VideoFrame * avs_copy_frame(AVS_VideoFrame * f)
{return avs_copy_video_frame(f);}
#endif
/////////////////////////////////////////////////////////////////////
//
// AVS_Value
//
// Treat AVS_Value as a fat pointer. That is use avs_copy_value
// and avs_release_value appropiaty as you would if AVS_Value was
// a pointer.
// To maintain source code compatibility with future versions of the
// avisynth_c API don't use the AVS_Value directly. Use the helper
// functions below.
// AVS_Value is layed out identicly to AVSValue
typedef struct AVS_Value AVS_Value;
struct AVS_Value {
short type; // 'a'rray, 'c'lip, 'b'ool, 'i'nt, 'f'loat, 's'tring, 'v'oid, or 'l'ong
// for some function e'rror
short array_size;
union {
void * clip; // do not use directly, use avs_take_clip
char boolean;
int integer;
INT64 integer64; // match addition of __int64 to avxplugin.h
float floating_pt;
const char * string;
const AVS_Value * array;
} d;
};
// AVS_Value should be initilized with avs_void.
// Should also set to avs_void after the value is released
// with avs_copy_value. Consider it the equalvent of setting
// a pointer to NULL
static const AVS_Value avs_void = {'v'};
AVSC_API(void, avs_copy_value)(AVS_Value * dest, AVS_Value src);
AVSC_API(void, avs_release_value)(AVS_Value);
AVSC_INLINE int avs_defined(AVS_Value v) { return v.type != 'v'; }
AVSC_INLINE int avs_is_clip(AVS_Value v) { return v.type == 'c'; }
AVSC_INLINE int avs_is_bool(AVS_Value v) { return v.type == 'b'; }
AVSC_INLINE int avs_is_int(AVS_Value v) { return v.type == 'i'; }
AVSC_INLINE int avs_is_float(AVS_Value v) { return v.type == 'f' || v.type == 'i'; }
AVSC_INLINE int avs_is_string(AVS_Value v) { return v.type == 's'; }
AVSC_INLINE int avs_is_array(AVS_Value v) { return v.type == 'a'; }
AVSC_INLINE int avs_is_error(AVS_Value v) { return v.type == 'e'; }
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(AVS_Clip *, avs_take_clip)(AVS_Value, AVS_ScriptEnvironment *);
AVSC_API(void, avs_set_to_clip)(AVS_Value *, AVS_Clip *);
#if defined __cplusplus
}
#endif // __cplusplus
AVSC_INLINE int avs_as_bool(AVS_Value v)
{ return v.d.boolean; }
AVSC_INLINE int avs_as_int(AVS_Value v)
{ return v.d.integer; }
AVSC_INLINE const char * avs_as_string(AVS_Value v)
{ return avs_is_error(v) || avs_is_string(v) ? v.d.string : 0; }
AVSC_INLINE double avs_as_float(AVS_Value v)
{ return avs_is_int(v) ? v.d.integer : v.d.floating_pt; }
AVSC_INLINE const char * avs_as_error(AVS_Value v)
{ return avs_is_error(v) ? v.d.string : 0; }
AVSC_INLINE const AVS_Value * avs_as_array(AVS_Value v)
{ return v.d.array; }
AVSC_INLINE int avs_array_size(AVS_Value v)
{ return avs_is_array(v) ? v.array_size : 1; }
AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
{ return avs_is_array(v) ? v.d.array[index] : v; }
// only use these functions on am AVS_Value that does not already have
// an active value. Remember, treat AVS_Value as a fat pointer.
AVSC_INLINE AVS_Value avs_new_value_bool(int v0)
{ AVS_Value v; v.type = 'b'; v.d.boolean = v0 == 0 ? 0 : 1; return v; }
AVSC_INLINE AVS_Value avs_new_value_int(int v0)
{ AVS_Value v; v.type = 'i'; v.d.integer = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_string(const char * v0)
{ AVS_Value v; v.type = 's'; v.d.string = v0; return v; }
AVSC_INLINE AVS_Value avs_new_value_float(float v0)
{ AVS_Value v; v.type = 'f'; v.d.floating_pt = v0; return v;}
AVSC_INLINE AVS_Value avs_new_value_error(const char * v0)
{ AVS_Value v; v.type = 'e'; v.d.string = v0; return v; }
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE AVS_Value avs_new_value_clip(AVS_Clip * v0)
{ AVS_Value v; avs_set_to_clip(&v, v0); return v; }
#endif
AVSC_INLINE AVS_Value avs_new_value_array(AVS_Value * v0, int size)
{ AVS_Value v; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
/////////////////////////////////////////////////////////////////////
//
// AVS_Clip
//
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(void, avs_release_clip)(AVS_Clip *);
AVSC_API(AVS_Clip *, avs_copy_clip)(AVS_Clip *);
AVSC_API(const char *, avs_clip_get_error)(AVS_Clip *); // return 0 if no error
AVSC_API(const AVS_VideoInfo *, avs_get_video_info)(AVS_Clip *);
AVSC_API(int, avs_get_version)(AVS_Clip *);
AVSC_API(AVS_VideoFrame *, avs_get_frame)(AVS_Clip *, int n);
// The returned video frame must be released with avs_release_video_frame
AVSC_API(int, avs_get_parity)(AVS_Clip *, int n);
// return field parity if field_based, else parity of first field in frame
AVSC_API(int, avs_get_audio)(AVS_Clip *, void * buf,
INT64 start, INT64 count);
// start and count are in samples
AVSC_API(int, avs_set_cache_hints)(AVS_Clip *,
int cachehints, size_t frame_range);
#if defined __cplusplus
}
#endif // __cplusplus
// This is the callback type used by avs_add_function
typedef AVS_Value (AVSC_CC * AVS_ApplyFunc)
(AVS_ScriptEnvironment *, AVS_Value args, void * user_data);
typedef struct AVS_FilterInfo AVS_FilterInfo;
struct AVS_FilterInfo
{
// these members should not be modified outside of the AVS_ApplyFunc callback
AVS_Clip * child;
AVS_VideoInfo vi;
AVS_ScriptEnvironment * env;
AVS_VideoFrame * (AVSC_CC * get_frame)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_parity)(AVS_FilterInfo *, int n);
int (AVSC_CC * get_audio)(AVS_FilterInfo *, void * buf,
INT64 start, INT64 count);
int (AVSC_CC * set_cache_hints)(AVS_FilterInfo *, int cachehints,
int frame_range);
void (AVSC_CC * free_filter)(AVS_FilterInfo *);
// Should be set when ever there is an error to report.
// It is cleared before any of the above methods are called
const char * error;
// this is to store whatever and may be modified at will
void * user_data;
};
// Create a new filter
// fi is set to point to the AVS_FilterInfo so that you can
// modify it once it is initilized.
// store_child should generally be set to true. If it is not
// set than ALL methods (the function pointers) must be defined
// If it is set than you do not need to worry about freeing the child
// clip.
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(AVS_Clip *, avs_new_c_filter)(AVS_ScriptEnvironment * e,
AVS_FilterInfo * * fi,
AVS_Value child, int store_child);
#if defined __cplusplus
}
#endif // __cplusplus
/////////////////////////////////////////////////////////////////////
//
// AVS_ScriptEnvironment
//
// For GetCPUFlags. These are backwards-compatible with those in VirtualDub.
enum {
/* slowest CPU to support extension */
AVS_CPU_FORCE = 0x01, // N/A
AVS_CPU_FPU = 0x02, // 386/486DX
AVS_CPU_MMX = 0x04, // P55C, K6, PII
AVS_CPU_INTEGER_SSE = 0x08, // PIII, Athlon
AVS_CPU_SSE = 0x10, // PIII, Athlon XP/MP
AVS_CPU_SSE2 = 0x20, // PIV, Hammer
AVS_CPU_3DNOW = 0x40, // K6-2
AVS_CPU_3DNOW_EXT = 0x80, // Athlon
AVS_CPU_X86_64 = 0xA0, // Hammer (note: equiv. to 3DNow + SSE2,
// which only Hammer will have anyway)
};
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(const char *, avs_get_error)(AVS_ScriptEnvironment *); // return 0 if no error
AVSC_API(long, avs_get_cpu_flags)(AVS_ScriptEnvironment *);
AVSC_API(int, avs_check_version)(AVS_ScriptEnvironment *, int version);
AVSC_API(char *, avs_save_string)(AVS_ScriptEnvironment *, const char* s, int length);
AVSC_API(char *, avs_sprintf)(AVS_ScriptEnvironment *, const char * fmt, ...);
AVSC_API(char *, avs_vsprintf)(AVS_ScriptEnvironment *, const char * fmt, va_list val);
// note: val is really a va_list; I hope everyone typedefs va_list to a pointer
AVSC_API(int, avs_add_function)(AVS_ScriptEnvironment *,
const char * name, const char * params,
AVS_ApplyFunc apply, void * user_data);
AVSC_API(int, avs_function_exists)(AVS_ScriptEnvironment *, const char * name);
AVSC_API(AVS_Value, avs_invoke)(AVS_ScriptEnvironment *, const char * name,
AVS_Value args, const char** arg_names);
// The returned value must be be released with avs_release_value
AVSC_API(AVS_Value, avs_get_var)(AVS_ScriptEnvironment *, const char* name);
// The returned value must be be released with avs_release_value
AVSC_API(int, avs_set_var)(AVS_ScriptEnvironment *, const char* name, AVS_Value val);
AVSC_API(int, avs_set_global_var)(AVS_ScriptEnvironment *, const char* name, const AVS_Value val);
//void avs_push_context(AVS_ScriptEnvironment *, int level=0);
//void avs_pop_context(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_new_video_frame_a)(AVS_ScriptEnvironment *,
const AVS_VideoInfo * vi, int align);
// align should be at least 16
#if defined __cplusplus
}
#endif // __cplusplus
#ifndef AVSC_NO_DECLSPEC
AVSC_INLINE
AVS_VideoFrame * avs_new_video_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
AVSC_INLINE
AVS_VideoFrame * avs_new_frame(AVS_ScriptEnvironment * env,
const AVS_VideoInfo * vi)
{return avs_new_video_frame_a(env,vi,AVS_FRAME_ALIGN);}
#endif
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(int, avs_make_writable)(AVS_ScriptEnvironment *, AVS_VideoFrame * * pvf);
AVSC_API(void, avs_bit_blt)(AVS_ScriptEnvironment *, unsigned char* dstp, int dst_pitch, const unsigned char* srcp, int src_pitch, int row_size, int height);
typedef void (AVSC_CC *AVS_ShutdownFunc)(void* user_data, AVS_ScriptEnvironment * env);
AVSC_API(void, avs_at_exit)(AVS_ScriptEnvironment *, AVS_ShutdownFunc function, void * user_data);
AVSC_API(AVS_VideoFrame *, avs_subframe)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height);
// The returned video frame must be be released
AVSC_API(int, avs_set_memory_max)(AVS_ScriptEnvironment *, int mem);
AVSC_API(int, avs_set_working_dir)(AVS_ScriptEnvironment *, const char * newdir);
// avisynth.dll exports this; it's a way to use it as a library, without
// writing an AVS script or without going through AVIFile.
AVSC_API(AVS_ScriptEnvironment *, avs_create_script_environment)(int version);
#if defined __cplusplus
}
#endif // __cplusplus
// this symbol is the entry point for the plugin and must
// be defined
AVSC_EXPORT
const char * AVSC_CC avisynth_c_plugin_init(AVS_ScriptEnvironment* env);
#if defined __cplusplus
extern "C"
{
#endif // __cplusplus
AVSC_API(void, avs_delete_script_environment)(AVS_ScriptEnvironment *);
AVSC_API(AVS_VideoFrame *, avs_subframe_planar)(AVS_ScriptEnvironment *, AVS_VideoFrame * src, int rel_offset, int new_pitch, int new_row_size, int new_height, int rel_offsetU, int rel_offsetV, int new_pitchUV);
// The returned video frame must be be released
#if defined __cplusplus
}
#endif // __cplusplus
#endif //__AVXSYNTH_C__

View File

@@ -0,0 +1,85 @@
#ifndef __DATA_TYPE_CONVERSIONS_H__
#define __DATA_TYPE_CONVERSIONS_H__
#include <stdint.h>
#include <wchar.h>
#ifdef __cplusplus
namespace avxsynth {
#endif // __cplusplus
typedef int64_t __int64;
typedef int32_t __int32;
#ifdef __cplusplus
typedef bool BOOL;
#else
typedef uint32_t BOOL;
#endif // __cplusplus
typedef void* HMODULE;
typedef void* LPVOID;
typedef void* PVOID;
typedef PVOID HANDLE;
typedef HANDLE HWND;
typedef HANDLE HINSTANCE;
typedef void* HDC;
typedef void* HBITMAP;
typedef void* HICON;
typedef void* HFONT;
typedef void* HGDIOBJ;
typedef void* HBRUSH;
typedef void* HMMIO;
typedef void* HACMSTREAM;
typedef void* HACMDRIVER;
typedef void* HIC;
typedef void* HACMOBJ;
typedef HACMSTREAM* LPHACMSTREAM;
typedef void* HACMDRIVERID;
typedef void* LPHACMDRIVER;
typedef unsigned char BYTE;
typedef BYTE* LPBYTE;
typedef char TCHAR;
typedef TCHAR* LPTSTR;
typedef const TCHAR* LPCTSTR;
typedef char* LPSTR;
typedef LPSTR LPOLESTR;
typedef const char* LPCSTR;
typedef LPCSTR LPCOLESTR;
typedef wchar_t WCHAR;
typedef unsigned short WORD;
typedef unsigned int UINT;
typedef UINT MMRESULT;
typedef uint32_t DWORD;
typedef DWORD COLORREF;
typedef DWORD FOURCC;
typedef DWORD HRESULT;
typedef DWORD* LPDWORD;
typedef DWORD* DWORD_PTR;
typedef int32_t LONG;
typedef int32_t* LONG_PTR;
typedef LONG_PTR LRESULT;
typedef uint32_t ULONG;
typedef uint32_t* ULONG_PTR;
//typedef __int64_t intptr_t;
typedef uint64_t _fsize_t;
//
// Structures
//
typedef struct _GUID {
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[8];
} GUID;
typedef GUID REFIID;
typedef GUID CLSID;
typedef CLSID* LPCLSID;
typedef GUID IID;
#ifdef __cplusplus
}; // namespace avxsynth
#endif // __cplusplus
#endif // __DATA_TYPE_CONVERSIONS_H__

View File

@@ -0,0 +1,77 @@
#ifndef __WINDOWS2LINUX_H__
#define __WINDOWS2LINUX_H__
/*
* LINUX SPECIFIC DEFINITIONS
*/
//
// Data types conversions
//
#include <stdlib.h>
#include <string.h>
#include "basicDataTypeConversions.h"
#ifdef __cplusplus
namespace avxsynth {
#endif // __cplusplus
//
// purposefully define the following MSFT definitions
// to mean nothing (as they do not mean anything on Linux)
//
#define __stdcall
#define __cdecl
#define noreturn
#define __declspec(x)
#define STDAPI extern "C" HRESULT
#define STDMETHODIMP HRESULT __stdcall
#define STDMETHODIMP_(x) x __stdcall
#define STDMETHOD(x) virtual HRESULT x
#define STDMETHOD_(a, x) virtual a x
#ifndef TRUE
#define TRUE true
#endif
#ifndef FALSE
#define FALSE false
#endif
#define S_OK (0x00000000)
#define S_FALSE (0x00000001)
#define E_NOINTERFACE (0X80004002)
#define E_POINTER (0x80004003)
#define E_FAIL (0x80004005)
#define E_OUTOFMEMORY (0x8007000E)
#define INVALID_HANDLE_VALUE ((HANDLE)((LONG_PTR)-1))
#define FAILED(hr) ((hr) & 0x80000000)
#define SUCCEEDED(hr) (!FAILED(hr))
//
// Functions
//
#define MAKEDWORD(a,b,c,d) ((a << 24) | (b << 16) | (c << 8) | (d))
#define MAKEWORD(a,b) ((a << 8) | (b))
#define lstrlen strlen
#define lstrcpy strcpy
#define lstrcmpi strcasecmp
#define _stricmp strcasecmp
#define InterlockedIncrement(x) __sync_fetch_and_add((x), 1)
#define InterlockedDecrement(x) __sync_fetch_and_sub((x), 1)
// Windows uses (new, old) ordering but GCC has (old, new)
#define InterlockedCompareExchange(x,y,z) __sync_val_compare_and_swap(x,z,y)
#define UInt32x32To64(a, b) ( (uint64_t) ( ((uint64_t)((uint32_t)(a))) * ((uint32_t)(b)) ) )
#define Int64ShrlMod32(a, b) ( (uint64_t) ( (uint64_t)(a) >> (b) ) )
#define Int32x32To64(a, b) ((__int64)(((__int64)((long)(a))) * ((long)(b))))
#define MulDiv(nNumber, nNumerator, nDenominator) (int32_t) (((int64_t) (nNumber) * (int64_t) (nNumerator) + (int64_t) ((nDenominator)/2)) / (int64_t) (nDenominator))
#ifdef __cplusplus
}; // namespace avxsynth
#endif // __cplusplus
#endif // __WINDOWS2LINUX_H__

View File

@@ -1,3 +1,24 @@
/*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef FFMPEG_COMPAT_TMS470_MATH_H
#define FFMPEG_COMPAT_TMS470_MATH_H
#include_next <math.h>
#undef INFINITY
@@ -5,3 +26,5 @@
#define INFINITY (*(const float*)((const unsigned []){ 0x7f800000 }))
#define NAN (*(const float*)((const unsigned []){ 0x7fc00000 }))
#endif /* FFMPEG_COMPAT_TMS470_MATH_H */

View File

@@ -4,20 +4,20 @@
* Authors: Steven Walters <kemuri9@gmail.com>
* Pegasys Inc. <http://www.pegasys-inc.com>
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
@@ -26,8 +26,8 @@
* w32threads to pthreads wrapper
*/
#ifndef AVCODEC_W32PTHREADS_H
#define AVCODEC_W32PTHREADS_H
#ifndef FFMPEG_COMPAT_W32PTHREADS_H
#define FFMPEG_COMPAT_W32PTHREADS_H
/* Build up a pthread-like API using underlying Windows API. Have only static
* methods so as to not conflict with a potentially linked in pthread-win32
@@ -62,11 +62,18 @@ typedef struct pthread_cond_t {
} pthread_cond_t;
/* function pointers to conditional variable API on windows 6.0+ kernels */
#if _WIN32_WINNT < 0x0600
static void (WINAPI *cond_broadcast)(pthread_cond_t *cond);
static void (WINAPI *cond_init)(pthread_cond_t *cond);
static void (WINAPI *cond_signal)(pthread_cond_t *cond);
static BOOL (WINAPI *cond_wait)(pthread_cond_t *cond, pthread_mutex_t *mutex,
DWORD milliseconds);
#else
#define cond_init InitializeConditionVariable
#define cond_broadcast WakeAllConditionVariable
#define cond_signal WakeConditionVariable
#define cond_wait SleepConditionVariableCS
#endif
static unsigned __stdcall attribute_align_arg win32thread_worker(void *arg)
{
@@ -257,6 +264,7 @@ static void pthread_cond_signal(pthread_cond_t *cond)
static void w32thread_init(void)
{
#if _WIN32_WINNT < 0x0600
HANDLE kernel_dll = GetModuleHandle(TEXT("kernel32.dll"));
/* if one is available, then they should all be available */
cond_init =
@@ -267,6 +275,8 @@ static void w32thread_init(void)
(void*)GetProcAddress(kernel_dll, "WakeConditionVariable");
cond_wait =
(void*)GetProcAddress(kernel_dll, "SleepConditionVariableCS");
#endif
}
#endif /* AVCODEC_W32PTHREADS_H */
#endif /* FFMPEG_COMPAT_W32PTHREADS_H */

937
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -2,10 +2,10 @@ Never assume the API of libav* to be stable unless at least 1 month has passed
since the last major version increase or the API was added.
The last version increases were:
libavcodec: 2012-01-27
libavdevice: 2011-04-18
libavcodec: 2013-03-xx
libavdevice: 2013-03-xx
libavfilter: 2012-06-22
libavformat: 2012-01-27
libavformat: 2013-03-xx
libavresample: 2012-10-05
libpostproc: 2011-04-18
libswresample: 2011-09-19
@@ -15,10 +15,154 @@ libavutil: 2012-10-22
API changes, most recent first:
2013-03-07 - xxxxxx - lavu 52.18.100 - avstring.h,bprint.h
2013-10-27 - xxxxxxx - lavc 55.39.100 - avcodec.h
Add CODEC_CAP_DELAY support to avcodec_decode_subtitle2.
2013-10-27 - xxxxxxx - lavu 52.48.100 - parseutils.h
Add av_get_known_color_name().
2013-10-17 - xxxxxxx - lavu 52.47.100 - opt.h
Add AV_OPT_TYPE_CHANNEL_LAYOUT and channel layout option handlers
av_opt_get_channel_layout() and av_opt_set_channel_layout().
2013-10-xx - xxxxxxx -libswscale 2.5.101 - options.c
Change default scaler to bicubic
2013-10-03 - xxxxxxx - lavc 55.34.100 - avcodec.h
Add av_codec_get_max_lowres()
2013-10-02 - xxxxxxx - lavf 55.19.100 - avformat.h
Add audio/video/subtitle AVCodec fields to AVFormatContext to force specific
decoders
2013-08-xx - xxxxxxx - lavfi 3.11.0 - avfilter.h
Add AVFilterGraph.execute and AVFilterGraph.opaque for custom slice threading
implementations.
2013-09-21 - xxxxxxx - lavu 52.16.0 - pixfmt.h
Add interleaved 4:2:2 8/10-bit formats AV_PIX_FMT_NV16 and
AV_PIX_FMT_NV20.
2013-09-16 - c74c3fb / 3feb3d6 - lavu 52.44.100 / 52.15.0 - mem.h
Add av_reallocp.
2013-09-04 - 3e1f507 - lavc 55.31.101 - avcodec.h
avcodec_close() argument can be NULL.
2013-09-04 - 36cd017 - lavf 55.16.101 - avformat.h
avformat_close_input() argument can be NULL and point on NULL.
2013-08-29 - e31db62 - lavf 55.15.100 - avformat.h
Add av_format_get_probe_score().
2013-08-15 - 1e0e193 - lsws 2.5.100 -
Add a sws_dither AVOption, allowing to set the dither algorithm used
2013-08-xx - xxxxxxx - lavc 55.27.100 - vdpau.h
Add a render2 alternative to the render callback function.
2013-08-xx - xxxxxxx - lavc 55.26.100 - vdpau.h
Add allocation function for AVVDPAUContext, allowing
to extend it in the future without breaking ABI/API.
2013-08-10 - 67a580f / 5a9a9d4 - lavc 55.25.100 / 55.16.0 - avcodec.h
Extend AVPacket API with av_packet_unref, av_packet_ref,
av_packet_move_ref, av_packet_copy_props, av_packet_free_side_data.
2013-08-05 - 9547e3e / f824535 - lavc 55.22.100 / 55.13.0 - avcodec.h
Deprecate the bitstream-related members from struct AVVDPAUContext.
The bistream buffers no longer need to be explicitly freed.
2013-08-05 - 3b805dc / 549294f - lavc 55.21.100 / 55.12.0 - avcodec.h
Deprecate the CODEC_CAP_HWACCEL_VDPAU codec capability. Use CODEC_CAP_HWACCEL
and select the AV_PIX_FMT_VDPAU format with get_format() instead.
2013-08-05 - 4ee0984 / a0ad5d0 - lavu 52.41.100 / 52.14.0 - pixfmt.h
Deprecate AV_PIX_FMT_VDPAU_*. Use AV_PIX_FMT_VDPAU instead.
2013-08-02 - 82fdfe8 / a8b1927 - lavc 55.20.100 / 55.11.0 - avcodec.h
Add output_picture_number to AVCodecParserContext.
2013-07-23 - abc8110 - lavc 55.19.100 - avcodec.h
Add avcodec_chroma_pos_to_enum()
Add avcodec_enum_to_chroma_pos()
2013-07-03 - 838bd73 - lavfi 3.78.100 - avfilter.h
Deprecate avfilter_graph_parse() in favor of the equivalent
avfilter_graph_parse_ptr().
2013-06-24 - af5f9c0 / 95d5246 - lavc 55.17.100 / 55.10.0 - avcodec.h
Add MPEG-2 AAC profiles
2013-06-25 - af5f9c0 / 95d5246 - lavf 55.10.100 - avformat.h
Add AV_DISPOSITION_* flags to indicate text track kind.
2013-06-15 - 99b8cd0 - lavu 52.36.100
Add AVRIPEMD:
av_ripemd_alloc()
av_ripemd_init()
av_ripemd_update()
av_ripemd_final()
2013-06-04 - 30b491f / fc962d4 - lavu 52.35.100 / 52.13.0 - mem.h
Add av_realloc_array and av_reallocp_array
2013-05-30 - 682b227 - lavu 52.35.100
Add AVSHA512:
av_sha512_alloc()
av_sha512_init()
av_sha512_update()
av_sha512_final()
2013-05-24 - 8d4e969 / 129bb23 - lavfi 3.10.0 / 3.70.100 - avfilter.h
Add support for slice multithreading to lavfi. Filters supporting threading
are marked with AVFILTER_FLAG_SLICE_THREADS.
New fields AVFilterContext.thread_type, AVFilterGraph.thread_type and
AVFilterGraph.nb_threads (accessible directly or through AVOptions) may be
used to configure multithreading.
2013-05-24 - fe40a9f / 2a6eaea - lavu 52.12.0 / 52.34.100 - cpu.h
Add av_cpu_count() function for getting the number of logical CPUs.
2013-05-24 - 0c25c39 / b493847 - lavc 55.7.0 / 55.12.100 - avcodec.h
Add picture_structure to AVCodecParserContext.
2013-05-17 - 3a751ea - lavu 52.33.100 - opt.h
Add AV_OPT_TYPE_COLOR value to AVOptionType enum.
2013-05-13 - e398416 - lavu 52.31.100 - mem.h
Add av_dynarray2_add().
2013-05-12 - 1776177 - lavfi 3.65.100
Add AVFILTER_FLAG_SUPPORT_TIMELINE* filter flags.
2013-04-19 - 380cfce - lavc 55.4.100
Add AV_CODEC_PROP_TEXT_SUB property for text based subtitles codec.
2013-04-18 - 7c1a002 - lavf 55.3.100
The matroska demuxer can now output proper verbatim ASS packets. It will
become the default starting lavf 56.0.100.
2013-04-10 - af0d270 - lavu 25.26.100 - avutil.h,opt.h
Add av_int_list_length()
and av_opt_set_int_list().
2013-03-30 - 5c73645 - lavu 52.24.100 - samplefmt.h
Add av_samples_alloc_array_and_samples().
2013-03-29 - ef7b6b4 - lavf 55.1.100 - avformat.h
Add av_guess_frame_rate()
2013-03-20 - 8d928a9 - lavu 52.22.100 - opt.h
Add AV_OPT_TYPE_DURATION value to AVOptionType enum.
2013-03-17 - 7aa9af5 - lavu 52.20.100 - opt.h
Add AV_OPT_TYPE_VIDEO_RATE value to AVOptionType enum.
2013-03-07 - 9767ec6 - lavu 52.18.100 - avstring.h,bprint.h
Add av_escape() and av_bprint_escape() API.
2013-02-24 - xxxxxx - lavfi 3.41.100 - buffersink.h
2013-02-24 - b59cd08 - lavfi 3.41.100 - buffersink.h
Add sample_rates field to AVABufferSinkParams.
2013-01-17 - a1a707f - lavf 54.61.100
@@ -31,7 +175,7 @@ API changes, most recent first:
Add AVFilterLink.channels, avfilter_link_get_channels()
and avfilter_ref_get_channels().
2012-12-15 - 2ada584d - lavc 54.80.100 - avcodec.h
2012-12-15 - 96d815fc - lavc 54.80.100 - avcodec.h
Add pkt_size field to AVFrame.
2012-11-25 - c70ec631 - lavu 52.9.100 - opt.h
@@ -144,21 +288,93 @@ API changes, most recent first:
2012-03-26 - a67d9cf - lavfi 2.66.100
Add avfilter_fill_frame_from_{audio_,}buffer_ref() functions.
2013-xx-xx - xxxxxxx - lavfi 3.4.0 - avfiltergraph.h
2013-05-15 - ff46809 / e6c4ac7 - lavu 52.32.100 / 52.11.0 - pixdesc.h
Replace PIX_FMT_* flags with AV_PIX_FMT_FLAG_*.
2013-04-03 - 6fc58a8 / 507b1e4 - lavc 55.7.100 / 55.4.0 - avcodec.h
Add field_order to AVCodecParserContext.
2013-04-19 - f4b05cd / 5e83d9a - lavc 55.5.100 / 55.2.0 - avcodec.h
Add CODEC_FLAG_UNALIGNED to allow decoders to produce unaligned output.
2013-04-11 - lavfi 3.53.100 / 3.8.0
231fd44 / 38f0c07 - Move all content from avfiltergraph.h to avfilter.h. Deprecate
avfilterhraph.h, user applications should include just avfilter.h
86070b8 / bc1a985 - Add avfilter_graph_alloc_filter(), deprecate avfilter_open() and
avfilter_graph_add_filter().
4fde705 / 1113672 - Add AVFilterContext.graph pointing to the AVFilterGraph that contains the
filter.
710b0aa / 48a5ada - Add avfilter_init_str(), deprecate avfilter_init_filter().
46de9ba / 1ba95a9 - Add avfilter_init_dict().
16fc24b / 7cdd737 - Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
f4db6bf / 7e8fe4b - Add avfilter_pad_count() for counting filter inputs/outputs.
835cc0f / fa2a34c - Add avfilter_next(), deprecate av_filter_next().
Deprecate avfilter_uninit().
2013-04-09 - lavfi 3.51.100 / 3.7.0 - avfilter.h
0594ef0 / b439c99 - Add AVFilter.priv_class for exporting filter options through the
AVOptions API in the similar way private options work in lavc and lavf.
44d4488 / 8114c10 - Add avfilter_get_class().
Switch all filters to use AVOptions.
2013-03-19 - 17ebef2 / 2c328a9 - lavu 52.20.100 / 52.9.0 - pixdesc.h
Add av_pix_fmt_count_planes() function for counting planes in a pixel format.
2013-03-16 - ecade98 / 42c7c61 - lavfi 3.47.100 / 3.6.0
Add AVFilterGraph.nb_filters, deprecate AVFilterGraph.filter_count.
2013-03-08 - Reference counted buffers - lavu 52.8.0, lavc 55.0.100 / 55.0.0, lavf 55.0.100 / 55.0.0,
lavd 54.4.100 / 54.0.0, lavfi 3.5.0
36099df / 8e401db, 532f31a / 1cec062 - add a new API for reference counted buffers and buffer
pools (new header libavutil/buffer.h).
2653e12 / 1afddbe - add AVPacket.buf to allow reference counting for the AVPacket data.
Add av_packet_from_data() function for constructing packets from
av_malloc()ed data.
c4e8821 / 7ecc2d4 - move AVFrame from lavc to lavu (new header libavutil/frame.h), add
AVFrame.buf/extended_buf to allow reference counting for the AVFrame
data. Add new API for working with reference-counted AVFrames.
80e9e63 / 759001c - add the refcounted_frames field to AVCodecContext to make audio and
video decoders return reference-counted frames. Add get_buffer2()
callback to AVCodecContext which allocates reference-counted frames.
Add avcodec_default_get_buffer2() as the default get_buffer2()
implementation.
Deprecate AVCodecContext.get_buffer() / release_buffer() /
reget_buffer(), avcodec_default_get_buffer(),
avcodec_default_reget_buffer(), avcodec_default_release_buffer().
Remove avcodec_default_free_buffers(), which should not have ever
been called from outside of lavc.
Deprecate the following AVFrame fields:
* base -- is now stored in AVBufferRef
* reference, type, buffer_hints -- are unnecessary in the new API
* hwaccel_picture_private, owner, thread_opaque -- should not
have been acessed from outside of lavc
* qscale_table, qstride, qscale_type, mbskip_table, motion_val,
mb_type, dct_coeff, ref_index -- mpegvideo-specific tables,
which are not exported anymore.
a05a44e / 7e35037 - switch libavfilter to use AVFrame instead of AVFilterBufferRef. Add
av_buffersrc_add_frame(), deprecate av_buffersrc_buffer().
Add av_buffersink_get_frame() and av_buffersink_get_samples(),
deprecate av_buffersink_read() and av_buffersink_read_samples().
Deprecate AVFilterBufferRef and all functions for working with it.
2013-03-17 - 6c17ff8 / 12c5c1d - lavu 52.19.100 / 52.8.0 - avstring.h
Add av_isdigit, av_isgraph, av_isspace, av_isxdigit.
2013-02-23 - 71cf094 / 9f12235 - lavfi 3.40.100 / 3.4.0 - avfiltergraph.h
Add resample_lavr_opts to AVFilterGraph for setting libavresample options
for auto-inserted resample filters.
2013-xx-xx - xxxxxxx - lavu 52.7.0 - dict.h
2013-01-25 - e7e14bc / 38c1466 - lavu 52.17.100 / 52.7.0 - dict.h
Add av_dict_parse_string() to set multiple key/value pairs at once from a
string.
2013-01-xx - xxxxxxx - lavu 52.6.0 - avstring.h
2013-01-25 - 25be630 / b85a5e8 - lavu 52.16.100 / 52.6.0 - avstring.h
Add av_strnstr()
2013-01-xx - xxxxxxx - lavu 52.5.0 - hmac.h
2013-01-15 - e7e0186 / 8ee288d - lavu 52.15.100 / 52.5.0 - hmac.h
Add AVHMAC.
2013-01-13 - xxxxxxx - lavc 54.87.100 / 54.36.0 - vdpau.h
2013-01-13 - 8ee7b38 / 44e065d - lavc 54.87.100 / 54.36.0 - vdpau.h
Add AVVDPAUContext struct for VDPAU hardware-accelerated decoding.
2013-01-12 - dae382b / 169fb94 - lavu 52.14.100 / 52.4.0 - pixdesc.h
@@ -246,7 +462,7 @@ API changes, most recent first:
2012-07-29 - 7c26761 / 681ed00 - lavf 54.22.100 / 54.13.0 - avformat.h
Add AVFMT_FLAG_NOBUFFER for low latency use cases.
2012-07-10 - 5fade8a - lavu 51.37.0
2012-07-10 - fbe0245 / f3e5e6f - lavu 51.65.100 / 51.37.0
Add av_malloc_array() and av_mallocz_array()
2012-06-22 - e847f41 / d3d3a32 - lavu 51.61.100 / 51.34.0

View File

@@ -31,9 +31,9 @@ PROJECT_NAME = FFmpeg
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 1.2
PROJECT_NUMBER = 2.1.8
# With the PROJECT_LOGO tag one can specify an logo or icon that is included
# With the PROJECT_LOGO tag one can specify a logo or icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
# pixels and the maximum width should not exceed 200 pixels. Doxygen will
# copy the logo to the output directory.
@@ -277,7 +277,7 @@ SUBGROUPING = YES
# be useful for C code in case the coding convention dictates that all compound
# types are typedef'ed and only the typedef is referenced, never the tag name.
TYPEDEF_HIDES_STRUCT = NO
TYPEDEF_HIDES_STRUCT = YES
# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
# determine which symbols to keep in memory and which to flush to disk.
@@ -409,7 +409,7 @@ INLINE_INFO = YES
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
SORT_MEMBER_DOCS = YES
SORT_MEMBER_DOCS = NO
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
# brief documentation of file, namespace and class members alphabetically
@@ -709,7 +709,7 @@ INLINE_SOURCES = NO
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
STRIP_CODE_COMMENTS = NO
# If the REFERENCED_BY_RELATION tag is set to YES
# then for each documented function all documented

View File

@@ -6,7 +6,6 @@ LIBRARIES-$(CONFIG_AVFORMAT) += libavformat
LIBRARIES-$(CONFIG_AVDEVICE) += libavdevice
LIBRARIES-$(CONFIG_AVFILTER) += libavfilter
COMPONENTS-yes = $(PROGS-yes)
COMPONENTS-$(CONFIG_AVUTIL) += ffmpeg-utils
COMPONENTS-$(CONFIG_SWSCALE) += ffmpeg-scaler
COMPONENTS-$(CONFIG_SWRESAMPLE) += ffmpeg-resampler
@@ -15,9 +14,11 @@ COMPONENTS-$(CONFIG_AVFORMAT) += ffmpeg-formats ffmpeg-protocols
COMPONENTS-$(CONFIG_AVDEVICE) += ffmpeg-devices
COMPONENTS-$(CONFIG_AVFILTER) += ffmpeg-filters
MANPAGES = $(COMPONENTS-yes:%=doc/%.1) $(LIBRARIES-yes:%=doc/%.3)
PODPAGES = $(COMPONENTS-yes:%=doc/%.pod) $(LIBRARIES-yes:%=doc/%.pod)
HTMLPAGES = $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
MANPAGES1 = $(PROGS-yes:%=doc/%.1) $(PROGS-yes:%=doc/%-all.1) $(COMPONENTS-yes:%=doc/%.1)
MANPAGES3 = $(LIBRARIES-yes:%=doc/%.3)
MANPAGES = $(MANPAGES1) $(MANPAGES3)
PODPAGES = $(PROGS-yes:%=doc/%.pod) $(PROGS-yes:%=doc/%-all.pod) $(COMPONENTS-yes:%=doc/%.pod) $(LIBRARIES-yes:%=doc/%.pod)
HTMLPAGES = $(PROGS-yes:%=doc/%.html) $(PROGS-yes:%=doc/%-all.html) $(COMPONENTS-yes:%=doc/%.html) $(LIBRARIES-yes:%=doc/%.html) \
doc/developer.html \
doc/faq.html \
doc/fate.html \
@@ -59,12 +60,22 @@ $(GENTEXI): doc/avoptions_%.texi: doc/print_options$(HOSTEXESUF)
doc/%.html: TAG = HTML
doc/%.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)texi2html -I doc -monolithic --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
$(M)texi2html -I doc -monolithic --D=config-not-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
doc/%-all.html: TAG = HTML
doc/%-all.html: doc/%.texi $(SRC_PATH)/doc/t2h.init $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)texi2html -I doc -monolithic --D=config-all --init-file $(SRC_PATH)/doc/t2h.init --output $@ $<
doc/%.pod: TAG = POD
doc/%.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Idoc $< $@
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-not-all=yes -Idoc $< $@
doc/%-all.pod: TAG = POD
doc/%-all.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
$(Q)$(TEXIDEP)
$(M)perl $(SRC_PATH)/doc/texi2pod.pl -Dconfig-all=yes -Idoc $< $@
doc/%.1 doc/%.3: TAG = MAN
doc/%.1: doc/%.pod $(GENTEXI)
@@ -77,23 +88,46 @@ $(DOCS) doc/doxy/html: | doc/
doc/doxy/html: $(SRC_PATH)/doc/Doxyfile $(INSTHEADERS)
$(M)$(SRC_PATH)/doc/doxy-wrapper.sh $(SRC_PATH) $^
install-doc: install-html install-man
install-html:
install-man:
ifdef CONFIG_HTMLPAGES
install-progs-$(CONFIG_DOC): install-html
install-html: $(HTMLPAGES)
$(Q)mkdir -p "$(DOCDIR)"
$(INSTALL) -m 644 $(HTMLPAGES) "$(DOCDIR)"
endif
ifdef CONFIG_MANPAGES
install-progs-$(CONFIG_DOC): install-man
install-man: $(MANPAGES)
$(Q)mkdir -p "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES) "$(MANDIR)/man1"
$(INSTALL) -m 644 $(MANPAGES1) "$(MANDIR)/man1"
$(Q)mkdir -p "$(MANDIR)/man3"
$(INSTALL) -m 644 $(MANPAGES3) "$(MANDIR)/man3"
endif
uninstall: uninstall-man
uninstall: uninstall-doc
uninstall-doc: uninstall-html uninstall-man
uninstall-html:
$(RM) -r "$(DOCDIR)"
uninstall-man:
$(RM) $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
$(RM) $(addprefix "$(MANDIR)/man1/",$(PROGS-yes:%=%.1) $(PROGS-yes:%=%-all.1) $(COMPONENTS-yes:%=%.1))
$(RM) $(addprefix "$(MANDIR)/man3/",$(LIBRARIES-yes:%=%.3))
clean:: docclean
distclean:: docclean
$(RM) doc/config.texi
docclean:
$(RM) $(TXTPAGES) doc/*.html doc/*.pod doc/*.1 doc/*.3 $(CLEANSUFFIXES:%=doc/%) doc/avoptions_*.texi
$(RM) -r doc/doxy/html

View File

@@ -1,7 +1,7 @@
Release Notes
=============
* 1.2 "Magic" March, 2013
* 2.1 "Fourier" October, 2013
General notes

View File

@@ -17,9 +17,46 @@ Below is a description of the currently available bitstream filters.
@section aac_adtstoasc
Convert MPEG-2/4 AAC ADTS to MPEG-4 Audio Specific Configuration
bitstream filter.
This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4
ADTS header and removes the ADTS header.
This is required for example when copying an AAC stream from a raw
ADTS AAC container to a FLV or a MOV/MP4 file.
@section chomp
@section dump_extradata
Remove zero padding at the end of a packet.
@section dump_extra
Add extradata to the beginning of the filtered packets.
The additional argument specifies which packets should be filtered.
It accepts the values:
@table @samp
@item a
add extradata to all key packets, but only if @var{local_header} is
set in the @option{flags2} codec context field
@item k
add extradata to all key packets
@item e
add extradata to all packets
@end table
If not specified it is assumed @samp{k}.
For example the following @command{ffmpeg} command forces a global
header (thus disabling individual packet headers) in the H.264 packets
generated by the @code{libx264} encoder, but corrects them by adding
the header stored in extradata to the key packets:
@example
ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
@end example
@section h264_mp4toannexb
@@ -86,6 +123,6 @@ ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
@section noise
@section remove_extradata
@section remove_extra
@c man end BITSTREAM FILTERS

1087
doc/codecs.texi Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -60,6 +60,78 @@ This decoder generates wave patterns according to predefined sequences. Its
use is purely internal and the format of the data it accepts is not publicly
documented.
@section libcelt
libcelt decoder wrapper.
libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio codec.
Requires the presence of the libcelt headers and library during configuration.
You need to explicitly configure the build with @code{--enable-libcelt}.
@section libgsm
libgsm decoder wrapper.
libgsm allows libavcodec to decode the GSM full rate audio codec. Requires
the presence of the libgsm headers and library during configuration. You need
to explicitly configure the build with @code{--enable-libgsm}.
This decoder supports both the ordinary GSM and the Microsoft variant.
@section libilbc
libilbc decoder wrapper.
libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC)
audio codec. Requires the presence of the libilbc headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libilbc}.
@subsection Options
The following option is supported by the libilbc wrapper.
@table @option
@item enhance
Enable the enhancement of the decoded audio when set to 1. The default
value is 0 (disabled).
@end table
@section libopencore-amrnb
libopencore-amrnb decoder wrapper.
libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate
Narrowband audio codec. Using it requires the presence of the
libopencore-amrnb headers and library during configuration. You need to
explicitly configure the build with @code{--enable-libopencore-amrnb}.
An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB
without this library.
@section libopencore-amrwb
libopencore-amrwb decoder wrapper.
libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate
Wideband audio codec. Using it requires the presence of the
libopencore-amrwb headers and library during configuration. You need to
explicitly configure the build with @code{--enable-libopencore-amrwb}.
An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB
without this library.
@section libopus
libopus decoder wrapper.
libopus allows libavcodec to decode the Opus Interactive Audio Codec.
Requires the presence of the libopus headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libopus}.
@c man end AUDIO DECODERS
@chapter Subtitles Decoders
@@ -86,4 +158,45 @@ ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}.
@end table
@section libzvbi-teletext
Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletext
subtitles. Requires the presence of the libzvbi headers and library during
configuration. You need to explicitly configure the build with
@code{--enable-libzvbi}.
@subsection Options
@table @option
@item txt_page
List of teletext page numbers to decode. You may use the special * string to
match all pages. Pages that do not match the specified list are dropped.
Default value is *.
@item txt_chop_top
Discards the top teletext line. Default value is 1.
@item txt_format
Specifies the format of the decoded subtitles. The teletext decoder is capable
of decoding the teletext pages to bitmaps or to simple text, you should use
"bitmap" for teletext pages, because certain graphics and colors cannot be
expressed in simple text. You might use "text" for teletext based subtitles if
your application can handle simple text based subtitles. Default value is
bitmap.
@item txt_left
X offset of generated bitmaps, default is 0.
@item txt_top
Y offset of generated bitmaps, default is 0.
@item txt_chop_spaces
Chops leading and trailing spaces and removes empty lines from the generated
text. This option is useful for teletext based subtitles where empty spaces may
be present at the start or at the end of the lines or empty lines may be
present between the subtitle lines because of double-sized teletext charactes.
Default value is 1.
@item txt_duration
Sets the display duration of the decoded teletext pages or subtitles in
miliseconds. Default value is 30000 which is 30 seconds.
@item txt_transparent
Force transparent background of the generated teletext bitmaps. Default value
is 0 which means an opaque (black) background.
@end table
@c man end SUBTILES DECODERS

View File

@@ -1,3 +1,7 @@
a.summary-letter {
text-decoration: none;
}
a {
color: #2D6198;
}
@@ -45,11 +49,16 @@ body {
text-align: center;
}
h1, h2, h3 {
h1 a, h2 a, h3 a, h4 a {
text-decoration: inherit;
color: inherit;
}
h1, h2, h3, h4 {
padding-left: 0.4em;
border-radius: 4px;
padding-bottom: 0.2em;
padding-top: 0.2em;
padding-bottom: 0.25em;
padding-top: 0.25em;
border: 1px solid #6A996A;
}
@@ -63,15 +72,22 @@ h1 {
h2 {
color: #313131;
font-size: 0.9em;
font-size: 1.0em;
background-color: #ABE3AB;
}
h3 {
color: #313131;
font-size: 0.9em;
margin-bottom: -6px;
background-color: #BBF3BB;
}
h4 {
color: #313131;
font-size: 0.8em;
margin-bottom: -8px;
background-color: #BBF3BB;
background-color: #D1FDD1;
}
img {

View File

@@ -1,7 +1,7 @@
@chapter Demuxers
@c man begin DEMUXERS
Demuxers are configured elements in FFmpeg which allow to read the
Demuxers are configured elements in FFmpeg that can read the
multimedia streams from a particular type of file.
When you configure your FFmpeg build, all the supported demuxers
@@ -29,6 +29,17 @@ the caller can decide which variant streams to actually receive.
The total bitrate of the variant that the stream belongs to is
available in a metadata key named "variant_bitrate".
@section asf
Advanced Systems Format demuxer.
This demuxer is used to demux ASF files and MMS network streams.
@table @option
@item -no_resync_search @var{bool}
Do not try to resynchronize by looking for a certain optional start code.
@end table
@anchor{concat}
@section concat
@@ -78,6 +89,9 @@ Duration of the file. This information can be specified from the file;
specifying it here may be more efficient or help if the information from the
file is not available or accurate.
If the duration is set for all files, then it is possible to seek in the
whole concatenated video.
@end table
@subsection Options
@@ -100,6 +114,42 @@ probed and 0 otherwise.
@end table
@section flv
Adobe Flash Video Format demuxer.
This demuxer is used to demux FLV files and RTMP network streams.
@table @option
@item -flv_metadata @var{bool}
Allocate the streams according to the onMetaData array content.
@end table
@section libgme
The Game Music Emu library is a collection of video game music file emulators.
See @url{http://code.google.com/p/game-music-emu/} for more information.
Some files have multiple tracks. The demuxer will pick the first track by
default. The @option{track_index} option can be used to select a different
track. Track indexes start at 0. The demuxer exports the number of tracks as
@var{tracks} meta data entry.
For very large files, the @option{max_size} option may have to be adjusted.
@section libquvi
Play media from Internet services using the quvi project.
The demuxer accepts a @option{format} option to request a specific quality. It
is by default set to @var{best}.
See @url{http://quvi.sourceforge.net/} for more information.
FFmpeg needs to be built with @code{--enable-libquvi} for this demuxer to be
enabled.
@section image2
Image file demuxer.
@@ -117,7 +167,7 @@ same for all the files in the sequence.
This demuxer accepts the following options:
@table @option
@item framerate
Set the framerate for the video stream. It defaults to 25.
Set the frame rate for the video stream. It defaults to 25.
@item loop
If set to 1, loop over the input. Default value is 0.
@item pattern_type
@@ -195,6 +245,10 @@ to read from. Default value is 0.
Set the index interval range to check when looking for the first image
file in the sequence, starting from @var{start_number}. Default value
is 5.
@item ts_from_file
If set to 1, will set frame timestamp to modification time of image file. Note
that monotonity of timestamps is not provided: images go in the same order as
without this option. Default value is 0.
@item video_size
Set the video size of the images to read. If not specified the video
size is guessed from the first image file in the sequence.
@@ -208,23 +262,36 @@ Use @command{ffmpeg} for creating a video from the images in the file
sequence @file{img-001.jpeg}, @file{img-002.jpeg}, ..., assuming an
input frame rate of 10 frames per second:
@example
ffmpeg -i 'img-%03d.jpeg' -r 10 out.mkv
ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
@end example
@item
As above, but start by reading from a file with index 100 in the sequence:
@example
ffmpeg -start_number 100 -i 'img-%03d.jpeg' -r 10 out.mkv
ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
@end example
@item
Read images matching the "*.png" glob pattern , that is all the files
terminating with the ".png" suffix:
@example
ffmpeg -pattern_type glob -i "*.png" -r 10 out.mkv
ffmpeg -framerate 10 -pattern_type glob -i "*.png" out.mkv
@end example
@end itemize
@section mpegts
MPEG-2 transport stream demuxer.
@table @option
@item fix_teletext_pts
Overrides teletext packet PTS and DTS values with the timestamps calculated
from the PCR of the first program which the teletext stream is part of and is
not discarded. Default value is 1, set this option to 0 if you want your
teletext packet PTS and DTS values untouched.
@end table
@section rawvideo
Raw video demuxer.

View File

@@ -11,29 +11,23 @@
@chapter Developers Guide
@section API
@itemize @bullet
@item libavcodec is the library containing the codecs (both encoding and
decoding). Look at @file{doc/examples/decoding_encoding.c} to see how to use
it.
@section Notes for external developers
@item libavformat is the library containing the file format handling (mux and
demux code for several formats). Look at @file{ffplay.c} to use it in a
player. See @file{doc/examples/muxing.c} to use it to generate audio or video
streams.
This document is mostly useful for internal FFmpeg developers.
External developers who need to use the API in their application should
refer to the API doxygen documentation in the public headers, and
check the examples in @file{doc/examples} and in the source code to
see how the public API is employed.
@end itemize
You can use the FFmpeg libraries in your commercial program, but you
are encouraged to @emph{publish any patch you make}. In this case the
best way to proceed is to send your patches to the ffmpeg-devel
mailing list following the guidelines illustrated in the remainder of
this document.
@section Integrating libavcodec or libavformat in your program
You can integrate all the source code of the libraries to link them
statically to avoid any version problem. All you need is to provide a
'config.mak' and a 'config.h' in the parent directory. See the defines
generated by ./configure to understand what is needed.
You can use libavcodec or libavformat in your commercial program, but
@emph{any patch you make must be published}. The best way to proceed is
to send your patches to the FFmpeg mailing list.
For more detailed legal information about the use of FFmpeg in
external programs read the @file{LICENSE} file in the source tree and
consult @url{http://ffmpeg.org/legal.html}.
@section Contributing
@@ -57,13 +51,16 @@ and should try to fix issues their commit causes.
@subsection Code formatting conventions
There are the following guidelines regarding the indentation in files:
@itemize @bullet
@item
Indent size is 4.
@item
The TAB character is forbidden outside of Makefiles as is any
form of trailing whitespace. Commits containing either will be
rejected by the git repository.
@item
You should try to limit your code lines to 80 characters; however, do so if
and only if this improves readability.
@@ -117,13 +114,17 @@ int myfunc(int my_parameter)
FFmpeg is programmed in the ISO C90 language with a few additional
features from ISO C99, namely:
@itemize @bullet
@item
the @samp{inline} keyword;
@item
@samp{//} comments;
@item
designated struct initializers (@samp{struct s x = @{ .i = 17 @};})
@item
compound literals (@samp{x = (struct s) @{ 17, 23 @};})
@end itemize
@@ -135,13 +136,17 @@ clarity and performance.
All code must compile with recent versions of GCC and a number of other
currently supported compilers. To ensure compatibility, please do not use
additional C99 features or GCC extensions. Especially watch out for:
@itemize @bullet
@item
mixing statements and declarations;
@item
@samp{long long} (use @samp{int64_t} instead);
@item
@samp{__attribute__} not protected by @samp{#ifdef __GNUC__} or similar;
@item
GCC statement expressions (@samp{(x = (@{ int y = 4; y; @})}).
@end itemize
@@ -153,17 +158,25 @@ All names should be composed with underscores (_), not CamelCase. For example,
for example structs and enums; they should always be in the CamelCase
There are the following conventions for naming variables and functions:
@itemize @bullet
@item
For local variables no prefix is required.
@item
For variables and functions declared as @code{static} no prefix is required.
For file-scope variables and functions declared as @code{static}, no prefix
is required.
@item
For variables and functions used internally by a library an @code{ff_}
prefix should be used, e.g. @samp{ff_w64_demuxer}.
For variables and functions visible outside of file scope, but only used
internally by a library, an @code{ff_} prefix should be used,
e.g. @samp{ff_w64_demuxer}.
@item
For variables and functions used internally across multiple libraries, use
@code{avpriv_}. For example, @samp{avpriv_aac_parse_header}.
For variables and functions visible outside of file scope, used internally
across multiple libraries, use @code{avpriv_} as prefix, for example,
@samp{avpriv_aac_parse_header}.
@item
Each library has its own prefix for public symbols, in addition to the
commonly used @code{av_} (@code{avformat_} for libavformat,
@@ -183,10 +196,12 @@ are reserved at the file level and may not be used for externally visible
symbols. If in doubt, just avoid names starting with @code{_} altogether.
@subsection Miscellaneous conventions
@itemize @bullet
@item
fprintf and printf are forbidden in libavformat and libavcodec,
please use av_log() instead.
@item
Casts should be used only when necessary. Unneeded parentheses
should also be avoided if they don't make the code easier to understand.
@@ -229,131 +244,154 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}:
@enumerate
@item
Contributions should be licensed under the
@uref{http://www.gnu.org/licenses/lgpl-2.1.html, LGPL 2.1},
including an "or any later version" clause, or, if you prefer
a gift-style license, the
@uref{http://www.isc.org/software/license/, ISC} or
@uref{http://mit-license.org/, MIT} license.
@uref{http://www.gnu.org/licenses/gpl-2.0.html, GPL 2} including
an "or any later version" clause is also acceptable, but LGPL is
preferred.
@item
You must not commit code which breaks FFmpeg! (Meaning unfinished but
enabled code which breaks compilation or compiles but does not work or
breaks the regression tests)
You can commit unfinished stuff (for testing etc), but it must be disabled
(#ifdef etc) by default so it does not interfere with other developers'
work.
@item
The commit message should have a short first line in the form of
a @samp{topic: short description} as a header, separated by a newline
from the body consisting of an explanation of why the change is necessary.
If the commit fixes a known bug on the bug tracker, the commit message
should include its bug ID. Referring to the issue on the bug tracker does
not exempt you from writing an excerpt of the bug in the commit message.
@item
You do not have to over-test things. If it works for you, and you think it
should work for others, then commit. If your code has problems
(portability, triggers compiler bugs, unusual environment etc) they will be
reported and eventually fixed.
@item
Do not commit unrelated changes together, split them into self-contained
pieces. Also do not forget that if part B depends on part A, but A does not
depend on B, then A can and should be committed first and separate from B.
Keeping changes well split into self-contained parts makes reviewing and
understanding them on the commit log mailing list easier. This also helps
in case of debugging later on.
Also if you have doubts about splitting or not splitting, do not hesitate to
ask/discuss it on the developer mailing list.
@item
Do not change behavior of the programs (renaming options etc) or public
API or ABI without first discussing it on the ffmpeg-devel mailing list.
Do not remove functionality from the code. Just improve!
Contributions should be licensed under the
@uref{http://www.gnu.org/licenses/lgpl-2.1.html, LGPL 2.1},
including an "or any later version" clause, or, if you prefer
a gift-style license, the
@uref{http://www.isc.org/software/license/, ISC} or
@uref{http://mit-license.org/, MIT} license.
@uref{http://www.gnu.org/licenses/gpl-2.0.html, GPL 2} including
an "or any later version" clause is also acceptable, but LGPL is
preferred.
If you add a new file, give it a proper license header. Do not copy and
paste it from a random place, use an existing file as template.
Note: Redundant code can be removed.
@item
Do not commit changes to the build system (Makefiles, configure script)
which change behavior, defaults etc, without asking first. The same
applies to compiler warning fixes, trivial looking fixes and to code
maintained by other developers. We usually have a reason for doing things
the way we do. Send your changes as patches to the ffmpeg-devel mailing
list, and if the code maintainers say OK, you may commit. This does not
apply to files you wrote and/or maintain.
@item
We refuse source indentation and other cosmetic changes if they are mixed
with functional changes, such commits will be rejected and removed. Every
developer has his own indentation style, you should not change it. Of course
if you (re)write something, you can use your own style, even though we would
prefer if the indentation throughout FFmpeg was consistent (Many projects
force a given indentation style - we do not.). If you really need to make
indentation changes (try to avoid this), separate them strictly from real
changes.
You must not commit code which breaks FFmpeg! (Meaning unfinished but
enabled code which breaks compilation or compiles but does not work or
breaks the regression tests)
You can commit unfinished stuff (for testing etc), but it must be disabled
(#ifdef etc) by default so it does not interfere with other developers'
work.
NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code,
then either do NOT change the indentation of the inner part within (do not
move it to the right)! or do so in a separate commit
@item
Always fill out the commit log message. Describe in a few lines what you
changed and why. You can refer to mailing list postings if you fix a
particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
Recommended format:
area changed: Short 1 line description
The commit message should have a short first line in the form of
a @samp{topic: short description} as a header, separated by a newline
from the body consisting of an explanation of why the change is necessary.
If the commit fixes a known bug on the bug tracker, the commit message
should include its bug ID. Referring to the issue on the bug tracker does
not exempt you from writing an excerpt of the bug in the commit message.
details describing what and why and giving references.
@item
Make sure the author of the commit is set correctly. (see git commit --author)
If you apply a patch, send an
answer to ffmpeg-devel (or wherever you got the patch from) saying that
you applied the patch.
You do not have to over-test things. If it works for you, and you think it
should work for others, then commit. If your code has problems
(portability, triggers compiler bugs, unusual environment etc) they will be
reported and eventually fixed.
@item
When applying patches that have been discussed (at length) on the mailing
list, reference the thread in the log message.
Do not commit unrelated changes together, split them into self-contained
pieces. Also do not forget that if part B depends on part A, but A does not
depend on B, then A can and should be committed first and separate from B.
Keeping changes well split into self-contained parts makes reviewing and
understanding them on the commit log mailing list easier. This also helps
in case of debugging later on.
Also if you have doubts about splitting or not splitting, do not hesitate to
ask/discuss it on the developer mailing list.
@item
Do NOT commit to code actively maintained by others without permission.
Send a patch to ffmpeg-devel instead. If no one answers within a reasonable
timeframe (12h for build failures and security fixes, 3 days small changes,
1 week for big patches) then commit your patch if you think it is OK.
Also note, the maintainer can simply ask for more time to review!
Do not change behavior of the programs (renaming options etc) or public
API or ABI without first discussing it on the ffmpeg-devel mailing list.
Do not remove functionality from the code. Just improve!
Note: Redundant code can be removed.
@item
Subscribe to the ffmpeg-cvslog mailing list. The diffs of all commits
are sent there and reviewed by all the other developers. Bugs and possible
improvements or general questions regarding commits are discussed there. We
expect you to react if problems with your code are uncovered.
Do not commit changes to the build system (Makefiles, configure script)
which change behavior, defaults etc, without asking first. The same
applies to compiler warning fixes, trivial looking fixes and to code
maintained by other developers. We usually have a reason for doing things
the way we do. Send your changes as patches to the ffmpeg-devel mailing
list, and if the code maintainers say OK, you may commit. This does not
apply to files you wrote and/or maintain.
@item
Update the documentation if you change behavior or add features. If you are
unsure how best to do this, send a patch to ffmpeg-devel, the documentation
maintainer(s) will review and commit your stuff.
We refuse source indentation and other cosmetic changes if they are mixed
with functional changes, such commits will be rejected and removed. Every
developer has his own indentation style, you should not change it. Of course
if you (re)write something, you can use your own style, even though we would
prefer if the indentation throughout FFmpeg was consistent (Many projects
force a given indentation style - we do not.). If you really need to make
indentation changes (try to avoid this), separate them strictly from real
changes.
NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code,
then either do NOT change the indentation of the inner part within (do not
move it to the right)! or do so in a separate commit
@item
Try to keep important discussions and requests (also) on the public
developer mailing list, so that all developers can benefit from them.
Always fill out the commit log message. Describe in a few lines what you
changed and why. You can refer to mailing list postings if you fix a
particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
Recommended format:
area changed: Short 1 line description
details describing what and why and giving references.
@item
Never write to unallocated memory, never write over the end of arrays,
always check values read from some untrusted source before using them
as array index or other risky things.
Make sure the author of the commit is set correctly. (see git commit --author)
If you apply a patch, send an
answer to ffmpeg-devel (or wherever you got the patch from) saying that
you applied the patch.
@item
Remember to check if you need to bump versions for the specific libav*
parts (libavutil, libavcodec, libavformat) you are changing. You need
to change the version integer.
Incrementing the first component means no backward compatibility to
previous versions (e.g. removal of a function from the public API).
Incrementing the second component means backward compatible change
(e.g. addition of a function to the public API or extension of an
existing data structure).
Incrementing the third component means a noteworthy binary compatible
change (e.g. encoder bug fix that matters for the decoder). The third
component always starts at 100 to distinguish FFmpeg from Libav.
When applying patches that have been discussed (at length) on the mailing
list, reference the thread in the log message.
@item
Compiler warnings indicate potential bugs or code with bad style. If a type of
warning always points to correct and clean code, that warning should
be disabled, not the code changed.
Thus the remaining warnings can either be bugs or correct code.
If it is a bug, the bug has to be fixed. If it is not, the code should
be changed to not generate a warning unless that causes a slowdown
or obfuscates the code.
Do NOT commit to code actively maintained by others without permission.
Send a patch to ffmpeg-devel instead. If no one answers within a reasonable
timeframe (12h for build failures and security fixes, 3 days small changes,
1 week for big patches) then commit your patch if you think it is OK.
Also note, the maintainer can simply ask for more time to review!
@item
If you add a new file, give it a proper license header. Do not copy and
paste it from a random place, use an existing file as template.
Subscribe to the ffmpeg-cvslog mailing list. The diffs of all commits
are sent there and reviewed by all the other developers. Bugs and possible
improvements or general questions regarding commits are discussed there. We
expect you to react if problems with your code are uncovered.
@item
Update the documentation if you change behavior or add features. If you are
unsure how best to do this, send a patch to ffmpeg-devel, the documentation
maintainer(s) will review and commit your stuff.
@item
Try to keep important discussions and requests (also) on the public
developer mailing list, so that all developers can benefit from them.
@item
Never write to unallocated memory, never write over the end of arrays,
always check values read from some untrusted source before using them
as array index or other risky things.
@item
Remember to check if you need to bump versions for the specific libav*
parts (libavutil, libavcodec, libavformat) you are changing. You need
to change the version integer.
Incrementing the first component means no backward compatibility to
previous versions (e.g. removal of a function from the public API).
Incrementing the second component means backward compatible change
(e.g. addition of a function to the public API or extension of an
existing data structure).
Incrementing the third component means a noteworthy binary compatible
change (e.g. encoder bug fix that matters for the decoder). The third
component always starts at 100 to distinguish FFmpeg from Libav.
@item
Compiler warnings indicate potential bugs or code with bad style. If a type of
warning always points to correct and clean code, that warning should
be disabled, not the code changed.
Thus the remaining warnings can either be bugs or correct code.
If it is a bug, the bug has to be fixed. If it is not, the code should
be changed to not generate a warning unless that causes a slowdown
or obfuscates the code.
@item
Make sure that no parts of the codebase that you maintain are missing from the
@file{MAINTAINERS} file. If something that you want to maintain is missing add it with
your name after it.
If at some point you no longer want to maintain some code, then please help
finding a new maintainer and also don't forget updating the @file{MAINTAINERS} file.
@end enumerate
We think our rules are not too hard. If you have comments, contact us.
@@ -408,40 +446,51 @@ send a reminder by email. Your patch should eventually be dealt with.
@enumerate
@item
Did you use av_cold for codec initialization and close functions?
Did you use av_cold for codec initialization and close functions?
@item
Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
AVInputFormat/AVOutputFormat struct?
Did you add a long_name under NULL_IF_CONFIG_SMALL to the AVCodec or
AVInputFormat/AVOutputFormat struct?
@item
Did you bump the minor version number (and reset the micro version
number) in @file{libavcodec/version.h} or @file{libavformat/version.h}?
Did you bump the minor version number (and reset the micro version
number) in @file{libavcodec/version.h} or @file{libavformat/version.h}?
@item
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
Did you register it in @file{allcodecs.c} or @file{allformats.c}?
@item
Did you add the AVCodecID to @file{avcodec.h}?
When adding new codec IDs, also add an entry to the codec descriptor
list in @file{libavcodec/codec_desc.c}.
Did you add the AVCodecID to @file{avcodec.h}?
When adding new codec IDs, also add an entry to the codec descriptor
list in @file{libavcodec/codec_desc.c}.
@item
If it has a FourCC, did you add it to @file{libavformat/riff.c},
even if it is only a decoder?
If it has a FourCC, did you add it to @file{libavformat/riff.c},
even if it is only a decoder?
@item
Did you add a rule to compile the appropriate files in the Makefile?
Remember to do this even if you're just adding a format to a file that is
already being compiled by some other rule, like a raw demuxer.
Did you add a rule to compile the appropriate files in the Makefile?
Remember to do this even if you're just adding a format to a file that is
already being compiled by some other rule, like a raw demuxer.
@item
Did you add an entry to the table of supported formats or codecs in
@file{doc/general.texi}?
Did you add an entry to the table of supported formats or codecs in
@file{doc/general.texi}?
@item
Did you add an entry in the Changelog?
Did you add an entry in the Changelog?
@item
If it depends on a parser or a library, did you add that dependency in
configure?
If it depends on a parser or a library, did you add that dependency in
configure?
@item
Did you @code{git add} the appropriate files before committing?
Did you @code{git add} the appropriate files before committing?
@item
Did you make sure it compiles standalone, i.e. with
@code{configure --disable-everything --enable-decoder=foo}
(or @code{--enable-demuxer} or whatever your component is)?
Did you make sure it compiles standalone, i.e. with
@code{configure --disable-everything --enable-decoder=foo}
(or @code{--enable-demuxer} or whatever your component is)?
@end enumerate
@@ -449,82 +498,109 @@ send a reminder by email. Your patch should eventually be dealt with.
@enumerate
@item
Does @code{make fate} pass with the patch applied?
Does @code{make fate} pass with the patch applied?
@item
Was the patch generated with git format-patch or send-email?
Was the patch generated with git format-patch or send-email?
@item
Did you sign off your patch? (git commit -s)
See @url{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/SubmittingPatches} for the meaning
of sign off.
Did you sign off your patch? (git commit -s)
See @url{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob_plain;f=Documentation/SubmittingPatches} for the meaning
of sign off.
@item
Did you provide a clear git commit log message?
Did you provide a clear git commit log message?
@item
Is the patch against latest FFmpeg git master branch?
Is the patch against latest FFmpeg git master branch?
@item
Are you subscribed to ffmpeg-devel?
(the list is subscribers only due to spam)
Are you subscribed to ffmpeg-devel?
(the list is subscribers only due to spam)
@item
Have you checked that the changes are minimal, so that the same cannot be
achieved with a smaller patch and/or simpler final code?
Have you checked that the changes are minimal, so that the same cannot be
achieved with a smaller patch and/or simpler final code?
@item
If the change is to speed critical code, did you benchmark it?
If the change is to speed critical code, did you benchmark it?
@item
If you did any benchmarks, did you provide them in the mail?
If you did any benchmarks, did you provide them in the mail?
@item
Have you checked that the patch does not introduce buffer overflows or
other security issues?
Have you checked that the patch does not introduce buffer overflows or
other security issues?
@item
Did you test your decoder or demuxer against damaged data? If no, see
tools/trasher, the noise bitstream filter, and
@uref{http://caca.zoy.org/wiki/zzuf, zzuf}. Your decoder or demuxer
should not crash, end in a (near) infinite loop, or allocate ridiculous
amounts of memory when fed damaged data.
Did you test your decoder or demuxer against damaged data? If no, see
tools/trasher, the noise bitstream filter, and
@uref{http://caca.zoy.org/wiki/zzuf, zzuf}. Your decoder or demuxer
should not crash, end in a (near) infinite loop, or allocate ridiculous
amounts of memory when fed damaged data.
@item
Does the patch not mix functional and cosmetic changes?
Does the patch not mix functional and cosmetic changes?
@item
Did you add tabs or trailing whitespace to the code? Both are forbidden.
Did you add tabs or trailing whitespace to the code? Both are forbidden.
@item
Is the patch attached to the email you send?
Is the patch attached to the email you send?
@item
Is the mime type of the patch correct? It should be text/x-diff or
text/x-patch or at least text/plain and not application/octet-stream.
Is the mime type of the patch correct? It should be text/x-diff or
text/x-patch or at least text/plain and not application/octet-stream.
@item
If the patch fixes a bug, did you provide a verbose analysis of the bug?
If the patch fixes a bug, did you provide a verbose analysis of the bug?
@item
If the patch fixes a bug, did you provide enough information, including
a sample, so the bug can be reproduced and the fix can be verified?
Note please do not attach samples >100k to mails but rather provide a
URL, you can upload to ftp://upload.ffmpeg.org
If the patch fixes a bug, did you provide enough information, including
a sample, so the bug can be reproduced and the fix can be verified?
Note please do not attach samples >100k to mails but rather provide a
URL, you can upload to ftp://upload.ffmpeg.org
@item
Did you provide a verbose summary about what the patch does change?
Did you provide a verbose summary about what the patch does change?
@item
Did you provide a verbose explanation why it changes things like it does?
Did you provide a verbose explanation why it changes things like it does?
@item
Did you provide a verbose summary of the user visible advantages and
disadvantages if the patch is applied?
Did you provide a verbose summary of the user visible advantages and
disadvantages if the patch is applied?
@item
Did you provide an example so we can verify the new feature added by the
patch easily?
Did you provide an example so we can verify the new feature added by the
patch easily?
@item
If you added a new file, did you insert a license header? It should be
taken from FFmpeg, not randomly copied and pasted from somewhere else.
If you added a new file, did you insert a license header? It should be
taken from FFmpeg, not randomly copied and pasted from somewhere else.
@item
You should maintain alphabetical order in alphabetically ordered lists as
long as doing so does not break API/ABI compatibility.
You should maintain alphabetical order in alphabetically ordered lists as
long as doing so does not break API/ABI compatibility.
@item
Lines with similar content should be aligned vertically when doing so
improves readability.
Lines with similar content should be aligned vertically when doing so
improves readability.
@item
Consider to add a regression test for your code.
Consider to add a regression test for your code.
@item
If you added YASM code please check that things still work with --disable-yasm
If you added YASM code please check that things still work with --disable-yasm
@item
Make sure you check the return values of function and return appropriate
error codes. Especially memory allocation functions like @code{av_malloc()}
are notoriously left unchecked, which is a serious problem.
Make sure you check the return values of function and return appropriate
error codes. Especially memory allocation functions like @code{av_malloc()}
are notoriously left unchecked, which is a serious problem.
@item
Test your code with valgrind and or Address Sanitizer to ensure it's free
of leaks, out of array accesses, etc.
Test your code with valgrind and or Address Sanitizer to ensure it's free
of leaks, out of array accesses, etc.
@end enumerate
@section Patch review process
@@ -577,4 +653,145 @@ message or introductionary message for the patch series that you post to
the ffmpeg-devel mailing list, a direct link to download the sample media.
@subsection Visualizing Test Coverage
The FFmpeg build system allows visualizing the test coverage in an easy
manner with the coverage tools @code{gcov}/@code{lcov}. This involves
the following steps:
@enumerate
@item
Configure to compile with instrumentation enabled:
@code{configure --toolchain=gcov}.
@item
Run your test case, either manually or via FATE. This can be either
the full FATE regression suite, or any arbitrary invocation of any
front-end tool provided by FFmpeg, in any combination.
@item
Run @code{make lcov} to generate coverage data in HTML format.
@item
View @code{lcov/index.html} in your preferred HTML viewer.
@end enumerate
You can use the command @code{make lcov-reset} to reset the coverage
measurements. You will need to rerun @code{make lcov} after running a
new test.
@subsection Using Valgrind
The configure script provides a shortcut for using valgrind to spot bugs
related to memory handling. Just add the option
@code{--toolchain=valgrind-memcheck} or @code{--toolchain=valgrind-massif}
to your configure line, and reasonable defaults will be set for running
FATE under the supervision of either the @strong{memcheck} or the
@strong{massif} tool of the valgrind suite.
In case you need finer control over how valgrind is invoked, use the
@code{--target-exec='valgrind <your_custom_valgrind_options>} option in
your configure line instead.
@anchor{Release process}
@section Release process
FFmpeg maintains a set of @strong{release branches}, which are the
recommended deliverable for system integrators and distributors (such as
Linux distributions, etc.). At regular times, a @strong{release
manager} prepares, tests and publishes tarballs on the
@url{http://ffmpeg.org} website.
There are two kinds of releases:
@enumerate
@item
@strong{Major releases} always include the latest and greatest
features and functionality.
@item
@strong{Point releases} are cut from @strong{release} branches,
which are named @code{release/X}, with @code{X} being the release
version number.
@end enumerate
Note that we promise to our users that shared libraries from any FFmpeg
release never break programs that have been @strong{compiled} against
previous versions of @strong{the same release series} in any case!
However, from time to time, we do make API changes that require adaptations
in applications. Such changes are only allowed in (new) major releases and
require further steps such as bumping library version numbers and/or
adjustments to the symbol versioning file. Please discuss such changes
on the @strong{ffmpeg-devel} mailing list in time to allow forward planning.
@anchor{Criteria for Point Releases}
@subsection Criteria for Point Releases
Changes that match the following criteria are valid candidates for
inclusion into a point release:
@enumerate
@item
Fixes a security issue, preferably identified by a @strong{CVE
number} issued by @url{http://cve.mitre.org/}.
@item
Fixes a documented bug in @url{https://trac.ffmpeg.org}.
@item
Improves the included documentation.
@item
Retains both source code and binary compatibility with previous
point releases of the same release branch.
@end enumerate
The order for checking the rules is (1 OR 2 OR 3) AND 4.
@subsection Release Checklist
The release process involves the following steps:
@enumerate
@item
Ensure that the @file{RELEASE} file contains the version number for
the upcoming release.
@item
Add the release at @url{https://trac.ffmpeg.org/admin/ticket/versions}.
@item
Announce the intent to do a release to the mailing list.
@item
Make sure all relevant security fixes have been backported. See
@url{https://ffmpeg.org/security.html}.
@item
Ensure that the FATE regression suite still passes in the release
branch on at least @strong{i386} and @strong{amd64}
(cf. @ref{Regression tests}).
@item
Prepare the release tarballs in @code{bz2} and @code{gz} formats, and
supplementing files that contain @code{gpg} signatures
@item
Publish the tarballs at @url{http://ffmpeg.org/releases}. Create and
push an annotated tag in the form @code{nX}, with @code{X}
containing the version number.
@item
Propose and send a patch to the @strong{ffmpeg-devel} mailing list
with a news entry for the website.
@item
Publish the news entry.
@item
Send announcement to the mailing list.
@end enumerate
@bye

21
doc/devices.texi Normal file
View File

@@ -0,0 +1,21 @@
@chapter Device Options
@c man begin DEVICE OPTIONS
The libavdevice library provides the same interface as
libavformat. Namely, an input device is considered like a demuxer, and
an output device like a muxer, and the interface and generic device
options are the same provided by libavformat (see the ffmpeg-formats
manual).
In addition each input or output device may support so-called private
options, which are specific for that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the device
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
@c man end DEVICE OPTIONS
@include indevs.texi
@include outdevs.texi

File diff suppressed because it is too large Load Diff

View File

@@ -1,288 +0,0 @@
@chapter Expression Evaluation
@c man begin EXPRESSION EVALUATION
When evaluating an arithmetic expression, FFmpeg uses an internal
formula evaluator, implemented through the @file{libavutil/eval.h}
interface.
An expression may contain unary, binary operators, constants, and
functions.
Two expressions @var{expr1} and @var{expr2} can be combined to form
another expression "@var{expr1};@var{expr2}".
@var{expr1} and @var{expr2} are evaluated in turn, and the new
expression evaluates to the value of @var{expr2}.
The following binary operators are available: @code{+}, @code{-},
@code{*}, @code{/}, @code{^}.
The following unary operators are available: @code{+}, @code{-}.
The following functions are available:
@table @option
@item abs(x)
Compute absolute value of @var{x}.
@item acos(x)
Compute arccosine of @var{x}.
@item asin(x)
Compute arcsine of @var{x}.
@item atan(x)
Compute arctangent of @var{x}.
@item ceil(expr)
Round the value of expression @var{expr} upwards to the nearest
integer. For example, "ceil(1.5)" is "2.0".
@item cos(x)
Compute cosine of @var{x}.
@item cosh(x)
Compute hyperbolic cosine of @var{x}.
@item eq(x, y)
Return 1 if @var{x} and @var{y} are equivalent, 0 otherwise.
@item exp(x)
Compute exponential of @var{x} (with base @code{e}, the Euler's number).
@item floor(expr)
Round the value of expression @var{expr} downwards to the nearest
integer. For example, "floor(-1.5)" is "-2.0".
@item gauss(x)
Compute Gauss function of @var{x}, corresponding to
@code{exp(-x*x/2) / sqrt(2*PI)}.
@item gcd(x, y)
Return the greatest common divisor of @var{x} and @var{y}. If both @var{x} and
@var{y} are 0 or either or both are less than zero then behavior is undefined.
@item gt(x, y)
Return 1 if @var{x} is greater than @var{y}, 0 otherwise.
@item gte(x, y)
Return 1 if @var{x} is greater than or equal to @var{y}, 0 otherwise.
@item hypot(x, y)
This function is similar to the C function with the same name; it returns
"sqrt(@var{x}*@var{x} + @var{y}*@var{y})", the length of the hypotenuse of a
right triangle with sides of length @var{x} and @var{y}, or the distance of the
point (@var{x}, @var{y}) from the origin.
@item if(x, y)
Evaluate @var{x}, and if the result is non-zero return the result of
the evaluation of @var{y}, return 0 otherwise.
@item if(x, y, z)
Evaluate @var{x}, and if the result is non-zero return the evaluation
result of @var{y}, otherwise the evaluation result of @var{z}.
@item ifnot(x, y)
Evaluate @var{x}, and if the result is zero return the result of the
evaluation of @var{y}, return 0 otherwise.
@item ifnot(x, y, z)
Evaluate @var{x}, and if the result is zero return the evaluation
result of @var{y}, otherwise the evaluation result of @var{z}.
@item isinf(x)
Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise.
@item isnan(x)
Return 1.0 if @var{x} is NAN, 0.0 otherwise.
@item ld(var)
Allow to load the value of the internal variable with number
@var{var}, which was previously stored with st(@var{var}, @var{expr}).
The function returns the loaded value.
@item log(x)
Compute natural logarithm of @var{x}.
@item lt(x, y)
Return 1 if @var{x} is lesser than @var{y}, 0 otherwise.
@item lte(x, y)
Return 1 if @var{x} is lesser than or equal to @var{y}, 0 otherwise.
@item max(x, y)
Return the maximum between @var{x} and @var{y}.
@item min(x, y)
Return the maximum between @var{x} and @var{y}.
@item mod(x, y)
Compute the remainder of division of @var{x} by @var{y}.
@item not(expr)
Return 1.0 if @var{expr} is zero, 0.0 otherwise.
@item pow(x, y)
Compute the power of @var{x} elevated @var{y}, it is equivalent to
"(@var{x})^(@var{y})".
@item print(t)
@item print(t, l)
Print the value of expression @var{t} with loglevel @var{l}. If
@var{l} is not specified then a default log level is used.
Returns the value of the expression printed.
Prints t with loglevel l
@item random(x)
Return a pseudo random value between 0.0 and 1.0. @var{x} is the index of the
internal variable which will be used to save the seed/state.
@item root(expr, max)
Find an input value for which the function represented by @var{expr}
with argument @var{ld(0)} is 0 in the interval 0..@var{max}.
The expression in @var{expr} must denote a continuous function or the
result is undefined.
@var{ld(0)} is used to represent the function input value, which means
that the given expression will be evaluated multiple times with
various input values that the expression can access through
@code{ld(0)}. When the expression evaluates to 0 then the
corresponding input value will be returned.
@item sin(x)
Compute sine of @var{x}.
@item sinh(x)
Compute hyperbolic sine of @var{x}.
@item sqrt(expr)
Compute the square root of @var{expr}. This is equivalent to
"(@var{expr})^.5".
@item squish(x)
Compute expression @code{1/(1 + exp(4*x))}.
@item st(var, expr)
Allow to store the value of the expression @var{expr} in an internal
variable. @var{var} specifies the number of the variable where to
store the value, and it is a value ranging from 0 to 9. The function
returns the value stored in the internal variable.
Note, Variables are currently not shared between expressions.
@item tan(x)
Compute tangent of @var{x}.
@item tanh(x)
Compute hyperbolic tangent of @var{x}.
@item taylor(expr, x)
@item taylor(expr, x, id)
Evaluate a Taylor series at @var{x}, given an expression representing
the @code{ld(id)}-th derivative of a function at 0.
When the series does not converge the result is undefined.
@var{ld(id)} is used to represent the derivative order in @var{expr},
which means that the given expression will be evaluated multiple times
with various input values that the expression can access through
@code{ld(id)}. If @var{id} is not specified then 0 is assumed.
Note, when you have the derivatives at y instead of 0,
@code{taylor(expr, x-y)} can be used.
@item time(0)
Return the current (wallclock) time in seconds.
@item trunc(expr)
Round the value of expression @var{expr} towards zero to the nearest
integer. For example, "trunc(-1.5)" is "-1.0".
@item while(cond, expr)
Evaluate expression @var{expr} while the expression @var{cond} is
non-zero, and returns the value of the last @var{expr} evaluation, or
NAN if @var{cond} was always false.
@end table
The following constants are available:
@table @option
@item PI
area of the unit disc, approximately 3.14
@item E
exp(1) (Euler's number), approximately 2.718
@item PHI
golden ratio (1+sqrt(5))/2, approximately 1.618
@end table
Assuming that an expression is considered "true" if it has a non-zero
value, note that:
@code{*} works like AND
@code{+} works like OR
For example the construct:
@example
if (A AND B) then C
@end example
is equivalent to:
@example
if(A*B, C)
@end example
In your C code, you can extend the list of unary and binary functions,
and define recognized constants, so that they are available for your
expressions.
The evaluator also recognizes the International System unit prefixes.
If 'i' is appended after the prefix, binary prefixes are used, which
are based on powers of 1024 instead of powers of 1000.
The 'B' postfix multiplies the value by 8, and can be appended after a
unit prefix or used alone. This allows using for example 'KB', 'MiB',
'G' and 'B' as number postfix.
The list of available International System prefixes follows, with
indication of the corresponding powers of 10 and of 2.
@table @option
@item y
10^-24 / 2^-80
@item z
10^-21 / 2^-70
@item a
10^-18 / 2^-60
@item f
10^-15 / 2^-50
@item p
10^-12 / 2^-40
@item n
10^-9 / 2^-30
@item u
10^-6 / 2^-20
@item m
10^-3 / 2^-10
@item c
10^-2
@item d
10^-1
@item h
10^2
@item k
10^3 / 2^10
@item K
10^3 / 2^10
@item M
10^6 / 2^20
@item G
10^9 / 2^30
@item T
10^12 / 2^40
@item P
10^15 / 2^40
@item E
10^18 / 2^50
@item Z
10^21 / 2^60
@item Y
10^24 / 2^70
@end table
@c man end

View File

@@ -7,7 +7,7 @@ FFMPEG_LIBS= libavdevice \
libswscale \
libavutil \
CFLAGS += -Wall -O2 -g
CFLAGS += -Wall -g
CFLAGS := $(shell pkg-config --cflags $(FFMPEG_LIBS)) $(CFLAGS)
LDLIBS := $(shell pkg-config --libs $(FFMPEG_LIBS)) $(LDLIBS)
@@ -25,6 +25,7 @@ OBJS=$(addsuffix .o,$(EXAMPLES))
# the following examples make explicit use of the math library
decoding_encoding: LDLIBS += -lm
muxing: LDLIBS += -lm
resampling_audio: LDLIBS += -lm
.phony: all clean-test clean

View File

@@ -14,5 +14,5 @@ correctly configured.
2) Build the examples in-tree
Assuming you are in the source FFmpeg checkout directory, you need to build
FFmpeg (no need to make install in any prefix). Then you can go into the
FFmpeg (no need to make install in any prefix). Then you can go into
doc/examples and run a command such as PKG_CONFIG_PATH=pc-uninstalled make.

View File

@@ -79,7 +79,7 @@ static int select_channel_layout(AVCodec *codec)
{
const uint64_t *p;
uint64_t best_ch_layout = 0;
int best_nb_channells = 0;
int best_nb_channels = 0;
if (!codec->channel_layouts)
return AV_CH_LAYOUT_STEREO;
@@ -88,9 +88,9 @@ static int select_channel_layout(AVCodec *codec)
while (*p) {
int nb_channels = av_get_channel_layout_nb_channels(*p);
if (nb_channels > best_nb_channells) {
if (nb_channels > best_nb_channels) {
best_ch_layout = *p;
best_nb_channells = nb_channels;
best_nb_channels = nb_channels;
}
p++;
}

View File

@@ -47,10 +47,6 @@ static uint8_t *video_dst_data[4] = {NULL};
static int video_dst_linesize[4];
static int video_dst_bufsize;
static uint8_t **audio_dst_data = NULL;
static int audio_dst_linesize;
static int audio_dst_bufsize;
static int video_stream_idx = -1, audio_stream_idx = -1;
static AVFrame *frame = NULL;
static AVPacket pkt;
@@ -60,6 +56,7 @@ static int audio_frame_count = 0;
static int decode_packet(int *got_frame, int cached)
{
int ret = 0;
int decoded = pkt.size;
if (pkt.stream_index == video_stream_idx) {
/* decode video frame */
@@ -91,37 +88,32 @@ static int decode_packet(int *got_frame, int cached)
fprintf(stderr, "Error decoding audio frame\n");
return ret;
}
/* Some audio decoders decode only part of the packet, and have to be
* called again with the remainder of the packet data.
* Sample: fate-suite/lossless-audio/luckynight-partial.shn
* Also, some decoders might over-read the packet. */
decoded = FFMIN(ret, pkt.size);
if (*got_frame) {
size_t unpadded_linesize = frame->nb_samples * av_get_bytes_per_sample(frame->format);
printf("audio_frame%s n:%d nb_samples:%d pts:%s\n",
cached ? "(cached)" : "",
audio_frame_count++, frame->nb_samples,
av_ts2timestr(frame->pts, &audio_dec_ctx->time_base));
ret = av_samples_alloc(audio_dst_data, &audio_dst_linesize, av_frame_get_channels(frame),
frame->nb_samples, frame->format, 1);
if (ret < 0) {
fprintf(stderr, "Could not allocate audio buffer\n");
return AVERROR(ENOMEM);
}
/* TODO: extend return code of the av_samples_* functions so that this call is not needed */
audio_dst_bufsize =
av_samples_get_buffer_size(NULL, av_frame_get_channels(frame),
frame->nb_samples, frame->format, 1);
/* copy audio data to destination buffer:
* this is required since rawaudio expects non aligned data */
av_samples_copy(audio_dst_data, frame->data, 0, 0,
frame->nb_samples, av_frame_get_channels(frame), frame->format);
/* write to rawaudio file */
fwrite(audio_dst_data[0], 1, audio_dst_bufsize, audio_dst_file);
av_freep(&audio_dst_data[0]);
/* Write the raw audio data samples of the first plane. This works
* fine for packed formats (e.g. AV_SAMPLE_FMT_S16). However,
* most audio decoders output planar audio, which uses a separate
* plane of audio samples for each channel (e.g. AV_SAMPLE_FMT_S16P).
* In other words, this code will write only the first audio channel
* in these cases.
* You should use libswresample or libavfilter to convert the frame
* to packed data. */
fwrite(frame->extended_data[0], 1, unpadded_linesize, audio_dst_file);
}
}
return ret;
return decoded;
}
static int open_codec_context(int *stream_idx,
@@ -244,8 +236,6 @@ int main (int argc, char **argv)
}
if (open_codec_context(&audio_stream_idx, fmt_ctx, AVMEDIA_TYPE_AUDIO) >= 0) {
int nb_planes;
audio_stream = fmt_ctx->streams[audio_stream_idx];
audio_dec_ctx = audio_stream->codec;
audio_dst_file = fopen(audio_dst_filename, "wb");
@@ -254,15 +244,6 @@ int main (int argc, char **argv)
ret = 1;
goto end;
}
nb_planes = av_sample_fmt_is_planar(audio_dec_ctx->sample_fmt) ?
audio_dec_ctx->channels : 1;
audio_dst_data = av_mallocz(sizeof(uint8_t *) * nb_planes);
if (!audio_dst_data) {
fprintf(stderr, "Could not allocate audio data buffers\n");
ret = AVERROR(ENOMEM);
goto end;
}
}
/* dump input information to stderr */
@@ -293,8 +274,15 @@ int main (int argc, char **argv)
/* read frames from the file */
while (av_read_frame(fmt_ctx, &pkt) >= 0) {
decode_packet(&got_frame, 0);
av_free_packet(&pkt);
AVPacket orig_pkt = pkt;
do {
ret = decode_packet(&got_frame, 0);
if (ret < 0)
break;
pkt.data += ret;
pkt.size -= ret;
} while (pkt.size > 0);
av_free_packet(&orig_pkt);
}
/* flush cached frames */
@@ -314,13 +302,25 @@ int main (int argc, char **argv)
}
if (audio_stream) {
enum AVSampleFormat sfmt = audio_dec_ctx->sample_fmt;
int n_channels = audio_dec_ctx->channels;
const char *fmt;
if ((ret = get_format_from_sample_fmt(&fmt, audio_dec_ctx->sample_fmt)) < 0)
if (av_sample_fmt_is_planar(sfmt)) {
const char *packed = av_get_sample_fmt_name(sfmt);
printf("Warning: the sample format the decoder produced is planar "
"(%s). This example will output the first channel only.\n",
packed ? packed : "?");
sfmt = av_get_packed_sample_fmt(sfmt);
n_channels = 1;
}
if ((ret = get_format_from_sample_fmt(&fmt, sfmt)) < 0)
goto end;
printf("Play the output audio file with the command:\n"
"ffplay -f %s -ac %d -ar %d %s\n",
fmt, audio_dec_ctx->channels, audio_dec_ctx->sample_rate,
fmt, n_channels, audio_dec_ctx->sample_rate,
audio_dst_filename);
}
@@ -336,7 +336,6 @@ end:
fclose(audio_dst_file);
av_free(frame);
av_free(video_dst_data[0]);
av_free(audio_dst_data);
return ret < 0;
}

View File

@@ -36,9 +36,10 @@
#include <libavfilter/avcodec.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libavutil/opt.h>
const char *filter_descr = "aresample=8000,aconvert=s16:mono";
const char *player = "ffplay -f s16le -ar 8000 -ac 1 -";
static const char *filter_descr = "aresample=8000,aformat=sample_fmts=s16:channel_layouts=mono";
static const char *player = "ffplay -f s16le -ar 8000 -ac 1 -";
static AVFormatContext *fmt_ctx;
static AVCodecContext *dec_ctx;
@@ -70,6 +71,7 @@ static int open_input_file(const char *filename)
}
audio_stream_index = ret;
dec_ctx = fmt_ctx->streams[audio_stream_index]->codec;
av_opt_set_int(dec_ctx, "refcounted_frames", 1, 0);
/* init the audio decoder */
if ((ret = avcodec_open2(dec_ctx, dec, NULL)) < 0) {
@@ -85,11 +87,12 @@ static int init_filters(const char *filters_descr)
char args[512];
int ret;
AVFilter *abuffersrc = avfilter_get_by_name("abuffer");
AVFilter *abuffersink = avfilter_get_by_name("ffabuffersink");
AVFilter *abuffersink = avfilter_get_by_name("abuffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_S16, -1 };
AVABufferSinkParams *abuffersink_params;
static const enum AVSampleFormat out_sample_fmts[] = { AV_SAMPLE_FMT_S16, -1 };
static const int64_t out_channel_layouts[] = { AV_CH_LAYOUT_MONO, -1 };
static const int out_sample_rates[] = { 8000, -1 };
const AVFilterLink *outlink;
AVRational time_base = fmt_ctx->streams[audio_stream_index]->time_base;
@@ -110,16 +113,34 @@ static int init_filters(const char *filters_descr)
}
/* buffer audio sink: to terminate the filter chain. */
abuffersink_params = av_abuffersink_params_alloc();
abuffersink_params->sample_fmts = sample_fmts;
ret = avfilter_graph_create_filter(&buffersink_ctx, abuffersink, "out",
NULL, abuffersink_params, filter_graph);
av_free(abuffersink_params);
NULL, NULL, filter_graph);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot create audio buffer sink\n");
return ret;
}
ret = av_opt_set_int_list(buffersink_ctx, "sample_fmts", out_sample_fmts, -1,
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output sample format\n");
return ret;
}
ret = av_opt_set_int_list(buffersink_ctx, "channel_layouts", out_channel_layouts, -1,
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output channel layout\n");
return ret;
}
ret = av_opt_set_int_list(buffersink_ctx, "sample_rates", out_sample_rates, -1,
AV_OPT_SEARCH_CHILDREN);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot set output sample rate\n");
return ret;
}
/* Endpoints for the filter graph. */
outputs->name = av_strdup("in");
outputs->filter_ctx = buffersrc_ctx;
@@ -131,7 +152,7 @@ static int init_filters(const char *filters_descr)
inputs->pad_idx = 0;
inputs->next = NULL;
if ((ret = avfilter_graph_parse(filter_graph, filters_descr,
if ((ret = avfilter_graph_parse_ptr(filter_graph, filters_descr,
&inputs, &outputs, NULL)) < 0)
return ret;
@@ -150,11 +171,10 @@ static int init_filters(const char *filters_descr)
return 0;
}
static void print_samplesref(AVFilterBufferRef *samplesref)
static void print_frame(const AVFrame *frame)
{
const AVFilterBufferRefAudioProps *props = samplesref->audio;
const int n = props->nb_samples * av_get_channel_layout_nb_channels(props->channel_layout);
const uint16_t *p = (uint16_t*)samplesref->data[0];
const int n = frame->nb_samples * av_get_channel_layout_nb_channels(av_frame_get_channel_layout(frame));
const uint16_t *p = (uint16_t*)frame->data[0];
const uint16_t *p_end = p + n;
while (p < p_end) {
@@ -169,10 +189,11 @@ int main(int argc, char **argv)
{
int ret;
AVPacket packet;
AVFrame *frame = avcodec_alloc_frame();
AVFrame *frame = av_frame_alloc();
AVFrame *filt_frame = av_frame_alloc();
int got_frame;
if (!frame) {
if (!frame || !filt_frame) {
perror("Could not allocate frame");
exit(1);
}
@@ -192,7 +213,6 @@ int main(int argc, char **argv)
/* read all packets */
while (1) {
AVFilterBufferRef *samplesref;
if ((ret = av_read_frame(fmt_ctx, &packet)) < 0)
break;
@@ -207,22 +227,20 @@ int main(int argc, char **argv)
if (got_frame) {
/* push the audio data from decoded frame into the filtergraph */
if (av_buffersrc_add_frame(buffersrc_ctx, frame, 0) < 0) {
if (av_buffersrc_add_frame_flags(buffersrc_ctx, frame, 0) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while feeding the audio filtergraph\n");
break;
}
/* pull filtered audio from the filtergraph */
while (1) {
ret = av_buffersink_get_buffer_ref(buffersink_ctx, &samplesref, 0);
ret = av_buffersink_get_frame(buffersink_ctx, filt_frame);
if(ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
break;
if(ret < 0)
goto end;
if (samplesref) {
print_samplesref(samplesref);
avfilter_unref_bufferp(&samplesref);
}
print_frame(filt_frame);
av_frame_unref(filt_frame);
}
}
}
@@ -233,7 +251,8 @@ end:
if (dec_ctx)
avcodec_close(dec_ctx);
avformat_close_input(&fmt_ctx);
av_freep(&frame);
av_frame_free(&frame);
av_frame_free(&filt_frame);
if (ret < 0 && ret != AVERROR_EOF) {
char buf[1024];

View File

@@ -85,7 +85,7 @@ static int init_filters(const char *filters_descr)
char args[512];
int ret;
AVFilter *buffersrc = avfilter_get_by_name("buffer");
AVFilter *buffersink = avfilter_get_by_name("ffbuffersink");
AVFilter *buffersink = avfilter_get_by_name("buffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };
@@ -129,7 +129,7 @@ static int init_filters(const char *filters_descr)
inputs->pad_idx = 0;
inputs->next = NULL;
if ((ret = avfilter_graph_parse(filter_graph, filters_descr,
if ((ret = avfilter_graph_parse_ptr(filter_graph, filters_descr,
&inputs, &outputs, NULL)) < 0)
return ret;
@@ -138,33 +138,33 @@ static int init_filters(const char *filters_descr)
return 0;
}
static void display_picref(AVFilterBufferRef *picref, AVRational time_base)
static void display_frame(const AVFrame *frame, AVRational time_base)
{
int x, y;
uint8_t *p0, *p;
int64_t delay;
if (picref->pts != AV_NOPTS_VALUE) {
if (frame->pts != AV_NOPTS_VALUE) {
if (last_pts != AV_NOPTS_VALUE) {
/* sleep roughly the right amount of time;
* usleep is in microseconds, just like AV_TIME_BASE. */
delay = av_rescale_q(picref->pts - last_pts,
delay = av_rescale_q(frame->pts - last_pts,
time_base, AV_TIME_BASE_Q);
if (delay > 0 && delay < 1000000)
usleep(delay);
}
last_pts = picref->pts;
last_pts = frame->pts;
}
/* Trivial ASCII grayscale display. */
p0 = picref->data[0];
p0 = frame->data[0];
puts("\033c");
for (y = 0; y < picref->video->h; y++) {
for (y = 0; y < frame->height; y++) {
p = p0;
for (x = 0; x < picref->video->w; x++)
for (x = 0; x < frame->width; x++)
putchar(" .-+#"[*(p++) / 52]);
putchar('\n');
p0 += picref->linesize[0];
p0 += frame->linesize[0];
}
fflush(stdout);
}
@@ -173,10 +173,11 @@ int main(int argc, char **argv)
{
int ret;
AVPacket packet;
AVFrame *frame = avcodec_alloc_frame();
AVFrame *frame = av_frame_alloc();
AVFrame *filt_frame = av_frame_alloc();
int got_frame;
if (!frame) {
if (!frame || !filt_frame) {
perror("Could not allocate frame");
exit(1);
}
@@ -196,7 +197,6 @@ int main(int argc, char **argv)
/* read all packets */
while (1) {
AVFilterBufferRef *picref;
if ((ret = av_read_frame(fmt_ctx, &packet)) < 0)
break;
@@ -213,23 +213,20 @@ int main(int argc, char **argv)
frame->pts = av_frame_get_best_effort_timestamp(frame);
/* push the decoded frame into the filtergraph */
if (av_buffersrc_add_frame(buffersrc_ctx, frame, 0) < 0) {
if (av_buffersrc_add_frame_flags(buffersrc_ctx, frame, AV_BUFFERSRC_FLAG_KEEP_REF) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while feeding the filtergraph\n");
break;
}
/* pull filtered pictures from the filtergraph */
/* pull filtered frames from the filtergraph */
while (1) {
ret = av_buffersink_get_buffer_ref(buffersink_ctx, &picref, 0);
ret = av_buffersink_get_frame(buffersink_ctx, filt_frame);
if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
break;
if (ret < 0)
goto end;
if (picref) {
display_picref(picref, buffersink_ctx->inputs[0]->time_base);
avfilter_unref_bufferp(&picref);
}
display_frame(filt_frame, buffersink_ctx->inputs[0]->time_base);
av_frame_unref(filt_frame);
}
}
}
@@ -240,7 +237,8 @@ end:
if (dec_ctx)
avcodec_close(dec_ctx);
avformat_close_input(&fmt_ctx);
av_freep(&frame);
av_frame_free(&frame);
av_frame_free(&filt_frame);
if (ret < 0 && ret != AVERROR_EOF) {
char buf[1024];

View File

@@ -34,9 +34,11 @@
#include <string.h>
#include <math.h>
#include <libavutil/opt.h>
#include <libavutil/mathematics.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <libswresample/swresample.h>
/* 5 seconds stream duration */
#define STREAM_DURATION 200.0
@@ -46,13 +48,6 @@
static int sws_flags = SWS_BICUBIC;
/**************************************************************/
/* audio output */
static float t, tincr, tincr2;
static int16_t *samples;
static int audio_input_frame_size;
/* Add an output stream. */
static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
enum AVCodecID codec_id)
@@ -78,8 +73,7 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
switch ((*codec)->type) {
case AVMEDIA_TYPE_AUDIO:
st->id = 1;
c->sample_fmt = AV_SAMPLE_FMT_S16;
c->sample_fmt = AV_SAMPLE_FMT_FLTP;
c->bit_rate = 64000;
c->sample_rate = 44100;
c->channels = 2;
@@ -127,8 +121,17 @@ static AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
/* audio output */
static float t, tincr, tincr2;
static int16_t *samples;
static int audio_input_frame_size;
static uint8_t **src_samples_data;
static int src_samples_linesize;
static int src_nb_samples;
static int max_dst_nb_samples;
uint8_t **dst_samples_data;
int dst_samples_linesize;
int dst_samples_size;
struct SwrContext *swr_ctx = NULL;
static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
{
@@ -150,17 +153,51 @@ static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
/* increment frequency by 110 Hz per second */
tincr2 = 2 * M_PI * 110.0 / c->sample_rate / c->sample_rate;
if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
audio_input_frame_size = 10000;
else
audio_input_frame_size = c->frame_size;
samples = av_malloc(audio_input_frame_size *
av_get_bytes_per_sample(c->sample_fmt) *
c->channels);
if (!samples) {
fprintf(stderr, "Could not allocate audio samples buffer\n");
src_nb_samples = c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE ?
10000 : c->frame_size;
ret = av_samples_alloc_array_and_samples(&src_samples_data, &src_samples_linesize, c->channels,
src_nb_samples, c->sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate source samples\n");
exit(1);
}
/* create resampler context */
if (c->sample_fmt != AV_SAMPLE_FMT_S16) {
swr_ctx = swr_alloc();
if (!swr_ctx) {
fprintf(stderr, "Could not allocate resampler context\n");
exit(1);
}
/* set options */
av_opt_set_int (swr_ctx, "in_channel_count", c->channels, 0);
av_opt_set_int (swr_ctx, "in_sample_rate", c->sample_rate, 0);
av_opt_set_sample_fmt(swr_ctx, "in_sample_fmt", AV_SAMPLE_FMT_S16, 0);
av_opt_set_int (swr_ctx, "out_channel_count", c->channels, 0);
av_opt_set_int (swr_ctx, "out_sample_rate", c->sample_rate, 0);
av_opt_set_sample_fmt(swr_ctx, "out_sample_fmt", c->sample_fmt, 0);
/* initialize the resampling context */
if ((ret = swr_init(swr_ctx)) < 0) {
fprintf(stderr, "Failed to initialize the resampling context\n");
exit(1);
}
}
/* compute the number of converted samples: buffering is avoided
* ensuring that the output buffer will contain at least all the
* converted input samples */
max_dst_nb_samples = src_nb_samples;
ret = av_samples_alloc_array_and_samples(&dst_samples_data, &dst_samples_linesize, c->channels,
max_dst_nb_samples, c->sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate destination samples\n");
exit(1);
}
dst_samples_size = av_samples_get_buffer_size(NULL, c->channels, max_dst_nb_samples,
c->sample_fmt, 0);
}
/* Prepare a 16 bit dummy audio frame of 'frame_size' samples and
@@ -185,18 +222,45 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
AVCodecContext *c;
AVPacket pkt = { 0 }; // data and size must be 0;
AVFrame *frame = avcodec_alloc_frame();
int got_packet, ret;
int got_packet, ret, dst_nb_samples;
av_init_packet(&pkt);
c = st->codec;
get_audio_frame(samples, audio_input_frame_size, c->channels);
frame->nb_samples = audio_input_frame_size;
get_audio_frame((int16_t *)src_samples_data[0], src_nb_samples, c->channels);
/* convert samples from native format to destination codec format, using the resampler */
if (swr_ctx) {
/* compute destination number of samples */
dst_nb_samples = av_rescale_rnd(swr_get_delay(swr_ctx, c->sample_rate) + src_nb_samples,
c->sample_rate, c->sample_rate, AV_ROUND_UP);
if (dst_nb_samples > max_dst_nb_samples) {
av_free(dst_samples_data[0]);
ret = av_samples_alloc(dst_samples_data, &dst_samples_linesize, c->channels,
dst_nb_samples, c->sample_fmt, 0);
if (ret < 0)
exit(1);
max_dst_nb_samples = dst_nb_samples;
dst_samples_size = av_samples_get_buffer_size(NULL, c->channels, dst_nb_samples,
c->sample_fmt, 0);
}
/* convert to destination format */
ret = swr_convert(swr_ctx,
dst_samples_data, dst_nb_samples,
(const uint8_t **)src_samples_data, src_nb_samples);
if (ret < 0) {
fprintf(stderr, "Error while converting\n");
exit(1);
}
} else {
dst_samples_data[0] = src_samples_data[0];
dst_nb_samples = src_nb_samples;
}
frame->nb_samples = dst_nb_samples;
avcodec_fill_audio_frame(frame, c->channels, c->sample_fmt,
(uint8_t *)samples,
audio_input_frame_size *
av_get_bytes_per_sample(c->sample_fmt) *
c->channels, 1);
dst_samples_data[0], dst_samples_size, 0);
ret = avcodec_encode_audio2(c, &pkt, frame, &got_packet);
if (ret < 0) {
@@ -222,8 +286,8 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
static void close_audio(AVFormatContext *oc, AVStream *st)
{
avcodec_close(st->codec);
av_free(samples);
av_free(src_samples_data[0]);
av_free(dst_samples_data[0]);
}
/**************************************************************/
@@ -342,25 +406,19 @@ static void write_video_frame(AVFormatContext *oc, AVStream *st)
ret = av_interleaved_write_frame(oc, &pkt);
} else {
/* encode the image */
AVPacket pkt;
int got_output;
AVPacket pkt = { 0 };
int got_packet;
av_init_packet(&pkt);
pkt.data = NULL; // packet data will be allocated by the encoder
pkt.size = 0;
ret = avcodec_encode_video2(c, &pkt, frame, &got_output);
/* encode the image */
ret = avcodec_encode_video2(c, &pkt, frame, &got_packet);
if (ret < 0) {
fprintf(stderr, "Error encoding video frame: %s\n", av_err2str(ret));
exit(1);
}
/* If size is zero, it means the image was buffered. */
if (got_output) {
if (c->coded_frame->key_frame)
pkt.flags |= AV_PKT_FLAG_KEY;
if (!ret && got_packet && pkt.size) {
pkt.stream_index = st->index;
/* Write the compressed frame to the media file. */
@@ -394,7 +452,7 @@ int main(int argc, char **argv)
AVFormatContext *oc;
AVStream *audio_st, *video_st;
AVCodec *audio_codec, *video_codec;
double audio_pts, video_pts;
double audio_time, video_time;
int ret;
/* Initialize libavcodec, and register all codecs and formats. */
@@ -467,23 +525,15 @@ int main(int argc, char **argv)
frame->pts = 0;
for (;;) {
/* Compute current audio and video time. */
if (audio_st)
audio_pts = (double)audio_st->pts.val * audio_st->time_base.num / audio_st->time_base.den;
else
audio_pts = 0.0;
audio_time = audio_st ? audio_st->pts.val * av_q2d(audio_st->time_base) : 0.0;
video_time = video_st ? video_st->pts.val * av_q2d(video_st->time_base) : 0.0;
if (video_st)
video_pts = (double)video_st->pts.val * video_st->time_base.num /
video_st->time_base.den;
else
video_pts = 0.0;
if ((!audio_st || audio_pts >= STREAM_DURATION) &&
(!video_st || video_pts >= STREAM_DURATION))
if ((!audio_st || audio_time >= STREAM_DURATION) &&
(!video_st || video_time >= STREAM_DURATION))
break;
/* write interleaved audio and video frames */
if (!video_st || (video_st && audio_st && audio_pts < video_pts)) {
if (!video_st || (video_st && audio_st && audio_time < video_time)) {
write_audio_frame(oc, audio_st);
} else {
write_video_frame(oc, video_st);

View File

@@ -78,18 +78,6 @@ void fill_samples(double *dst, int nb_samples, int nb_channels, int sample_rate,
}
}
int alloc_samples_array_and_data(uint8_t ***data, int *linesize, int nb_channels,
int nb_samples, enum AVSampleFormat sample_fmt, int align)
{
int nb_planes = av_sample_fmt_is_planar(sample_fmt) ? nb_channels : 1;
*data = av_malloc(sizeof(*data) * nb_planes);
if (!*data)
return AVERROR(ENOMEM);
return av_samples_alloc(*data, linesize, nb_channels,
nb_samples, sample_fmt, align);
}
int main(int argc, char **argv)
{
int64_t src_ch_layout = AV_CH_LAYOUT_STEREO, dst_ch_layout = AV_CH_LAYOUT_SURROUND;
@@ -149,8 +137,8 @@ int main(int argc, char **argv)
/* allocate source and destination samples buffers */
src_nb_channels = av_get_channel_layout_nb_channels(src_ch_layout);
ret = alloc_samples_array_and_data(&src_data, &src_linesize, src_nb_channels,
src_nb_samples, src_sample_fmt, 0);
ret = av_samples_alloc_array_and_samples(&src_data, &src_linesize, src_nb_channels,
src_nb_samples, src_sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate source samples\n");
goto end;
@@ -164,8 +152,8 @@ int main(int argc, char **argv)
/* buffer is going to be directly written to a rawaudio file, no alignment */
dst_nb_channels = av_get_channel_layout_nb_channels(dst_ch_layout);
ret = alloc_samples_array_and_data(&dst_data, &dst_linesize, dst_nb_channels,
dst_nb_samples, dst_sample_fmt, 0);
ret = av_samples_alloc_array_and_samples(&dst_data, &dst_linesize, dst_nb_channels,
dst_nb_samples, dst_sample_fmt, 0);
if (ret < 0) {
fprintf(stderr, "Could not allocate destination samples\n");
goto end;

View File

@@ -105,7 +105,7 @@ For example, img1.jpg, img2.jpg, img3.jpg,...
Then you may run:
@example
ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
@end example
Notice that @samp{%d} is replaced by the image number.
@@ -118,7 +118,7 @@ the sequence. This is useful if your sequence does not start with
example will start with @file{img100.jpg}:
@example
ffmpeg -f image2 -start_number 100 -i img%d.jpg /tmp/a.mpg
ffmpeg -f image2 -start_number 100 -i img%d.jpg /tmp/a.mpg
@end example
If you have large number of pictures to rename, you can use the
@@ -128,7 +128,7 @@ that match @code{*jpg} to the @file{/tmp} directory in the sequence of
@file{img001.jpg}, @file{img002.jpg} and so on.
@example
x=1; for i in *jpg; do counter=$(printf %03d $x); ln -s "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done
x=1; for i in *jpg; do counter=$(printf %03d $x); ln -s "$i" /tmp/img"$counter".jpg; x=$(($x+1)); done
@end example
If you want to sequence them by oldest modified first, substitute
@@ -137,7 +137,7 @@ If you want to sequence them by oldest modified first, substitute
Then run:
@example
ffmpeg -f image2 -i /tmp/img%03d.jpg /tmp/a.mpg
ffmpeg -f image2 -i /tmp/img%03d.jpg /tmp/a.mpg
@end example
The same logic is used for any image format that ffmpeg reads.
@@ -145,7 +145,7 @@ The same logic is used for any image format that ffmpeg reads.
You can also use @command{cat} to pipe images to ffmpeg:
@example
cat *.jpg | ffmpeg -f image2pipe -c:v mjpeg -i - output.mpg
cat *.jpg | ffmpeg -f image2pipe -c:v mjpeg -i - output.mpg
@end example
@section How do I encode movie to single pictures?
@@ -153,7 +153,7 @@ You can also use @command{cat} to pipe images to ffmpeg:
Use:
@example
ffmpeg -i movie.mpg movie%d.jpg
ffmpeg -i movie.mpg movie%d.jpg
@end example
The @file{movie.mpg} used as input will be converted to
@@ -169,7 +169,7 @@ to force the encoding.
Applying that to the previous example:
@example
ffmpeg -i movie.mpg -f image2 -c:v mjpeg menu%d.jpg
ffmpeg -i movie.mpg -f image2 -c:v mjpeg menu%d.jpg
@end example
Beware that there is no "jpeg" codec. Use "mjpeg" instead.
@@ -227,15 +227,15 @@ then you may use any file that DirectShow can read as input.
Just create an "input.avs" text file with this single line ...
@example
DirectShowSource("C:\path to your file\yourfile.asf")
DirectShowSource("C:\path to your file\yourfile.asf")
@end example
... and then feed that text file to ffmpeg:
@example
ffmpeg -i input.avs
ffmpeg -i input.avs
@end example
For ANY other help on Avisynth, please visit the
@uref{http://www.avisynth.org/, Avisynth homepage}.
For ANY other help on AviSynth, please visit the
@uref{http://www.avisynth.org/, AviSynth homepage}.
@section How can I join video files?
@@ -393,17 +393,17 @@ Appending @code{:v} to it will do exactly that.
Use @option{-dumpgraph -} to find out exactly where the channel layout is
lost.
Most likely, it is through @code{auto-inserted aconvert}. Try to understand
Most likely, it is through @code{auto-inserted aresample}. Try to understand
why the converting filter was needed at that place.
Just before the output is a likely place, as @option{-f lavfi} currently
only support packed S16.
Then insert the correct @code{aconvert} explicitly in the filter graph,
Then insert the correct @code{aformat} explicitly in the filtergraph,
specifying the exact format.
@example
aconvert=s16:stereo:packed
aformat=sample_fmts=s16:channel_layouts=stereo
@end example
@section Why does FFmpeg not see the subtitles in my VOB file?
@@ -475,9 +475,10 @@ read @uref{http://www.tux.org/lkml/#s15, "Programming Religion"}.
@section Why are the ffmpeg programs devoid of debugging symbols?
The build process creates ffmpeg_g, ffplay_g, etc. which contain full debug
information. Those binaries are stripped to create ffmpeg, ffplay, etc. If
you need the debug information, use the *_g versions.
The build process creates @command{ffmpeg_g}, @command{ffplay_g}, etc. which
contain full debug information. Those binaries are stripped to create
@command{ffmpeg}, @command{ffplay}, etc. If you need the debug information, use
the *_g versions.
@section I do not like the LGPL, can I contribute code under the GPL instead?
@@ -497,7 +498,7 @@ An easy way to get the full list of required libraries in dependency order
is to use @code{pkg-config}.
@example
c99 -o program program.c $(pkg-config --cflags --libs libavformat libavcodec)
c99 -o program program.c $(pkg-config --cflags --libs libavformat libavcodec)
@end example
See @file{doc/example/Makefile} and @file{doc/example/pc-uninstalled} for
@@ -521,10 +522,6 @@ to use them you have to append -D__STDC_CONSTANT_MACROS to your CXXFLAGS
You have to create a custom AVIOContext using @code{avio_alloc_context},
see @file{libavformat/aviobuf.c} in FFmpeg and @file{libmpdemux/demux_lavf.c} in MPlayer or MPlayer2 sources.
@section Where can I find libav* headers for Pascal/Delphi?
see @url{http://www.iversenit.dk/dev/ffmpeg-headers/}
@section Where is the documentation about ffv1, msmpeg4, asv1, 4xm?
see @url{http://www.ffmpeg.org/~michael/}
@@ -537,11 +534,12 @@ In this specific case please look at RFC 4629 to see how it should be done.
@section AVStream.r_frame_rate is wrong, it is much larger than the frame rate.
r_frame_rate is NOT the average frame rate, it is the smallest frame rate
@code{r_frame_rate} is NOT the average frame rate, it is the smallest frame rate
that can accurately represent all timestamps. So no, it is not
wrong if it is larger than the average!
For example, if you have mixed 25 and 30 fps content, then r_frame_rate
will be 150.
For example, if you have mixed 25 and 30 fps content, then @code{r_frame_rate}
will be 150 (it is the least common multiple).
If you are looking for the average frame rate, see @code{AVStream.avg_frame_rate}.
@section Why is @code{make fate} not running all tests?

View File

@@ -27,7 +27,7 @@ by visiting this website:
This is especially recommended for all people contributing source
code to FFmpeg, as it can be seen if some test on some platform broke
with there recent contribution. This usually happens on the platforms
with their recent contribution. This usually happens on the platforms
the developers could not test on.
The second part of this document describes how you can run FATE to
@@ -131,7 +131,12 @@ of the server and to accept its host key. This can usually be achieved by
running your SSH client manually and killing it after you accepted the key.
The FATE server's fingerprint is:
b1:31:c8:79:3f:04:1d:f8:f2:23:26:5a:fd:55:fa:92
@table @option
@item RSA
d3:f1:83:97:a4:75:2b:a6:fb:d6:e8:aa:81:93:97:51
@item ECDSA
76:9f:68:32:04:1e:d5:d4:ec:47:3f:dc:fc:18:17:86
@end table
If you have problems connecting to the FATE server, it may help to try out
the @command{ssh} command with one or more @option{-v} options. You should
@@ -148,20 +153,20 @@ the synchronisation of the samples directory.
@table @option
@item fate-rsync
Download/synchronize sample files to the configured samples directory.
Download/synchronize sample files to the configured samples directory.
@item fate-list
Will list all fate/regression test targets.
Will list all fate/regression test targets.
@item fate
Run the FATE test suite (requires the fate-suite dataset).
Run the FATE test suite (requires the fate-suite dataset).
@end table
@section Makefile variables
@table @option
@item V
Verbosity level, can be set to 0, 1 or 2.
Verbosity level, can be set to 0, 1 or 2.
@itemize
@item 0: show just the test arguments
@item 1: show just the command used in the test
@@ -169,22 +174,28 @@ the synchronisation of the samples directory.
@end itemize
@item SAMPLES
Specify or override the path to the FATE samples at make time, it has a
meaning only while running the regression tests.
Specify or override the path to the FATE samples at make time, it has a
meaning only while running the regression tests.
@item THREADS
Specify how many threads to use while running regression tests, it is
quite useful to detect thread-related regressions.
Specify how many threads to use while running regression tests, it is
quite useful to detect thread-related regressions.
@item THREAD_TYPE
Specify which threading strategy test, either @var{slice} or @var{frame},
by default @var{slice+frame}
Specify which threading strategy test, either @var{slice} or @var{frame},
by default @var{slice+frame}
@item CPUFLAGS
Specify CPU flags.
Specify CPU flags.
@item TARGET_EXEC
Specify or override the wrapper used to run the tests.
The @var{TARGET_EXEC} option provides a way to run FATE wrapped in
@command{valgrind}, @command{qemu-user} or @command{wine} or on remote targets
through @command{ssh}.
Specify or override the wrapper used to run the tests.
The @var{TARGET_EXEC} option provides a way to run FATE wrapped in
@command{valgrind}, @command{qemu-user} or @command{wine} or on remote targets
through @command{ssh}.
@item GEN
Set to @var{1} to generate the missing or mismatched references.
@end table
@section Examples

View File

@@ -4,16 +4,20 @@ samples= # path to samples directory
workdir= # directory in which to do all the work
#fate_recv="ssh -T fate@fate.ffmpeg.org" # command to submit report
comment= # optional description
build_only= # set to "yes" for a compile-only instance that skips tests
# the following are optional and map to configure options
arch=
cpu=
cross_prefix=
as=
cc=
ld=
target_os=
sysroot=
target_exec=
target_path=
target_samples=
extra_cflags=
extra_ldflags=
extra_libs=

File diff suppressed because it is too large Load Diff

View File

@@ -17,27 +17,7 @@ libavdevice library.
@c man end DESCRIPTION
@chapter Device Options
@c man begin DEVICE OPTIONS
The libavdevice library provides the same interface as
libavformat. Namely, an input device is considered like a demuxer, and
an output device like a muxer, and the interface and generic device
options are the same provided by libavformat (see the ffmpeg-formats
manual).
In addition each input or output device may support so-called private
options, which are specific for that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the device
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
@c man end DEVICE OPTIONS
@include indevs.texi
@include outdevs.texi
@include devices.texi
@chapter See Also

View File

@@ -17,138 +17,7 @@ provided by the libavformat library.
@c man end DESCRIPTION
@chapter Format Options
@c man begin FORMAT OPTIONS
The libavformat library provides some generic global options, which
can be set on all the muxers and demuxers. In addition each muxer or
demuxer may support so-called private options, which are specific for
that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
The list of supported options follows:
@table @option
@item avioflags @var{flags} (@emph{input/output})
Possible values:
@table @samp
@item direct
Reduce buffering.
@end table
@item probesize @var{integer} (@emph{input})
Set probing size in bytes, i.e. the size of the data to analyze to get
stream information. A higher value will allow to detect more
information in case it is dispersed into the stream, but will increase
latency. Must be an integer not lesser than 32. It is 5000000 by default.
@item packetsize @var{integer} (@emph{output})
Set packet size.
@item fflags @var{flags} (@emph{input/output})
Set format flags.
Possible values:
@table @samp
@item ignidx
Ignore index.
@item genpts
Generate PTS.
@item nofillin
Do not fill in missing values that can be exactly calculated.
@item noparse
Disable AVParsers, this needs @code{+nofillin} too.
@item igndts
Ignore DTS.
@item discardcorrupt
Discard corrupted frames.
@item sortdts
Try to interleave output packets by DTS.
@item keepside
Do not merge side data.
@item latm
Enable RTP MP4A-LATM payload.
@item nobuffer
Reduce the latency introduced by optional buffering
@end table
@item analyzeduration @var{integer} (@emph{input})
Specify how many microseconds are analyzed to probe the input. A
higher value will allow to detect more accurate information, but will
increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
@item cryptokey @var{hexadecimal string} (@emph{input})
Set decryption key.
@item indexmem @var{integer} (@emph{input})
Set max memory used for timestamp index (per stream).
@item rtbufsize @var{integer} (@emph{input})
Set max memory used for buffering real-time frames.
@item fdebug @var{flags} (@emph{input/output})
Print specific debug info.
Possible values:
@table @samp
@item ts
@end table
@item max_delay @var{integer} (@emph{input/output})
Set maximum muxing or demuxing delay in microseconds.
@item fpsprobesize @var{integer} (@emph{input})
Set number of frames used to probe fps.
@item audio_preload @var{integer} (@emph{output})
Set microseconds by which audio packets should be interleaved earlier.
@item chunk_duration @var{integer} (@emph{output})
Set microseconds for each chunk.
@item chunk_size @var{integer} (@emph{output})
Set size in bytes for each chunk.
@item err_detect, f_err_detect @var{flags} (@emph{input})
Set error detection flags. @code{f_err_detect} is deprecated and
should be used only via the @command{ffmpeg} tool.
Possible values:
@table @samp
@item crccheck
Verify embedded CRCs.
@item bitstream
Detect bitstream specification deviations.
@item buffer
Detect improper bitstream length.
@item explode
Abort decoding on minor error detection.
@item careful
Consider things that violate the spec and have not been seen in the
wild as errors.
@item compliant
Consider all spec non compliancies as errors.
@item aggressive
Consider things that a sane encoder should not do as an error.
@end table
@item use_wallclock_as_timestamps @var{integer} (@emph{input})
Use wallclock as timestamps.
@item avoid_negative_ts @var{integer} (@emph{output})
Shift timestamps to make them positive. 1 enables, 0 disables, default
of -1 enables when required by target format.
@end table
@c man end FORMAT OPTIONS
@include demuxers.texi
@include muxers.texi
@include metadata.texi
@include formats.texi
@chapter See Also

View File

@@ -12,235 +12,14 @@
@chapter Description
@c man begin DESCRIPTION
The FFmpeg resampler provides an high-level interface to the
The FFmpeg resampler provides a high-level interface to the
libswresample library audio resampling utilities. In particular it
allows to perform audio resampling, audio channel layout rematrixing,
and convert audio format and packing layout.
@c man end DESCRIPTION
@chapter Resampler Options
@c man begin RESAMPLER OPTIONS
The audio resampler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, @var{option}=@var{value} for the aresample filter,
by setting the value explicitly in the
@code{SwrContext} options or using the @file{libavutil/opt.h} API for
programmatic use.
@table @option
@item ich, in_channel_count
Set the number of input channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{in_channel_layout} is set.
@item och, out_channel_count
Set the number of output channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{out_channel_layout} is set.
@item uch, used_channel_count
Set the number of used input channels. Default value is 0. This option is
only used for special remapping.
@item isr, in_sample_rate
Set the input sample rate. Default value is 0.
@item osr, out_sample_rate
Set the output sample rate. Default value is 0.
@item isf, in_sample_fmt
Specify the input sample format. It is set by default to @code{none}.
@item osf, out_sample_fmt
Specify the output sample format. It is set by default to @code{none}.
@item tsf, internal_sample_fmt
Set the internal sample format. Default value is @code{none}.
This will automatically be chosen when it is not explicitly set.
@item icl, in_channel_layout
Set the input channel layout.
@item ocl, out_channel_layout
Set the output channel layout.
@item clev, center_mix_level
Set the center mix level. It is a value expressed in deciBel, and must be
in the interval [-32,32].
@item slev, surround_mix_level
Set the surround mix level. It is a value expressed in deciBel, and must
be in the interval [-32,32].
@item lfe_mix_level
Set LFE mix into non LFE level. It is used when there is a LFE input but no
LFE output. It is a value expressed in deciBel, and must
be in the interval [-32,32].
@item rmvol, rematrix_volume
Set rematrix volume. Default value is 1.0.
@item flags, swr_flags
Set flags used by the converter. Default value is 0.
It supports the following individual flags:
@table @option
@item res
force resampling, this flag forces resampling to be used even when the
input and output sample rates match.
@end table
@item dither_scale
Set the dither scale. Default value is 1.
@item dither_method
Set dither method. Default value is 0.
Supported values:
@table @samp
@item rectangular
select rectangular dither
@item triangular
select triangular dither
@item triangular_hp
select triangular dither with high pass
@item lipshitz
select lipshitz noise shaping dither
@item shibata
select shibata noise shaping dither
@item low_shibata
select low shibata noise shaping dither
@item high_shibata
select high shibata noise shaping dither
@item f_weighted
select f-weighted noise shaping dither
@item modified_e_weighted
select modified-e-weighted noise shaping dither
@item improved_e_weighted
select improved-e-weighted noise shaping dither
@end table
@item resampler
Set resampling engine. Default value is swr.
Supported values:
@table @samp
@item swr
select the native SW Resampler; filter options precision and cheby are not
applicable in this case.
@item soxr
select the SoX Resampler (where available); compensation, and filter options
filter_size, phase_shift, filter_type & kaiser_beta, are not applicable in this
case.
@end table
@item filter_size
For swr only, set resampling filter size, default value is 32.
@item phase_shift
For swr only, set resampling phase shift, default value is 10, and must be in
the interval [0,30].
@item linear_interp
Use Linear Interpolation if set to 1, default value is 0.
@item cutoff
Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float
value between 0 and 1. Default value is 0.97 with swr, and 0.91 with soxr
(which, with a sample-rate of 44100, preserves the entire audio band to 20kHz).
@item precision
For soxr only, the precision in bits to which the resampled signal will be
calculated. The default value of 20 (which, with suitable dithering, is
appropriate for a destination bit-depth of 16) gives SoX's 'High Quality'; a
value of 28 gives SoX's 'Very High Quality'.
@item cheby
For soxr only, selects passband rolloff none (Chebyshev) & higher-precision
approximation for 'irrational' ratios. Default value is 0.
@item async
For swr only, simple 1 parameter audio sync to timestamps using stretching,
squeezing, filling and trimming. Setting this to 1 will enable filling and
trimming, larger values represent the maximum amount in samples that the data
may be stretched or squeezed for each second.
Default value is 0, thus no compensation is applied to make the samples match
the audio timestamps.
@item first_pts
For swr only, assume the first pts should be this value. The time unit is 1 / sample rate.
This allows for padding/trimming at the start of stream. By default, no
assumption is made about the first frame's expected pts, so no padding or
trimming is done. For example, this could be set to 0 to pad the beginning with
silence if an audio stream starts after the video stream or to trim any samples
with a negative pts due to encoder delay.
@item min_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger stretching/squeezing/filling or trimming of the
data to make it match the timestamps. The default is that
stretching/squeezing/filling and trimming is disabled
(@option{min_comp} = @code{FLT_MAX}).
@item min_hard_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger adding/dropping samples to make it match the
timestamps. This option effectively is a threshold to select between
hard (trim/fill) and soft (squeeze/stretch) compensation. Note that
all compensation is by default disabled through @option{min_comp}.
The default is 0.1.
@item comp_duration
For swr only, set duration (in seconds) over which data is stretched/squeezed
to make it match the timestamps. Must be a non-negative double float value,
default value is 1.0.
@item max_soft_comp
For swr only, set maximum factor by which data is stretched/squeezed to make it
match the timestamps. Must be a non-negative double float value, default value
is 0.
@item matrix_encoding
Select matrixed stereo encoding.
It accepts the following values:
@table @samp
@item none
select none
@item dolby
select Dolby
@item dplii
select Dolby Pro Logic II
@end table
Default value is @code{none}.
@item filter_type
For swr only, select resampling filter type. This only affects resampling
operations.
It accepts the following values:
@table @samp
@item cubic
select cubic
@item blackman_nuttall
select Blackman Nuttall Windowed Sinc
@item kaiser
select Kaiser Windowed Sinc
@end table
@item kaiser_beta
For swr only, set Kaiser Window Beta value. Must be an integer in the
interval [2,16], default value is 9.
@end table
@c man end RESAMPLER OPTIONS
@include resampler.texi
@chapter See Also

View File

@@ -12,111 +12,13 @@
@chapter Description
@c man begin DESCRIPTION
The FFmpeg rescaler provides an high-level interface to the libswscale
The FFmpeg rescaler provides a high-level interface to the libswscale
library image conversion utilities. In particular it allows to perform
image rescaling and pixel format conversion.
@c man end DESCRIPTION
@chapter Scaler Options
@c man begin SCALER OPTIONS
The video scaler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools. For programmatic use, they can be set explicitly in the
@code{SwsContext} options or through the @file{libavutil/opt.h} API.
@table @option
@item sws_flags
Set the scaler flags. This is also used to set the scaling
algorithm. Only a single algorithm should be selected.
It accepts the following values:
@table @samp
@item fast_bilinear
Select fast bilinear scaling algorithm.
@item bilinear
Select bilinear scaling algorithm.
@item bicubic
Select bicubic scaling algorithm.
@item experimental
Select experimental scaling algorithm.
@item neighbor
Select nearest neighbor rescaling algorithm.
@item area
Select averaging area rescaling algorithm.
@item bicubiclin
Select bicubic scaling algorithm for the luma component, bilinear for
chroma components.
@item gauss
Select Gaussian rescaling algorithm.
@item sinc
Select sinc rescaling algorithm.
@item lanczos
Select lanczos rescaling algorithm.
@item spline
Select natural bicubic spline rescaling algorithm.
@item print_info
Enable printing/debug logging.
@item accurate_rnd
Enable accurate rounding.
@item full_chroma_int
Enable full chroma interpolation.
@item full_chroma_inp
Select full chroma input.
@item bitexact
Enable bitexact output.
@end table
@item srcw
Set source width.
@item srch
Set source height.
@item dstw
Set destination width.
@item dsth
Set destination height.
@item src_format
Set source pixel format (must be expressed as an integer).
@item dst_format
Set destination pixel format (must be expressed as an integer).
@item src_range
Select source range.
@item dst_range
Select destination range.
@item param0, param1
Set scaling algorithm parameters. The specified values are specific of
some scaling algorithms and ignored by others. The specified values
are floating point number values.
@end table
@c man end SCALER OPTIONS
@include scaler.texi
@chapter See Also

View File

@@ -17,8 +17,7 @@ by the libavutil library.
@c man end DESCRIPTION
@include syntax.texi
@include eval.texi
@include utils.texi
@chapter See Also

View File

@@ -16,26 +16,26 @@ ffmpeg [@var{global_options}] @{[@var{input_file_options}] -i @file{input_file}@
@chapter Description
@c man begin DESCRIPTION
ffmpeg is a very fast video and audio converter that can also grab from
@command{ffmpeg} is a very fast video and audio converter that can also grab from
a live audio/video source. It can also convert between arbitrary sample
rates and resize video on the fly with a high quality polyphase filter.
ffmpeg reads from an arbitrary number of input "files" (which can be regular
@command{ffmpeg} reads from an arbitrary number of input "files" (which can be regular
files, pipes, network streams, grabbing devices, etc.), specified by the
@code{-i} option, and writes to an arbitrary number of output "files", which are
specified by a plain output filename. Anything found on the command line which
cannot be interpreted as an option is considered to be an output filename.
Each input or output file can in principle contain any number of streams of
different types (video/audio/subtitle/attachment/data). Allowed number and/or
types of streams can be limited by the container format. Selecting, which
streams from which inputs go into output, is done either automatically or with
the @code{-map} option (see the Stream selection chapter).
Each input or output file can, in principle, contain any number of streams of
different types (video/audio/subtitle/attachment/data). The allowed number and/or
types of streams may be limited by the container format. Selecting which
streams from which inputs will go into which output is either done automatically
or with the @code{-map} option (see the Stream selection chapter).
To refer to input files in options, you must use their indices (0-based). E.g.
the first input file is @code{0}, the second is @code{1} etc. Similarly, streams
the first input file is @code{0}, the second is @code{1}, etc. Similarly, streams
within a file are referred to by their indices. E.g. @code{2:3} refers to the
fourth stream in the third input file. See also the Stream specifiers chapter.
fourth stream in the third input file. Also see the Stream specifiers chapter.
As a general rule, options are applied to the next specified
file. Therefore, order is important, and you can have the same
@@ -50,7 +50,7 @@ options apply ONLY to the next input or output file and are reset between files.
@itemize
@item
To set the video bitrate of the output file to 64kbit/s:
To set the video bitrate of the output file to 64 kbit/s:
@example
ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
@end example
@@ -96,14 +96,14 @@ tracking lowest timestamp on any active input stream.
Encoded packets are then passed to the decoder (unless streamcopy is selected
for the stream, see further for a description). The decoder produces
uncompressed frames (raw video/PCM audio/...) which can be processed further by
filtering (see next section). After filtering the frames are passed to the
encoder, which encodes them and outputs encoded packets again. Finally those are
filtering (see next section). After filtering, the frames are passed to the
encoder, which encodes them and outputs encoded packets. Finally those are
passed to the muxer, which writes the encoded packets to the output file.
@section Filtering
Before encoding, @command{ffmpeg} can process raw audio and video frames using
filters from the libavfilter library. Several chained filters form a filter
graph. @command{ffmpeg} distinguishes between two types of filtergraphs -
graph. @command{ffmpeg} distinguishes between two types of filtergraphs:
simple and complex.
@subsection Simple filtergraphs
@@ -139,7 +139,7 @@ only sets timestamps and otherwise passes the frames unchanged.
@subsection Complex filtergraphs
Complex filtergraphs are those which cannot be described as simply a linear
processing chain applied to one stream. This is the case e.g. when the graph has
processing chain applied to one stream. This is the case, for example, when the graph has
more than one input and/or output, or when output stream type is different from
input. They can be represented with the following diagram:
@@ -164,9 +164,11 @@ input. They can be represented with the following diagram:
@end example
Complex filtergraphs are configured with the @option{-filter_complex} option.
Note that this option is global, since a complex filtergraph by its nature
Note that this option is global, since a complex filtergraph, by its nature,
cannot be unambiguously associated with a single stream or file.
The @option{-lavfi} option is equivalent to @option{-filter_complex}.
A trivial example of a complex filtergraph is the @code{overlay} filter, which
has two video inputs and one video output, containing one video overlaid on top
of the other. Its audio counterpart is the @code{amix} filter.
@@ -176,7 +178,7 @@ Stream copy is a mode selected by supplying the @code{copy} parameter to the
@option{-codec} option. It makes @command{ffmpeg} omit the decoding and encoding
step for the specified stream, so it does only demuxing and muxing. It is useful
for changing the container format or modifying container-level metadata. The
diagram above will in this case simplify to this:
diagram above will, in this case, simplify to this:
@example
_______ ______________ ________
@@ -188,7 +190,7 @@ diagram above will in this case simplify to this:
@end example
Since there is no decoding or encoding, it is very fast and there is no quality
loss. However it might not work in some cases because of many factors. Applying
loss. However, it might not work in some cases because of many factors. Applying
filters is obviously also impossible, since filters work on uncompressed data.
@c man end DETAILED DESCRIPTION
@@ -196,14 +198,14 @@ filters is obviously also impossible, since filters work on uncompressed data.
@chapter Stream selection
@c man begin STREAM SELECTION
By default ffmpeg includes only one stream of each type (video, audio, subtitle)
By default, @command{ffmpeg} includes only one stream of each type (video, audio, subtitle)
present in the input files and adds them to each output file. It picks the
"best" of each based upon the following criteria; for video it is the stream
with the highest resolution, for audio the stream with the most channels, for
subtitle it's the first subtitle stream. In the case where several streams of
the same type rate equally, the lowest numbered stream is chosen.
"best" of each based upon the following criteria: for video, it is the stream
with the highest resolution, for audio, it is the stream with the most channels, for
subtitles, it is the first subtitle stream. In the case where several streams of
the same type rate equally, the stream with the lowest index is chosen.
You can disable some of those defaults by using @code{-vn/-an/-sn} options. For
You can disable some of those defaults by using the @code{-vn/-an/-sn} options. For
full manual control, use the @code{-map} option, which disables the defaults just
described.
@@ -212,7 +214,7 @@ described.
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -220,7 +222,7 @@ described.
@item -f @var{fmt} (@emph{input/output})
Force input or output file format. The format is normally auto detected for input
files and guessed from file extension for output files, so this option is not
files and guessed from the file extension for output files, so this option is not
needed in most cases.
@item -i @var{filename} (@emph{input})
@@ -230,7 +232,8 @@ input file name
Overwrite output files without asking.
@item -n (@emph{global})
Do not overwrite output files but exit if file exists.
Do not overwrite output files, and exit immediately if a specified
output file already exists.
@item -c[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream})
@itemx -codec[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream})
@@ -269,9 +272,15 @@ Set the file size limit, expressed in bytes.
@item -ss @var{position} (@emph{input/output})
When used as an input option (before @code{-i}), seeks in this input file to
@var{position}. When used as an output option (before an output filename),
decodes but discards input until the timestamps reach @var{position}. This is
slower, but more accurate.
@var{position}. Note the in most formats it is not possible to seek exactly, so
@command{ffmpeg} will seek to the closest seek point before @var{position}.
When transcoding and @option{-accurate_seek} is enabled (the default), this
extra segment between the seek point and @var{position} will be decoded and
discarded. When doing stream copy or when @option{-noaccurate_seek} is used, it
will be preserved.
When used as an output option (before an output filename), decodes but discards
input until the timestamps reach @var{position}.
@var{position} may be either in seconds or in @code{hh:mm:ss[.xxx]} form.
@@ -343,25 +352,31 @@ Use fixed quality scale (VBR). The meaning of @var{q} is
codec-dependent.
@anchor{filter_option}
@item -filter[:@var{stream_specifier}] @var{filter_graph} (@emph{output,per-stream})
Create the filter graph specified by @var{filter_graph} and use it to
@item -filter[:@var{stream_specifier}] @var{filtergraph} (@emph{output,per-stream})
Create the filtergraph specified by @var{filtergraph} and use it to
filter the stream.
@var{filter_graph} is a description of the filter graph to apply to
@var{filtergraph} is a description of the filtergraph to apply to
the stream, and must have a single input and a single output of the
same type of the stream. In the filter graph, the input is associated
same type of the stream. In the filtergraph, the input is associated
to the label @code{in}, and the output to the label @code{out}. See
the ffmpeg-filters manual for more information about the filtergraph
syntax.
See the @ref{filter_complex_option,,-filter_complex option} if you
want to create filter graphs with multiple inputs and/or outputs.
want to create filtergraphs with multiple inputs and/or outputs.
@item -filter_script[:@var{stream_specifier}] @var{filename} (@emph{output,per-stream})
This option is similar to @option{-filter}, the only difference is that its
argument is the name of the file from which a filtergraph description is to be
read.
@item -pre[:@var{stream_specifier}] @var{preset_name} (@emph{output,per-stream})
Specify the preset for matching stream(s).
@item -stats (@emph{global})
Print encoding progress/statistics. On by default.
Print encoding progress/statistics. It is on by default, to explicitly
disable it you need to specify @code{-nostats}.
@item -progress @var{url} (@emph{global})
Send program-friendly progress information to @var{url}.
@@ -459,6 +474,10 @@ form @var{num}:@var{den}, where @var{num} and @var{den} are the
numerator and denominator of the aspect ratio. For example "4:3",
"16:9", "1.3333", and "1.7777" are valid argument values.
If used together with @option{-vcodec copy}, it will affect the aspect ratio
stored at container level, but not the aspect ratio stored in encoded
frames, if it exists.
@item -vn (@emph{output})
Disable video recording.
@@ -487,8 +506,8 @@ stream
@item -vlang @var{code}
Set the ISO 639 language code (3 letters) of the current video stream.
@item -vf @var{filter_graph} (@emph{output})
Create the filter graph specified by @var{filter_graph} and use it to
@item -vf @var{filtergraph} (@emph{output})
Create the filtergraph specified by @var{filtergraph} and use it to
filter the stream.
This is an alias for @code{-filter:v}, see the @ref{filter_option,,-filter option}.
@@ -504,7 +523,7 @@ If the selected pixel format can not be selected, ffmpeg will print a
warning and select the best pixel format supported by the encoder.
If @var{pix_fmt} is prefixed by a @code{+}, ffmpeg will exit with an error
if the requested pixel format can not be selected, and automatic conversions
inside filter graphs are disabled.
inside filtergraphs are disabled.
If @var{pix_fmt} is a single @code{+}, ffmpeg selects the same pixel format
as the input (or graph output) and automatic conversions are disabled.
@@ -519,10 +538,6 @@ list separated with slashes. Two first values are the beginning and
end frame numbers, last one is quantizer to use if positive, or quality
factor if negative.
@item -deinterlace
Deinterlace pictures.
This option is deprecated since the deinterlacing is very low quality.
Use the yadif filter with @code{-filter:v yadif}.
@item -ilme
Force interlacing support in encoder (MPEG-2 and MPEG-4 only).
Use this option if your input file is interlaced and you want
@@ -628,8 +643,8 @@ Set the audio codec. This is an alias for @code{-codec:a}.
Set the audio sample format. Use @code{-sample_fmts} to get a list
of supported sample formats.
@item -af @var{filter_graph} (@emph{output})
Create the filter graph specified by @var{filter_graph} and use it to
@item -af @var{filtergraph} (@emph{output})
Create the filtergraph specified by @var{filtergraph} and use it to
filter the stream.
This is an alias for @code{-filter:a}, see the @ref{filter_option,,-filter option}.
@@ -680,6 +695,9 @@ Note that this option will delay the output of all data until the next
subtitle packet is decoded: it may increase memory consumption and latency a
lot.
@item -canvas_size @var{size}
Set the size of the canvas used to render subtitles.
@end table
@section Advanced options
@@ -859,13 +877,12 @@ Dump each input packet to stderr.
When dumping packets, also dump the payload.
@item -re (@emph{input})
Read input at native frame rate. Mainly used to simulate a grab device.
or live input stream (e.g. when reading from a file). Should not be used
with actual grab devices or live input streams (where it can cause packet
loss).
By default @command{ffmpeg} attempts to read the input(s) as fast as possible.
This option will slow down the reading of the input(s) to the native frame rate
of the input(s). It is useful for real-time output (e.g. live streaming). If
your input(s) is coming from some other live streaming source (through HTTP or
UDP for example) the server might already be in real-time, thus the option will
likely not be required. On the other hand, this is meaningful if your input(s)
is a file you are trying to push in real-time.
of the input(s). It is useful for real-time output (e.g. live streaming).
@item -loop_input
Loop over the input stream. Currently it works only for image
streams. This option is used for automatic FFserver testing.
@@ -884,7 +901,7 @@ Newly added values will have to be specified as strings always.
Each frame is passed with its timestamp from the demuxer to the muxer.
@item 1, cfr
Frames will be duplicated and dropped to achieve exactly the requested
constant framerate.
constant frame rate.
@item 2, vfr
Frames are passed through with their timestamp or dropped so as to
prevent 2 frames from having the same timestamp.
@@ -896,6 +913,10 @@ Chooses between 1 and 2 depending on muxer capabilities. This is the
default method.
@end table
Note that the timestamps may be further modified by the muxer, after this.
For example, in the case that the format option @option{avoid_negative_ts}
is enabled.
With -map you can select from which stream the timestamps should be
taken. You can leave either video or audio unchanged and sync the
remaining stream(s) to the unchanged one.
@@ -905,6 +926,11 @@ Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps
the parameter is the maximum samples per second by which the audio is changed.
-async 1 is a special case where only the start of the audio stream is corrected
without any later correction.
Note that the timestamps may be further modified by the muxer, after this.
For example, in the case that the format option @option{avoid_negative_ts}
is enabled.
This option has been deprecated. Use the @code{aresample} audio filter instead.
@item -copyts
@@ -913,7 +939,8 @@ to sanitize them. In particular, do not remove the initial start time
offset value.
Note that, depending on the @option{vsync} option or on specific muxer
processing, the output timestamps may mismatch with the input
processing (e.g. in case the format option @option{avoid_negative_ts}
is enabled) the output timestamps may mismatch with the input
timestamps even when this option is selected.
@item -copytb @var{mode}
@@ -983,10 +1010,10 @@ ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg
@anchor{filter_complex_option}
@item -filter_complex @var{filtergraph} (@emph{global})
Define a complex filter graph, i.e. one with arbitrary number of inputs and/or
Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or
outputs. For simple graphs -- those with one input and one output of the same
type -- see the @option{-filter} options. @var{filtergraph} is a description of
the filter graph, as described in the ``Filtergraph syntax'' section of the
the filtergraph, as described in the ``Filtergraph syntax'' section of the
ffmpeg-filters manual.
Input link labels must refer to input streams using the
@@ -1028,6 +1055,30 @@ To generate 5 seconds of pure red video using lavfi @code{color} source:
@example
ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv
@end example
@item -lavfi @var{filtergraph} (@emph{global})
Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or
outputs. Equivalent to @option{-filter_complex}.
@item -filter_complex_script @var{filename} (@emph{global})
This option is similar to @option{-filter_complex}, the only difference is that
its argument is the name of the file from which a complex filtergraph
description is to be read.
@item -accurate_seek (@emph{input})
This option enables or disables accurate seeking in input files with the
@option{-ss} option. It is enabled by default, so seeking is accurate when
transcoding. Use @option{-noaccurate_seek} to disable it, which may be useful
e.g. when copying some streams and transcoding the others.
@item -override_ffserver (@emph{global})
Overrides the input specifications from ffserver. Using this option you can
map any input stream to ffserver and control many aspects of the encoding from
ffmpeg. Without this option ffmpeg will transmit to ffserver what is requested by
ffserver.
The option is intended for cases where features are needed that cannot be
specified to ffserver but can be to ffmpeg.
@end table
As a special exception, you can use a bitmap subtitle stream as input: it
@@ -1085,7 +1136,7 @@ then it will search for the file @file{libvpx-1080p.ffpreset}.
@itemize
@item
For streaming at very low bitrate application, use a low frame rate
For streaming at very low bitrates, use a low frame rate
and a small GOP size. This is especially true for RealVideo where
the Linux player does not seem to be very fast, so it can miss
frames. An example is:
@@ -1164,14 +1215,14 @@ standard mixer.
Grab the X11 display with ffmpeg via
@example
ffmpeg -f x11grab -s cif -r 25 -i :0.0 /tmp/out.mpg
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg
@end example
0.0 is display.screen number of your X11 server, same as
the DISPLAY environment variable.
@example
ffmpeg -f x11grab -s cif -r 25 -i :0.0+10,20 /tmp/out.mpg
ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg
@end example
0.0 is display.screen number of your X11 server, same as the DISPLAY environment
@@ -1330,9 +1381,42 @@ ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
@end itemize
@c man end EXAMPLES
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
@ifset config-all
@url{ffmpeg.html,ffmpeg}
@end ifset
@ifset config-not-all
@url{ffmpeg-all.html,ffmpeg-all},
@end ifset
@url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@@ -1346,6 +1430,12 @@ ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
@end ifhtml
@ifnothtml
@ifset config-all
ffmpeg(1),
@end ifset
@ifset config-not-all
ffmpeg-all(1),
@end ifset
ffplay(1), ffprobe(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),

View File

@@ -24,7 +24,7 @@ various FFmpeg APIs.
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -73,17 +73,23 @@ Default value is "video", if video is not present or cannot be played
You can interactively cycle through the available show modes by
pressing the key @key{w}.
@item -vf @var{filter_graph}
Create the filter graph specified by @var{filter_graph} and use it to
@item -vf @var{filtergraph}
Create the filtergraph specified by @var{filtergraph} and use it to
filter the video stream.
@var{filter_graph} is a description of the filter graph to apply to
@var{filtergraph} is a description of the filtergraph to apply to
the stream, and must have a single video input and a single video
output. In the filter graph, the input is associated to the label
output. In the filtergraph, the input is associated to the label
@code{in}, and the output to the label @code{out}. See the
ffmpeg-filters manual for more information about the filtergraph
syntax.
@item -af @var{filtergraph}
@var{filtergraph} is a description of the filtergraph to apply to
the input audio.
Use the option "-filters" to show all the available filters (including
sources and sinks).
@item -i @var{input_file}
Read @var{input_file}.
@end table
@@ -93,9 +99,13 @@ Read @var{input_file}.
@item -pix_fmt @var{format}
Set pixel format.
This option has been deprecated in favor of private options, try -pixel_format.
@item -stats
Show the stream duration, the codec parameters, the current position in
the stream and the audio/video synchronisation drift.
Print several playback statistics, in particular show the stream
duration, the codec parameters, the current position in the stream and
the audio/video synchronisation drift. It is on by default, to
explicitly disable it you need to specify @code{-nostats}.
@item -bug
Work around bugs.
@item -fast
@@ -164,13 +174,16 @@ Toggle full screen.
Pause.
@item a
Cycle audio channel.
Cycle audio channel in the curret program.
@item v
Cycle video channel.
@item t
Cycle subtitle channel.
Cycle subtitle channel in the current program.
@item c
Cycle program.
@item w
Show audio waves.
@@ -191,9 +204,42 @@ Seek to percentage in file corresponding to fraction of width.
@c man end
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
@ifset config-all
@url{ffplay.html,ffplay},
@end ifset
@ifset config-not-all
@url{ffplay-all.html,ffmpeg-all},
@end ifset
@url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@@ -207,6 +253,12 @@ Seek to percentage in file corresponding to fraction of width.
@end ifhtml
@ifnothtml
@ifset config-all
ffplay(1),
@end ifset
@ifset config-not-all
ffplay-all(1),
@end ifset
ffmpeg(1), ffprobe(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),

View File

@@ -44,14 +44,15 @@ name (which may be shared by other sections), and an unique
name. See the output of @option{sections}.
Metadata tags stored in the container or in the streams are recognized
and printed in the corresponding "FORMAT" or "STREAM" section.
and printed in the corresponding "FORMAT", "STREAM" or "PROGRAM_STREAM"
section.
@c man end
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -112,7 +113,7 @@ ffprobe -show_packets -select_streams v:1 INPUT
@end example
@item -show_data
Show payload data, as an hexadecimal and ASCII dump. Coupled with
Show payload data, as a hexadecimal and ASCII dump. Coupled with
@option{-show_packets}, it will dump the packets' data. Coupled with
@option{-show_streams}, it will dump the codec extradata.
@@ -209,6 +210,18 @@ multimedia stream.
Each media stream information is printed within a dedicated section
with name "STREAM".
@item -show_programs
Show information about programs and their streams contained in the input
multimedia stream.
Each media stream information is printed within a dedicated section
with name "PROGRAM_STREAM".
@item -show_chapters
Show information about chapters stored in the format.
Each chapter is printed within a dedicated section with name "CHAPTER".
@item -count_frames
Count the number of frames per stream and report it in the
corresponding stream section.
@@ -217,6 +230,70 @@ corresponding stream section.
Count the number of packets per stream and report it in the
corresponding stream section.
@item -read_intervals @var{read_intervals}
Read only the specified intervals. @var{read_intervals} must be a
sequence of interval specifications separated by ",".
@command{ffprobe} will seek to the interval starting point, and will
continue reading from that.
Each interval is specified by two optional parts, separated by "%".
The first part specifies the interval start position. It is
interpreted as an abolute position, or as a relative offset from the
current position if it is preceded by the "+" character. If this first
part is not specified, no seeking will be performed when reading this
interval.
The second part specifies the interval end position. It is interpreted
as an absolute position, or as a relative offset from the current
position if it is preceded by the "+" character. If the offset
specification starts with "#", it is interpreted as the number of
packets to read (not including the flushing packets) from the interval
start. If no second part is specified, the program will read until the
end of the input.
Note that seeking is not accurate, thus the actual interval start
point may be different from the specified position. Also, when an
interval duration is specified, the absolute end time will be computed
by adding the duration to the interval start point found by seeking
the file, rather than to the specified start value.
The formal syntax is given by:
@example
@var{INTERVAL} ::= [@var{START}|+@var{START_OFFSET}][%[@var{END}|+@var{END_OFFSET}]]
@var{INTERVALS} ::= @var{INTERVAL}[,@var{INTERVALS}]
@end example
A few examples follow.
@itemize
@item
Seek to time 10, read packets until 20 seconds after the found seek
point, then seek to position @code{01:30} (1 minute and thirty
seconds) and read packets until position @code{01:45}.
@example
10%+20,01:30%01:45
@end example
@item
Read only 42 packets after seeking to position @code{01:23}:
@example
01:23%+#42
@end example
@item
Read only the first 20 seconds from the start:
@example
%+20
@end example
@item
Read from the start until position @code{02:30}:
@example
%02:30
@end example
@end itemize
@item -show_private_data, -private
Show private data, that is data depending on the format of the
particular shown element.
@@ -274,8 +351,8 @@ keyN=valN
[/SECTION]
@end example
Metadata tags are printed as a line in the corresponding FORMAT or
STREAM section, and are prefixed by the string "TAG:".
Metadata tags are printed as a line in the corresponding FORMAT, STREAM or
PROGRAM_STREAM section, and are prefixed by the string "TAG:".
A description of the accepted options follows.
@@ -487,10 +564,43 @@ DV, GXF and AVI timecodes are available in format metadata
@end itemize
@c man end TIMECODE
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
@url{ffplay.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
@ifset config-all
@url{ffprobe.html,ffprobe},
@end ifset
@ifset config-not-all
@url{ffprobe-all.html,ffprobe-all},
@end ifset
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffserver.html,ffserver},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@@ -503,6 +613,12 @@ DV, GXF and AVI timecodes are available in format metadata
@end ifhtml
@ifnothtml
@ifset config-all
ffprobe(1),
@end ifset
@ifset config-not-all
ffprobe-all(1),
@end ifset
ffmpeg(1), ffplay(1), ffserver(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),

View File

@@ -11,6 +11,8 @@
<xsd:element name="packets" type="ffprobe:packetsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="frames" type="ffprobe:framesType" minOccurs="0" maxOccurs="1" />
<xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="programs" type="ffprobe:programsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="chapters" type="ffprobe:chaptersType" minOccurs="0" maxOccurs="1" />
<xsd:element name="format" type="ffprobe:formatType" minOccurs="0" maxOccurs="1" />
<xsd:element name="error" type="ffprobe:errorType" minOccurs="0" maxOccurs="1" />
<xsd:element name="program_version" type="ffprobe:programVersionType" minOccurs="0" maxOccurs="1" />
@@ -78,7 +80,6 @@
<xsd:attribute name="interlaced_frame" type="xsd:int" />
<xsd:attribute name="top_field_first" type="xsd:int" />
<xsd:attribute name="repeat_pict" type="xsd:int" />
<xsd:attribute name="reference" type="xsd:int" />
</xsd:complexType>
<xsd:complexType name="streamsType">
@@ -87,6 +88,12 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="programsType">
<xsd:sequence>
<xsd:element name="program" type="ffprobe:programType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="streamDispositionType">
<xsd:attribute name="default" type="xsd:int" use="required" />
<xsd:attribute name="dub" type="xsd:int" use="required" />
@@ -103,8 +110,8 @@
<xsd:complexType name="streamType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="disposition" type="ffprobe:streamDispositionType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="index" type="xsd:int" use="required"/>
@@ -131,6 +138,7 @@
<xsd:attribute name="sample_fmt" type="xsd:string"/>
<xsd:attribute name="sample_rate" type="xsd:int"/>
<xsd:attribute name="channels" type="xsd:int"/>
<xsd:attribute name="channel_layout" type="xsd:string"/>
<xsd:attribute name="bits_per_sample" type="xsd:int"/>
<xsd:attribute name="id" type="xsd:string"/>
@@ -147,6 +155,23 @@
<xsd:attribute name="nb_read_packets" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="programType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="program_id" type="xsd:int" use="required"/>
<xsd:attribute name="program_num" type="xsd:int" use="required"/>
<xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="start_pts" type="xsd:long"/>
<xsd:attribute name="end_time" type="xsd:float"/>
<xsd:attribute name="end_pts" type="xsd:long"/>
<xsd:attribute name="pmt_pid" type="xsd:int" use="required"/>
<xsd:attribute name="pcr_pid" type="xsd:int" use="required"/>
</xsd:complexType>
<xsd:complexType name="formatType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
@@ -154,12 +179,14 @@
<xsd:attribute name="filename" type="xsd:string" use="required"/>
<xsd:attribute name="nb_streams" type="xsd:int" use="required"/>
<xsd:attribute name="nb_programs" type="xsd:int" use="required"/>
<xsd:attribute name="format_name" type="xsd:string" use="required"/>
<xsd:attribute name="format_long_name" type="xsd:string"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="duration" type="xsd:float"/>
<xsd:attribute name="size" type="xsd:long"/>
<xsd:attribute name="bit_rate" type="xsd:long"/>
<xsd:attribute name="probe_score" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="tagType">
@@ -182,6 +209,25 @@
<xsd:attribute name="configuration" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="chaptersType">
<xsd:sequence>
<xsd:element name="chapter" type="ffprobe:chapterType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="chapterType">
<xsd:sequence>
<xsd:element name="tag" type="ffprobe:tagType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:int" use="required"/>
<xsd:attribute name="time_base" type="xsd:string" use="required"/>
<xsd:attribute name="start" type="xsd:int" use="required"/>
<xsd:attribute name="start_time" type="xsd:float"/>
<xsd:attribute name="end" type="xsd:int" use="required"/>
<xsd:attribute name="end_time" type="xsd:float" use="required"/>
</xsd:complexType>
<xsd:complexType name="libraryVersionType">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="major" type="xsd:int" use="required"/>

View File

@@ -229,7 +229,7 @@ differing versions of tools. FFM2 is the default.
@chapter Options
@c man begin OPTIONS
@include avtools-common-opts.texi
@include fftools-common-opts.texi
@section Main options
@@ -246,10 +246,43 @@ messages to stdout.
@end table
@c man end
@include config.texi
@ifset config-all
@ifset config-avutil
@include utils.texi
@end ifset
@ifset config-avcodec
@include codecs.texi
@include bitstream_filters.texi
@end ifset
@ifset config-avformat
@include formats.texi
@include protocols.texi
@end ifset
@ifset config-avdevice
@include devices.texi
@end ifset
@ifset config-swresample
@include resampler.texi
@end ifset
@ifset config-swscale
@include scaler.texi
@end ifset
@ifset config-avfilter
@include filters.texi
@end ifset
@end ifset
@chapter See Also
@ifhtml
The @file{doc/ffserver.conf} example,
@ifset config-all
@url{ffserver.html,ffserver},
@end ifset
@ifset config-not-all
@url{ffserver-all.html,ffserver-all},
@end ifset
the @file{doc/ffserver.conf} example,
@url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe},
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@@ -263,7 +296,13 @@ The @file{doc/ffserver.conf} example,
@end ifhtml
@ifnothtml
The @file{doc/ffserver.conf} example, ffmpeg(1), ffplay(1), ffprobe(1),
@ifset config-all
ffserver(1),
@end ifset
@ifset config-not-all
ffserver-all(1),
@end ifset
the @file{doc/ffserver.conf} example, ffmpeg(1), ffplay(1), ffprobe(1),
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)

View File

@@ -1,32 +1,33 @@
All the numerical options, if not specified otherwise, accept in input
a string representing a number, which may contain one of the
SI unit prefixes, for example 'K', 'M', 'G'.
If 'i' is appended after the prefix, binary prefixes are used,
which are based on powers of 1024 instead of powers of 1000.
The 'B' postfix multiplies the value by 8, and can be
appended after a unit prefix or used alone. This allows using for
example 'KB', 'MiB', 'G' and 'B' as number postfix.
All the numerical options, if not specified otherwise, accept a string
representing a number as input, which may be followed by one of the SI
unit prefixes, for example: 'K', 'M', or 'G'.
If 'i' is appended to the SI unit prefix, the complete prefix will be
interpreted as a unit prefix for binary multiplies, which are based on
powers of 1024 instead of powers of 1000. Appending 'B' to the SI unit
prefix multiplies the value by 8. This allows using, for example:
'KB', 'MiB', 'G' and 'B' as number suffixes.
Options which do not take arguments are boolean options, and set the
corresponding value to true. They can be set to false by prefixing
with "no" the option name, for example using "-nofoo" in the
command line will set to false the boolean option with name "foo".
the option name with "no". For example using "-nofoo"
will set the boolean option with name "foo" to false.
@anchor{Stream specifiers}
@section Stream specifiers
Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers
are used to precisely specify which stream(s) does a given option belong to.
are used to precisely specify which stream(s) a given option belongs to.
A stream specifier is a string generally appended to the option name and
separated from it by a colon. E.g. @code{-codec:a:1 ac3} option contains
@code{a:1} stream specifier, which matches the second audio stream. Therefore it
separated from it by a colon. E.g. @code{-codec:a:1 ac3} contains the
@code{a:1} stream specifier, which matches the second audio stream. Therefore, it
would select the ac3 codec for the second audio stream.
A stream specifier can match several streams, the option is then applied to all
A stream specifier can match several streams, so that the option is applied to all
of them. E.g. the stream specifier in @code{-b:a 128k} matches all audio
streams.
An empty stream specifier matches all streams, for example @code{-codec copy}
An empty stream specifier matches all streams. For example, @code{-codec copy}
or @code{-codec: copy} would copy all the streams without reencoding.
Possible forms of stream specifiers are:
@@ -35,20 +36,21 @@ Possible forms of stream specifiers are:
Matches the stream with this index. E.g. @code{-threads:1 4} would set the
thread count for the second stream to 4.
@item @var{stream_type}[:@var{stream_index}]
@var{stream_type} is one of: 'v' for video, 'a' for audio, 's' for subtitle,
'd' for data and 't' for attachments. If @var{stream_index} is given, then
matches stream number @var{stream_index} of this type. Otherwise matches all
@var{stream_type} is one of following: 'v' for video, 'a' for audio, 's' for subtitle,
'd' for data, and 't' for attachments. If @var{stream_index} is given, then it matches
stream number @var{stream_index} of this type. Otherwise, it matches all
streams of this type.
@item p:@var{program_id}[:@var{stream_index}]
If @var{stream_index} is given, then matches stream number @var{stream_index} in
program with id @var{program_id}. Otherwise matches all streams in this program.
If @var{stream_index} is given, then it matches the stream with number @var{stream_index}
in the program with the id @var{program_id}. Otherwise, it matches all streams in the
program.
@item #@var{stream_id}
Matches the stream by format-specific ID.
Matches the stream by a format-specific ID.
@end table
@section Generic options
These options are shared amongst the av* tools.
These options are shared amongst the ff* tools.
@table @option
@@ -57,10 +59,18 @@ Show license.
@item -h, -?, -help, --help [@var{arg}]
Show help. An optional parameter may be specified to print help about a specific
item.
item. If no argument is specified, only basic (non advanced) tool
options are shown.
Possible values of @var{arg} are:
@table @option
@item long
Print advanced tool options in addition to the basic tool options.
@item full
Print complete list of options, including shared and private options
for encoders, decoders, demuxers, muxers, filters, etc.
@item decoder=@var{decoder_name}
Print detailed information about the decoder named @var{decoder_name}. Use the
@option{-decoders} option to get a list of all decoders.
@@ -77,6 +87,9 @@ Print detailed information about the demuxer named @var{demuxer_name}. Use the
Print detailed information about the muxer named @var{muxer_name}. Use the
@option{-formats} option to get a list of all muxers and demuxers.
@item filter=@var{filter_name}
Print detailed information about the filter name @var{filter_name}. Use the
@option{-filters} option to get a list of all filters.
@end table
@item -version
@@ -85,14 +98,6 @@ Show version.
@item -formats
Show available formats.
The fields preceding the format names have the following meanings:
@table @samp
@item D
Decoding available
@item E
Encoding available
@end table
@item -codecs
Show all codecs known to libavcodec.
@@ -123,18 +128,39 @@ Show available sample formats.
@item -layouts
Show channel names and standard channel layouts.
@item -loglevel @var{loglevel} | -v @var{loglevel}
@item -colors
Show recognized color names.
@item -loglevel [repeat+]@var{loglevel} | -v [repeat+]@var{loglevel}
Set the logging level used by the library.
Adding "repeat+" indicates that repeated log output should not be compressed
to the first line and the "Last message repeated n times" line will be
omitted. "repeat" can also be used alone.
If "repeat" is used alone, and with no prior loglevel set, the default
loglevel will be used. If multiple loglevel parameters are given, using
'repeat' will not change the loglevel.
@var{loglevel} is a number or a string containing one of the following values:
@table @samp
@item quiet
Show nothing at all; be silent.
@item panic
Only show fatal errors which could lead the process to crash, such as
and assert failure. This is not currently used for anything.
@item fatal
Only show fatal errors. These are errors after which the process absolutely
cannot continue after.
@item error
Show all errors, including ones which can be recovered from.
@item warning
Show all warnings and errors. Any message related to possibly
incorrect or unexpected events will be shown.
@item info
Show informative messages during processing. This is in addition to
warnings and errors. This is the default value.
@item verbose
Same as @code{info}, except more verbose.
@item debug
Show everything, including debugging information.
@end table
By default the program logs to stderr, if coloring is supported by the
@@ -176,7 +202,61 @@ ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...
@end example
Possible flags for this option are:
@table @samp
@item x86
@table @samp
@item mmx
@item mmxext
@item sse
@item sse2
@item sse2slow
@item sse3
@item sse3slow
@item ssse3
@item atom
@item sse4.1
@item sse4.2
@item avx
@item xop
@item fma4
@item 3dnow
@item 3dnowext
@item cmov
@end table
@item ARM
@table @samp
@item armv5te
@item armv6
@item armv6t2
@item vfp
@item vfpv3
@item neon
@end table
@item PowerPC
@table @samp
@item altivec
@end table
@item Specific Processors
@table @samp
@item pentium2
@item pentium3
@item pentium4
@item k6
@item k62
@item athlon
@item athlonxp
@item k8
@end table
@end table
@item -opencl_options options (@emph{global})
Set OpenCL environment options. This option is only available when
FFmpeg has been compiled with @code{--enable-opencl}.
@var{options} must be a list of @var{key}=@var{value} option pairs
separated by ':'. See the ``OpenCL Options'' section in the
ffmpeg-utils manual for the list of supported options.
@end table
@section AVOptions
@@ -201,11 +281,12 @@ muxer:
ffmpeg -i input.flac -id3v2_version 3 out.mp3
@end example
All codec AVOptions are obviously per-stream, so the chapter on stream
specifiers applies to them
All codec AVOptions are per-stream, and thus a stream specifier
should be attached to them.
Note @option{-nooption} syntax cannot be used for boolean AVOptions,
use @option{-option 0}/@option{-option 1}.
Note: the @option{-nooption} syntax cannot be used for boolean
AVOptions, use @option{-option 0}/@option{-option 1}.
Note2 old undocumented way of specifying per-stream AVOptions by prepending
v/a/s to the options name is now obsolete and will be removed soon.
Note: the old undocumented way of specifying per-stream AVOptions by
prepending v/a/s to the options name is now obsolete and will be
removed soon.

View File

@@ -29,6 +29,11 @@ Format negotiation
same format amongst a supported list, all it has to do is use a reference
to the same list of formats.
query_formats can leave some formats unset and return AVERROR(EAGAIN) to
cause the negotiation mechanism to try again later. That can be used by
filters with complex requirements to use the format negotiated on one link
to set the formats supported on another.
Buffer references ownership and permissions
===========================================
@@ -161,7 +166,7 @@ Buffer references ownership and permissions
WRITE permission.
* Filters that read their input to produce a new frame on output (like
scale) need the READ permission on input and and must request a buffer
scale) need the READ permission on input and must request a buffer
with the WRITE permission.
* Filters that intend to keep a reference after the filtering process
@@ -199,7 +204,7 @@ Frame scheduling
filter; these buffered frames must be flushed immediately if a new input
produces new output.
(Example: framerate-doubling filter: filter_frame must (1) flush the
(Example: frame rate-doubling filter: filter_frame must (1) flush the
second copy of the previous frame, if it is still there, (2) push the
first copy of the incoming frame, (3) keep the second copy for later.)

File diff suppressed because it is too large Load Diff

188
doc/formats.texi Normal file
View File

@@ -0,0 +1,188 @@
@chapter Format Options
@c man begin FORMAT OPTIONS
The libavformat library provides some generic global options, which
can be set on all the muxers and demuxers. In addition each muxer or
demuxer may support so-called private options, which are specific for
that component.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, or by setting the value explicitly in the
@code{AVFormatContext} options or using the @file{libavutil/opt.h} API
for programmatic use.
The list of supported options follows:
@table @option
@item avioflags @var{flags} (@emph{input/output})
Possible values:
@table @samp
@item direct
Reduce buffering.
@end table
@item probesize @var{integer} (@emph{input})
Set probing size in bytes, i.e. the size of the data to analyze to get
stream information. A higher value will allow to detect more
information in case it is dispersed into the stream, but will increase
latency. Must be an integer not lesser than 32. It is 5000000 by default.
@item packetsize @var{integer} (@emph{output})
Set packet size.
@item fflags @var{flags} (@emph{input/output})
Set format flags.
Possible values:
@table @samp
@item ignidx
Ignore index.
@item genpts
Generate PTS.
@item nofillin
Do not fill in missing values that can be exactly calculated.
@item noparse
Disable AVParsers, this needs @code{+nofillin} too.
@item igndts
Ignore DTS.
@item discardcorrupt
Discard corrupted frames.
@item sortdts
Try to interleave output packets by DTS.
@item keepside
Do not merge side data.
@item latm
Enable RTP MP4A-LATM payload.
@item nobuffer
Reduce the latency introduced by optional buffering
@end table
@item seek2any @var{integer} (@emph{input})
Allow seeking to non-keyframes on demuxer level when supported if set to 1.
Default is 0.
@item analyzeduration @var{integer} (@emph{input})
Specify how many microseconds are analyzed to probe the input. A
higher value will allow to detect more accurate information, but will
increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
@item cryptokey @var{hexadecimal string} (@emph{input})
Set decryption key.
@item indexmem @var{integer} (@emph{input})
Set max memory used for timestamp index (per stream).
@item rtbufsize @var{integer} (@emph{input})
Set max memory used for buffering real-time frames.
@item fdebug @var{flags} (@emph{input/output})
Print specific debug info.
Possible values:
@table @samp
@item ts
@end table
@item max_delay @var{integer} (@emph{input/output})
Set maximum muxing or demuxing delay in microseconds.
@item fpsprobesize @var{integer} (@emph{input})
Set number of frames used to probe fps.
@item audio_preload @var{integer} (@emph{output})
Set microseconds by which audio packets should be interleaved earlier.
@item chunk_duration @var{integer} (@emph{output})
Set microseconds for each chunk.
@item chunk_size @var{integer} (@emph{output})
Set size in bytes for each chunk.
@item err_detect, f_err_detect @var{flags} (@emph{input})
Set error detection flags. @code{f_err_detect} is deprecated and
should be used only via the @command{ffmpeg} tool.
Possible values:
@table @samp
@item crccheck
Verify embedded CRCs.
@item bitstream
Detect bitstream specification deviations.
@item buffer
Detect improper bitstream length.
@item explode
Abort decoding on minor error detection.
@item careful
Consider things that violate the spec and have not been seen in the
wild as errors.
@item compliant
Consider all spec non compliancies as errors.
@item aggressive
Consider things that a sane encoder should not do as an error.
@end table
@item use_wallclock_as_timestamps @var{integer} (@emph{input})
Use wallclock as timestamps.
@item avoid_negative_ts @var{integer} (@emph{output})
Shift timestamps to make them non-negative. A value of 1 enables shifting,
a value of 0 disables it, the default value of -1 enables shifting
when required by the target format.
When shifting is enabled, all output timestamps are shifted by the
same amount. Audio, video, and subtitles desynching and relative
timestamp differences are preserved compared to how they would have
been without shifting.
Also note that this affects only leading negative timestamps, and not
non-monotonic negative timestamps.
@item skip_initial_bytes @var{integer} (@emph{input})
Set number of bytes to skip before reading header and frames if set to 1.
Default is 0.
@item correct_ts_overflow @var{integer} (@emph{input})
Correct single timestamp overflows if set to 1. Default is 1.
@item flush_packets @var{integer} (@emph{output})
Flush the underlying I/O stream after each packet. Default 1 enables it, and
has the effect of reducing the latency; 0 disables it and may slightly
increase performance in some cases.
@end table
@c man end FORMAT OPTIONS
@anchor{Format stream specifiers}
@section Format stream specifiers
Format stream specifiers allow selection of one or more streams that
match specific properties.
Possible forms of stream specifiers are:
@table @option
@item @var{stream_index}
Matches the stream with this index.
@item @var{stream_type}[:@var{stream_index}]
@var{stream_type} is one of following: 'v' for video, 'a' for audio,
's' for subtitle, 'd' for data, and 't' for attachments. If
@var{stream_index} is given, then it matches the stream number
@var{stream_index} of this type. Otherwise, it matches all streams of
this type.
@item p:@var{program_id}[:@var{stream_index}]
If @var{stream_index} is given, then it matches the stream with number
@var{stream_index} in the program with the id
@var{program_id}. Otherwise, it matches all streams in the program.
@item #@var{stream_id}
Matches the stream by a format-specific ID.
@end table
The exact semantics of stream specifiers is defined by the
@code{avformat_match_stream_specifier()} function declared in the
@file{libavformat/avformat.h} header.
@include demuxers.texi
@include muxers.texi
@include metadata.texi

View File

@@ -24,7 +24,7 @@ instructions. To enable using OpenJPEG in FFmpeg, pass @code{--enable-libopenjp
@file{./configure}.
@section OpenCORE and VisualOn libraries
@section OpenCORE, VisualOn, and Fraunhofer libraries
Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
libraries provide encoders for a number of audio codecs.
@@ -32,9 +32,14 @@ libraries provide encoders for a number of audio codecs.
@float NOTE
OpenCORE and VisualOn libraries are under the Apache License 2.0
(see @url{http://www.apache.org/licenses/LICENSE-2.0} for details), which is
incompatible with the LGPL version 2.1 and GPL version 2. You have to
incompatible to the LGPL version 2.1 and GPL version 2. You have to
upgrade FFmpeg's license to LGPL version 3 (or if you have enabled
GPL components, GPL version 3) to use it.
GPL components, GPL version 3) by passing @code{--enable-version3} to configure in
order to use it.
The Fraunhofer AAC library is licensed under a license incompatible to the GPL
and is not known to be compatible to the LGPL. Therefore, you have to pass
@code{--enable-nonfree} to configure to use it.
@end float
@subsection OpenCORE AMR
@@ -89,12 +94,20 @@ Then pass @code{--enable-libtwolame} to configure to enable it.
@section libvpx
FFmpeg can make use of the libvpx library for VP8 encoding.
FFmpeg can make use of the libvpx library for VP8/VP9 encoding.
Go to @url{http://www.webmproject.org/} and follow the instructions for
installing the library. Then pass @code{--enable-libvpx} to configure to
enable it.
@section libwavpack
FFmpeg can make use of the libwavpack library for WavPack encoding.
Go to @url{http://www.wavpack.com/} and follow the instructions for
installing the library. Then pass @code{--enable-libwavpack} to configure to
enable it.
@section x264
FFmpeg can make use of the x264 library for H.264 encoding.
@@ -120,6 +133,20 @@ Go to @url{https://github.com/dekkers/libilbc} and follow the instructions for
installing the library. Then pass @code{--enable-libilbc} to configure to
enable it.
@section libzvbi
libzvbi is a VBI decoding library which can be used by FFmpeg to decode DVB
teletext pages and DVB teletext subtitles.
Go to @url{http://sourceforge.net/projects/zapping/} and follow the instructions for
installing the library. Then pass @code{--enable-libzvbi} to configure to
enable it.
@float NOTE
libzvbi is licensed under the GNU General Public License Version 2 or later
(see @url{http://www.gnu.org/licenses/old-licenses/gpl-2.0.html} for details),
you must upgrade FFmpeg's license to GPL in order to use it.
@end float
@chapter Supported File Formats, Codecs or Features
@@ -147,13 +174,15 @@ library:
@tab Multimedia format used in game Heart Of Darkness.
@item Apple HTTP Live Streaming @tab @tab X
@item Artworx Data Format @tab @tab X
@item ADP @tab @tab X
@tab Audio format used on the Nintendo Gamecube.
@item AFC @tab @tab X
@tab Audio format used on the Nintendo Gamecube.
@item ASF @tab X @tab X
@item AST @tab X @tab X
@tab Audio format used on the Nintendo Wii.
@item AVI @tab X @tab X
@item AVISynth @tab @tab X
@item AviSynth @tab @tab X
@item AVR @tab @tab X
@tab Audio format used on Mac.
@item AVS @tab @tab X
@@ -322,7 +351,7 @@ library:
@item raw Shorten @tab @tab X
@item raw TAK @tab @tab X
@item raw TrueHD @tab X @tab X
@item raw VC-1 @tab @tab X
@item raw VC-1 @tab X @tab X
@item raw PCM A-law @tab X @tab X
@item raw PCM mu-law @tab X @tab X
@item raw PCM signed 8 bit @tab X @tab X
@@ -348,11 +377,13 @@ library:
@tab File format used by RED Digital cameras, contains JPEG 2000 frames and PCM audio.
@item RealMedia @tab X @tab X
@item Redirector @tab @tab X
@item RedSpark @tab @tab X
@item Renderware TeXture Dictionary @tab @tab X
@item RL2 @tab @tab X
@tab Audio and video format used in some games by Entertainment Software Partners.
@item RPL/ARMovie @tab @tab X
@item Lego Mindstorms RSO @tab X @tab X
@item RSD @tab @tab X
@item RTMP @tab X @tab X
@tab Output is performed by publishing stream to RTMP server
@item RTP @tab X @tab X
@@ -418,7 +449,6 @@ following image formats are supported:
@item .Y.U.V @tab X @tab X
@tab one raw file per component
@item animated GIF @tab X @tab X
@tab Only uncompressed GIFs are generated.
@item BMP @tab X @tab X
@tab Microsoft BMP image
@item PIX @tab @tab X
@@ -458,6 +488,8 @@ following image formats are supported:
@tab YUV, JPEG and some extension is not supported yet.
@item Truevision Targa @tab X @tab X
@tab Targa (.TGA) image format
@item WebP @tab @tab X
@tab WebP image format
@item XBM @tab X @tab X
@tab X BitMap image format
@item XFace @tab X @tab X
@@ -485,6 +517,7 @@ following image formats are supported:
@item AMV Video @tab X @tab X
@tab Used in Chinese MP3 players.
@item ANSI/ASCII art @tab @tab X
@item Apple Intermediate Codec @tab @tab X
@item Apple MJPEG-B @tab @tab X
@item Apple ProRes @tab X @tab X
@item Apple QuickDraw @tab @tab X
@@ -567,12 +600,13 @@ following image formats are supported:
@tab Sorenson H.263 used in Flash
@item Forward Uncompressed @tab @tab X
@item Fraps @tab @tab X
@item Go2Webinar @tab @tab X
@tab fourcc: G2M4
@item H.261 @tab X @tab X
@item H.263 / H.263-1996 @tab X @tab X
@item H.263+ / H.263-1998 / H.263 version 2 @tab X @tab X
@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 @tab E @tab X
@tab encoding supported through external library libx264
@item H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration) @tab E @tab X
@item HuffYUV @tab X @tab X
@item HuffYUV FFmpeg variant @tab X @tab X
@item IBM Ultimotion @tab @tab X
@@ -625,7 +659,6 @@ following image formats are supported:
@item Motion Pixels video @tab @tab X
@item MPEG-1 video @tab X @tab X
@item MPEG-1/2 video XvMC (X-Video Motion Compensation) @tab @tab X
@item MPEG-1/2 video (VDPAU acceleration) @tab @tab X
@item MPEG-2 video @tab X @tab X
@item MPEG-4 part 2 @tab X @tab X
@tab libxvidcore can be used alternatively for encoding.
@@ -643,6 +676,8 @@ following image formats are supported:
@tab fourcc: VP60,VP61,VP62
@item VP8 @tab E @tab X
@tab fourcc: VP80, encoding supported through external library libvpx
@item VP9 @tab E @tab X
@tab encoding supported through external library libvpx
@item Pinnacle TARGA CineWave YUV16 @tab @tab X
@tab fourcc: Y216
@item Prores @tab @tab X
@@ -769,9 +804,11 @@ following image formats are supported:
@tab Used in some Sega Saturn console games.
@item ADPCM IMA Duck DK4 @tab @tab X
@tab Used in some Sega Saturn console games.
@item ADPCM IMA Radical @tab @tab X
@item ADPCM Microsoft @tab X @tab X
@item ADPCM MS IMA @tab X @tab X
@item ADPCM Nintendo Gamecube AFC @tab @tab X
@item ADPCM Nintendo Gamecube DTK @tab @tab X
@item ADPCM Nintendo Gamecube THP @tab @tab X
@item ADPCM QT IMA @tab X @tab X
@item ADPCM SEGA CRI ADX @tab X @tab X
@@ -790,8 +827,8 @@ following image formats are supported:
@item Amazing Studio PAF Audio @tab @tab X
@item Apple lossless audio @tab X @tab X
@tab QuickTime fourcc 'alac'
@item Atrac 1 @tab @tab X
@item Atrac 3 @tab @tab X
@item ATRAC1 @tab @tab X
@item ATRAC3 @tab @tab X
@item Bink Audio @tab @tab X
@tab Used in Bink and Smacker files in many games.
@item CELT @tab @tab E
@@ -831,7 +868,6 @@ following image formats are supported:
@item MLP (Meridian Lossless Packing) @tab @tab X
@tab Used in DVD-Audio discs.
@item Monkey's Audio @tab @tab X
@tab Only versions 3.97-3.99 are supported.
@item MP1 (MPEG audio layer 1) @tab @tab IX
@item MP2 (MPEG audio layer 2) @tab IX @tab IX
@tab libtwolame can be used alternatively for encoding.
@@ -886,7 +922,7 @@ following image formats are supported:
@item Sierra VMD audio @tab @tab X
@tab Used in Sierra VMD files.
@item Smacker audio @tab @tab X
@item SMPTE 302M AES3 audio @tab @tab X
@item SMPTE 302M AES3 audio @tab X @tab X
@item Sonic @tab X @tab X
@tab experimental codec
@item Sonic lossless @tab X @tab X
@@ -894,7 +930,7 @@ following image formats are supported:
@item Speex @tab E @tab E
@tab supported through external library libspeex
@item TAK (Tom's lossless Audio Kompressor) @tab @tab X
@item True Audio (TTA) @tab @tab X
@item True Audio (TTA) @tab X @tab X
@item TrueHD @tab @tab X
@tab Used in HD-DVD and Blu-Ray discs.
@item TwinVQ (VQF flavor) @tab @tab X
@@ -902,7 +938,9 @@ following image formats are supported:
@tab Used in LucasArts SMUSH animations.
@item Vorbis @tab E @tab X
@tab A native but very primitive encoder exists.
@item WavPack @tab @tab X
@item Voxware MetaSound @tab @tab X
@tab imperfect and incomplete support
@item WavPack @tab X @tab X
@item Westwood Audio (SND1) @tab @tab X
@item Windows Media Audio 1 @tab X @tab X
@item Windows Media Audio 2 @tab X @tab X
@@ -925,6 +963,7 @@ performance on systems without hardware floating point support).
@item 3GPP Timed Text @tab @tab @tab X @tab X
@item AQTitle @tab @tab X @tab @tab X
@item DVB @tab X @tab X @tab X @tab X
@item DVB teletext @tab @tab X @tab @tab E
@item DVD @tab X @tab X @tab X @tab X
@item JACOsub @tab X @tab X @tab @tab X
@item MicroDVD @tab X @tab X @tab @tab X
@@ -941,12 +980,14 @@ performance on systems without hardware floating point support).
@item TED Talks captions @tab @tab X @tab @tab X
@item VobSub (IDX+SUB) @tab @tab X @tab @tab X
@item VPlayer @tab @tab X @tab @tab X
@item WebVTT @tab @tab X @tab @tab X
@item WebVTT @tab X @tab X @tab @tab X
@item XSUB @tab @tab @tab X @tab X
@end multitable
@code{X} means that the feature is supported.
@code{E} means that support is provided through an external library.
@section Network Protocols
@multitable @columnfractions .4 .1
@@ -994,7 +1035,7 @@ performance on systems without hardware floating point support).
@item OSS @tab X @tab X
@item Pulseaudio @tab X @tab
@item SDL @tab @tab X
@item Video4Linux2 @tab X @tab
@item Video4Linux2 @tab X @tab X
@item VfW capture @tab X @tab
@item X11 grabbing @tab X @tab
@end multitable

View File

@@ -86,7 +86,7 @@ fail to open.
Set the video size in the captured video.
@item framerate
Set the framerate in the captured video.
Set the frame rate in the captured video.
@item sample_rate
Set the sample rate (in Hz) of the captured audio.
@@ -485,87 +485,52 @@ For more information about OSS see:
@section pulse
pulseaudio input device.
PulseAudio input device.
To enable this input device during configuration you need libpulse-simple
installed in your system.
To enable this output device you need to configure FFmpeg with @code{--enable-libpulse}.
The filename to provide to the input device is a source device or the
string "default"
To list the pulse source devices and their properties you can invoke
To list the PulseAudio source devices and their properties you can invoke
the command @command{pactl list sources}.
More information about PulseAudio can be found on @url{http://www.pulseaudio.org}.
@subsection Options
@table @option
@item server
Connect to a specific PulseAudio server, specified by an IP address.
Default server is used when not provided.
@item name
Specify the application name PulseAudio will use when showing active clients,
by default it is the @code{LIBAVFORMAT_IDENT} string.
@item stream_name
Specify the stream name PulseAudio will use when showing active streams,
by default it is "record".
@item sample_rate
Specify the samplerate in Hz, by default 48kHz is used.
@item channels
Specify the channels in use, by default 2 (stereo) is set.
@item frame_size
Specify the number of bytes per frame, by default it is set to 1024.
@item fragment_size
Specify the minimal buffering fragment in PulseAudio, it will affect the
audio latency. By default it is unset.
@end table
@subsection Examples
Record a stream from default device:
@example
ffmpeg -f pulse -i default /tmp/pulse.wav
@end example
@subsection @var{server} AVOption
The syntax is:
@example
-server @var{server name}
@end example
Connects to a specific server.
@subsection @var{name} AVOption
The syntax is:
@example
-name @var{application name}
@end example
Specify the application name pulse will use when showing active clients,
by default it is the LIBAVFORMAT_IDENT string
@subsection @var{stream_name} AVOption
The syntax is:
@example
-stream_name @var{stream name}
@end example
Specify the stream name pulse will use when showing active streams,
by default it is "record"
@subsection @var{sample_rate} AVOption
The syntax is:
@example
-sample_rate @var{samplerate}
@end example
Specify the samplerate in Hz, by default 48kHz is used.
@subsection @var{channels} AVOption
The syntax is:
@example
-channels @var{N}
@end example
Specify the channels in use, by default 2 (stereo) is set.
@subsection @var{frame_size} AVOption
The syntax is:
@example
-frame_size @var{bytes}
@end example
Specify the number of byte per frame, by default it is set to 1024.
@subsection @var{fragment_size} AVOption
The syntax is:
@example
-fragment_size @var{bytes}
@end example
Specify the minimal buffering fragment in pulseaudio, it will affect the
audio latency. By default it is unset.
@section sndio
sndio input device.
@@ -590,8 +555,8 @@ Video4Linux2 input video device.
"v4l2" can be used as alias for "video4linux2".
If FFmpeg is built with v4l-utils support (by using the
@code{--enable-libv4l2} configure option), the device will always rely
on libv4l2.
@code{--enable-libv4l2} configure option), it is possible to use it with the
@code{-use_libv4l2} input device option.
The name of the device to grab is a file device node, usually Linux
systems tend to automatically create such nodes when the device
@@ -600,7 +565,7 @@ kind @file{/dev/video@var{N}}, where @var{N} is a number associated to
the device.
Video4Linux2 devices usually support a limited set of
@var{width}x@var{height} sizes and framerates. You can check which are
@var{width}x@var{height} sizes and frame rates. You can check which are
supported using @command{-list_formats all} for Video4Linux2 devices.
Some devices, like TV cards, support one or more standards. It is possible
to list all the supported standards using @command{-list_standards all}.
@@ -623,7 +588,7 @@ ffplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video0
@item
Grab and record the input of a video4linux2 device, leave the
framerate and size as previously set:
frame rate and size as previously set:
@example
ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg
@end example
@@ -640,7 +605,8 @@ list of the supported standards, use the @option{list_standards}
option.
@item channel
Set the input channel number. Default to 0.
Set the input channel number. Default to -1, which means using the
previously selected channel.
@item video_size
Set the video frame size. The argument must be a string in the form
@@ -655,7 +621,7 @@ This option allows to select the input format, when several are
available.
@item framerate
Set the preferred video framerate.
Set the preferred video frame rate.
@item list_formats
List available formats (supported pixel formats, codecs, and frame
@@ -735,12 +701,12 @@ properties of your X11 display (e.g. grep for "name" or "dimensions").
For example to grab from @file{:0.0} using @command{ffmpeg}:
@example
ffmpeg -f x11grab -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
Grab at position @code{10,20}:
@example
ffmpeg -f x11grab -r 25 -s cif -i :0.0+10,20 out.mpg
ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
@end example
@subsection Options
@@ -761,17 +727,17 @@ zero) to the edge of region.
For example:
@example
ffmpeg -f x11grab -follow_mouse centered -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
To follow only when the mouse pointer reaches within 100 pixels to edge:
@example
ffmpeg -f x11grab -follow_mouse 100 -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
@item framerate
Set the grabbing frame rate. Default value is @code{ntsc},
corresponding to a framerate of @code{30000/1001}.
corresponding to a frame rate of @code{30000/1001}.
@item show_region
Show grabbed region on screen.
@@ -782,12 +748,12 @@ know what is being grabbed if only a portion of the screen is grabbed.
For example:
@example
ffmpeg -f x11grab -show_region 1 -r 25 -s cif -i :0.0+10,20 out.mpg
ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
@end example
With @var{follow_mouse}:
@example
ffmpeg -f x11grab -follow_mouse centered -show_region 1 -r 25 -s cif -i :0.0 out.mpg
ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
@end example
@item video_size

View File

@@ -1,4 +1,4 @@
FFmpeg's bug/patch/feature request tracker manual
FFmpeg's bug/feature request tracker manual
=================================================
NOTE: This is a draft.
@@ -11,7 +11,7 @@ existing issues can be done through a web interface.
Issues can be different kinds of things we want to keep track of
but that do not belong into the source tree itself. This includes
bug reports, patches, feature requests and license violations. We
bug reports, feature requests and license violations. We
might add more items to this list in the future, so feel free to
propose a new `type of issue' on the ffmpeg-devel mailing list if
you feel it is worth tracking.
@@ -24,10 +24,13 @@ a mail for every change to every issue.
The subscription URL for the ffmpeg-trac list is:
http(s)://ffmpeg.org/mailman/listinfo/ffmpeg-trac
The URL of the webinterface of the tracker is:
http(s)://ffmpeg.org/trac/ffmpeg
http(s)://trac.ffmpeg.org
Type:
-----
art
Artwork such as photos, music, banners, and logos.
bug / defect
An error, flaw, mistake, failure, or fault in FFmpeg or libav* that
prevents it from behaving as intended.
@@ -41,20 +44,18 @@ feature request / enhancement
license violation
ticket to keep track of (L)GPL violations of ffmpeg by others
patch
A patch as generated by diff which conforms to the patch submission and
development policy.
sponsoring request
Developer requests for hardware, software, specifications, money,
refunds, etc.
Priority:
---------
critical
Bugs and patches which deal with data loss and security issues.
Bugs about data loss and security issues.
No feature request can be critical.
important
Bugs which make FFmpeg unusable for a significant number of users, and
patches fixing them.
Bugs which make FFmpeg unusable for a significant number of users.
Examples here might be completely broken MPEG-4 decoding or a build issue
on Linux.
While broken 4xm decoding or a broken OS/2 build would not be important,
@@ -68,7 +69,7 @@ normal
minor
Bugs and patches about things like spelling errors, "mp2" instead of
Bugs about things like spelling errors, "mp2" instead of
"mp3" being shown and such.
Feature requests about things few people want or which do not make a big
difference.
@@ -103,13 +104,13 @@ This state implicates that the bug either has been reproduced or that
reproduction is not needed as the bug is already understood.
Type/Status/Substatus:
Type/Status:
----------
*/new/new
Initial state of new bugs, patches and feature requests submitted by
*/new
Initial state of new bugs and feature requests submitted by
users.
*/open/open
*/open
Issues which have been briefly looked at and which did not look outright
invalid.
This implicates that no real more detailed state applies yet. Conversely,
@@ -117,9 +118,7 @@ Type/Status/Substatus:
looked at.
*/closed/duplicate
Bugs, patches or feature requests which are duplicates.
Note that patches dealing with the same thing in a different way are not
duplicates.
Bugs or feature requests which are duplicates.
Note, if you mark something as duplicate, do not forget setting the
superseder so bug reports are properly linked.
@@ -134,7 +133,7 @@ Type/Status/Substatus:
bug/closed/fixed
Bugs which have to the best of our knowledge been fixed.
bug/closed/wont_fix
bug/closed/wontfix
Bugs which we will not fix. Possible reasons include legality, high
complexity for the sake of supporting obscure corner cases, speed loss
for similarly esoteric purposes, et cetera.
@@ -148,33 +147,15 @@ bug/closed/works_for_me
reproduction failed - that is the code seems to work correctly to the
best of our knowledge.
patch/open/approved
Patches which have been reviewed and approved by a developer.
Such patches can be applied anytime by any other developer after some
reasonable testing (compile + regression tests + does the patch do
what the author claimed).
patch/open/needs_changes
Patches which have been reviewed and need changes to be accepted.
patch/closed/applied
Patches which have been applied.
patch/closed/rejected
Patches which have been rejected.
feature_request/closed/implemented
feature_request/closed/fixed
Feature requests which have been implemented.
feature_request/closed/wont_implement
feature_request/closed/wontfix
Feature requests which will not be implemented. The reasons here could
be legal, philosophical or others.
Note, please do not use type-status-substatus combinations other than the
above without asking on ffmpeg-dev first!
Note2, if you provide the requested info do not forget to remove the
needs_more_info substatus.
needs_more_info resolution.
Component:
----------

View File

@@ -20,7 +20,7 @@ Specifically, this library performs the following conversions:
@itemize
@item
@emph{Resampling}: is the process of changing the audio rate, for
example from an high sample rate of 44100Hz to 8000Hz. Audio
example from a high sample rate of 44100Hz to 8000Hz. Audio
conversion from high to low sample rate is a lossy process. Several
resampling options and algorithms are available.

View File

@@ -65,4 +65,20 @@ title=chapter \#1
title=multi\
line
@end example
By using the ffmetadata muxer and demuxer it is possible to extract
metadata from an input file to an ffmetadata file, and then transcode
the file into an output file with the edited ffmetadata file.
Extracting an ffmetadata file with @file{ffmpeg} goes as follows:
@example
ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
@end example
Reinserting edited metadata information from the FFMETADATAFILE file can
be done as:
@example
ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT
@end example
@c man end METADATA

View File

@@ -47,7 +47,14 @@ Files that have MIPS copyright notice in them:
* libavutil/mips/
float_dsp_mips.c
libm_mips.h
* libavcodec/
fft_fixed_32.c
fft_init_table.c
fft_table.h
mdct_fixed_32.c
* libavcodec/mips/
aaccoder_mips.c
aacpsy_mips.h
ac3dsp_mips.c
acelp_filters_mips.c
acelp_vectors_mips.c
@@ -63,5 +70,6 @@ Files that have MIPS copyright notice in them:
fft_table.h
fft_init_table.c
fmtconvert_mips.c
iirfilter_mips.c
mpegaudiodsp_mips_fixed.c
mpegaudiodsp_mips_float.c

View File

@@ -57,6 +57,11 @@ which re-allocates them for other threads.
Add CODEC_CAP_FRAME_THREADS to the codec capabilities. There will be very little
speed gain at this point but it should work.
If there are inter-frame dependencies, so the codec calls
ff_thread_report/await_progress(), set AVCodecInternal.allocate_progress. The
frames must then be freed with ff_thread_release_buffer().
Otherwise leave it at zero and decode directly into the user-supplied frames.
Call ff_thread_report_progress() after some part of the current picture has decoded.
A good place to put this is where draw_horiz_band() is called - add this if it isn't
called anywhere, as it's useful too and the implementation is trivial when you're

View File

@@ -18,6 +18,23 @@ enabled muxers.
A description of some of the currently available muxers follows.
@anchor{aiff}
@section aiff
Audio Interchange File Format muxer.
It accepts the following options:
@table @option
@item write_id3v2
Enable ID3v2 tags writing when set to 1. Default is 0 (disabled).
@item id3v2_version
Select ID3v2 version to write. Currently only version 3 and 4 (aka.
ID3v2.3 and ID3v2.4) are supported. The default is version 4.
@end table
@anchor{crc}
@section crc
@@ -243,11 +260,13 @@ ffmpeg -i in.avi -f image2 -frames:v 1 img.jpeg
@table @option
@item start_number @var{number}
Start the sequence from @var{number}. Default value is 1. Must be a
positive number.
non-negative number.
@item -update @var{number}
If @var{number} is nonzero, the filename will always be interpreted as just a
filename, not a pattern, and this file will be continuously overwritten with new
images.
@item updatefirst 1|0
If set to 1, update the first written image file again and
again. Default value is 0.
@end table
The image muxer supports the .Y.U.V image file format. This format is
@@ -256,6 +275,90 @@ each of the YUV420P components. To read or write this image file format,
specify the name of the '.Y' file. The muxer will automatically open the
'.U' and '.V' files as required.
@section matroska
Matroska container muxer.
This muxer implements the matroska and webm container specs.
The recognized metadata settings in this muxer are:
@table @option
@item title=@var{title name}
Name provided to a single track
@end table
@table @option
@item language=@var{language name}
Specifies the language of the track in the Matroska languages form
@end table
@table @option
@item stereo_mode=@var{mode}
Stereo 3D video layout of two views in a single video track
@table @option
@item mono
video is not stereo
@item left_right
Both views are arranged side by side, Left-eye view is on the left
@item bottom_top
Both views are arranged in top-bottom orientation, Left-eye view is at bottom
@item top_bottom
Both views are arranged in top-bottom orientation, Left-eye view is on top
@item checkerboard_rl
Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
@item checkerboard_lr
Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
@item row_interleaved_rl
Each view is constituted by a row based interleaving, Right-eye view is first row
@item row_interleaved_lr
Each view is constituted by a row based interleaving, Left-eye view is first row
@item col_interleaved_rl
Both views are arranged in a column based interleaving manner, Right-eye view is first column
@item col_interleaved_lr
Both views are arranged in a column based interleaving manner, Left-eye view is first column
@item anaglyph_cyan_red
All frames are in anaglyph format viewable through red-cyan filters
@item right_left
Both views are arranged side by side, Right-eye view is on the left
@item anaglyph_green_magenta
All frames are in anaglyph format viewable through green-magenta filters
@item block_lr
Both eyes laced in one Block, Left-eye view is first
@item block_rl
Both eyes laced in one Block, Right-eye view is first
@end table
@end table
For example a 3D WebM clip can be created using the following command line:
@example
ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
@end example
This muxer supports the following options:
@table @option
@item reserve_index_space
By default, this muxer writes the index for seeking (called cues in Matroska
terms) at the end of the file, because it cannot know in advance how much space
to leave for the index at the beginning of the file. However for some use cases
-- e.g. streaming where seeking is possible but slow -- it is useful to put the
index at the beginning of the file.
If this option is set to a non-zero value, the muxer will reserve a given amount
of space in the file header and then try to write the cues there when the muxing
finishes. If the available space does not suffice, muxing will fail. A safe size
for most use cases should be about 50kB per hour of video.
Note that cues are only written if the output is seekable and this option will
have no effect if it is not.
@end table
@anchor{md5}
@section md5
@@ -348,8 +451,8 @@ pair for each track, making it easier to separate tracks.
This option is implicitly set when writing ismv (Smooth Streaming) files.
@item -movflags faststart
Run a second pass moving the moov atom on top of the file. This
operation can take a while, and will not work in various situations such
Run a second pass moving the index (moov atom) to the beginning of the file.
This operation can take a while, and will not work in various situations such
as fragmented output, thus it is not enabled by default.
@item -movflags rtphint
Add RTP hinting tracks to the output file.
@@ -361,6 +464,42 @@ point on IIS with this muxer. Example:
ffmpeg -re @var{<normal input/transcoding options>} -movflags isml+frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Encoder1)
@end example
@section mp3
The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
@code{id3v2_version} option controls which one is used. The legacy ID3v1 tag is
not written by default, but may be enabled with the @code{write_id3v1} option.
For seekable output the muxer also writes a Xing frame at the beginning, which
contains the number of frames in the file. It is useful for computing duration
of VBR files.
The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
are supplied to the muxer in form of a video stream with a single packet. There
can be any number of those streams, each will correspond to a single APIC frame.
The stream metadata tags @var{title} and @var{comment} map to APIC
@var{description} and @var{picture type} respectively. See
@url{http://id3.org/id3v2.4.0-frames} for allowed picture types.
Note that the APIC frames must be written at the beginning, so the muxer will
buffer the audio frames until it gets all the pictures. It is therefore advised
to provide the pictures as soon as possible to avoid excessive buffering.
Examples:
Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
@example
ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
@end example
To attach a picture to an mp3 file select both the audio and the picture stream
with @code{map}:
@example
ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
@end example
@section mpegts
MPEG transport stream muxer.
@@ -383,6 +522,40 @@ Set the service_id (default 0x0001) also known as program in DVB.
Set the first PID for PMT (default 0x1000, max 0x1f00).
@item -mpegts_start_pid @var{number}
Set the first PID for data packets (default 0x0100, max 0x0f00).
@item -mpegts_m2ts_mode @var{number}
Enable m2ts mode if set to 1. Default value is -1 which disables m2ts mode.
@item -muxrate @var{number}
Set muxrate.
@item -pes_payload_size @var{number}
Set minimum PES packet payload in bytes.
@item -mpegts_flags @var{flags}
Set flags (see below).
@item -mpegts_copyts @var{number}
Preserve original timestamps, if value is set to 1. Default value is -1, which
results in shifting timestamps so that they start from 0.
@item -tables_version @var{number}
Set PAT, PMT and SDT version (default 0, valid values are from 0 to 31, inclusively).
This option allows updating stream structure so that standard consumer may
detect the change. To do so, reopen output AVFormatContext (in case of API
usage) or restart ffmpeg instance, cyclically changing tables_version value:
@example
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp://1.1.1.1:1111
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp://1.1.1.1:1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
...
@end example
@end table
Option mpegts_flags may take a set of such flags:
@table @option
@item resend_headers
Reemit PAT/PMT before writing the next packet.
@item latm
Use LATM packetization for AAC.
@end table
The recognized metadata settings in mpegts muxer are @code{service_provider}
@@ -424,69 +597,21 @@ Alternatively you can write the command as:
ffmpeg -benchmark -i INPUT -f null -
@end example
@section matroska
@section ogg
Matroska container muxer.
This muxer implements the matroska and webm container specs.
The recognized metadata settings in this muxer are:
Ogg container muxer.
@table @option
@item title=@var{title name}
Name provided to a single track
@item -page_duration @var{duration}
Preferred page duration, in microseconds. The muxer will attempt to create
pages that are approximately @var{duration} microseconds long. This allows the
user to compromise between seek granularity and container overhead. The default
is 1 second. A value of 0 will fill all segments, making pages as large as
possible. A value of 1 will effectively use 1 packet-per-page in most
situations, giving a small seek granularity at the cost of additional container
overhead.
@end table
@table @option
@item language=@var{language name}
Specifies the language of the track in the Matroska languages form
@end table
@table @option
@item stereo_mode=@var{mode}
Stereo 3D video layout of two views in a single video track
@table @option
@item mono
video is not stereo
@item left_right
Both views are arranged side by side, Left-eye view is on the left
@item bottom_top
Both views are arranged in top-bottom orientation, Left-eye view is at bottom
@item top_bottom
Both views are arranged in top-bottom orientation, Left-eye view is on top
@item checkerboard_rl
Each view is arranged in a checkerboard interleaved pattern, Left-eye view being first
@item checkerboard_lr
Each view is arranged in a checkerboard interleaved pattern, Right-eye view being first
@item row_interleaved_rl
Each view is constituted by a row based interleaving, Right-eye view is first row
@item row_interleaved_lr
Each view is constituted by a row based interleaving, Left-eye view is first row
@item col_interleaved_rl
Both views are arranged in a column based interleaving manner, Right-eye view is first column
@item col_interleaved_lr
Both views are arranged in a column based interleaving manner, Left-eye view is first column
@item anaglyph_cyan_red
All frames are in anaglyph format viewable through red-cyan filters
@item right_left
Both views are arranged side by side, Right-eye view is on the left
@item anaglyph_green_magenta
All frames are in anaglyph format viewable through green-magenta filters
@item block_lr
Both eyes laced in one Block, Left-eye view is first
@item block_rl
Both eyes laced in one Block, Right-eye view is first
@end table
@end table
For example a 3D WebM clip can be created using the following command line:
@example
ffmpeg -i sample_left_right_clip.mpg -an -c:v libvpx -metadata stereo_mode=left_right -y stereo_clip.webm
@end example
@section segment, stream_segment, ssegment
Basic stream segmenter.
@@ -523,7 +648,7 @@ Set the reference stream, as specified by the string @var{specifier}.
If @var{specifier} is set to @code{auto}, the reference is choosen
automatically. Otherwise it must be a stream specifier (see the ``Stream
specifiers'' chapter in the ffmpeg manual) which specifies the
reference stream. The default value is ``auto''.
reference stream. The default value is @code{auto}.
@item segment_format @var{format}
Override the inner container format, by default it is guessed by the filename
@@ -537,7 +662,7 @@ listfile is generated.
Set flags affecting the segment list generation.
It currently supports the following flags:
@table @var
@table @samp
@item cache
Allow caching (only affects M3U8 list files).
@@ -545,18 +670,18 @@ Allow caching (only affects M3U8 list files).
Allow live-friendly file generation.
@end table
Default value is @code{cache}.
Default value is @code{samp}.
@item segment_list_size @var{size}
Update the list file so that it contains at most the last @var{size}
segments. If 0 the list file will contain all the segments. Default
value is 0.
@item segment_list type @var{type}
@item segment_list_type @var{type}
Specify the format for the segment list file.
The following values are recognized:
@table @option
@table @samp
@item flat
Generate a flat list for the created segments, one segment per line.
@@ -577,7 +702,7 @@ the segment start and end time expressed in seconds.
A list file with the suffix @code{".csv"} or @code{".ext"} will
auto-select this format.
@code{ext} is deprecated in favor or @code{csv}.
@samp{ext} is deprecated in favor or @samp{csv}.
@item ffconcat
Generate an ffconcat file for the created segments. The resulting file
@@ -650,6 +775,10 @@ Reset timestamps at the begin of each segment, so that each segment
will start with near-zero timestamps. It is meant to ease the playback
of the generated segments. May not work with some combinations of
muxers/codecs. It is set to @code{0} by default.
@item initial_offset @var{offset}
Specify timestamp offset to apply to the output packet timestamps. The
argument must be a time duration specification, and defaults to 0.
@end table
@subsection Examples
@@ -671,9 +800,9 @@ ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_ti
@end example
@item
As the example above, but use the @code{ffmpeg} @var{force_key_frames}
As the example above, but use the @command{ffmpeg} @option{force_key_frames}
option to force key frames in the input at the specified location, together
with the segment option @var{segment_time_delta} to account for
with the segment option @option{segment_time_delta} to account for
possible roundings operated when setting key frame times.
@example
ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec:v mpeg4 -codec:a pcm_s16le -map 0 \
@@ -684,7 +813,7 @@ required.
@item
Segment the input file by splitting the input file according to the
frame numbers sequence specified with the @var{segment_frames} option:
frame numbers sequence specified with the @option{segment_frames} option:
@example
ffmpeg -i in.mkv -codec copy -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out%03d.nut
@end example
@@ -705,57 +834,6 @@ ffmpeg -re -i in.mkv -codec copy -map 0 -f segment -segment_list playlist.m3u8 \
@end example
@end itemize
@section mp3
The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
@code{id3v2_version} option controls which one is used. The legacy ID3v1 tag is
not written by default, but may be enabled with the @code{write_id3v1} option.
For seekable output the muxer also writes a Xing frame at the beginning, which
contains the number of frames in the file. It is useful for computing duration
of VBR files.
The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
are supplied to the muxer in form of a video stream with a single packet. There
can be any number of those streams, each will correspond to a single APIC frame.
The stream metadata tags @var{title} and @var{comment} map to APIC
@var{description} and @var{picture type} respectively. See
@url{http://id3.org/id3v2.4.0-frames} for allowed picture types.
Note that the APIC frames must be written at the beginning, so the muxer will
buffer the audio frames until it gets all the pictures. It is therefore advised
to provide the pictures as soon as possible to avoid excessive buffering.
Examples:
Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
@example
ffmpeg -i INPUT -id3v2_version 3 -write_id3v1 1 out.mp3
@end example
To attach a picture to an mp3 file select both the audio and the picture stream
with @code{map}:
@example
ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
-metadata:s:v title="Album cover" -metadata:s:v comment="Cover (Front)" out.mp3
@end example
@section ogg
Ogg container muxer.
@table @option
@item -page_duration @var{duration}
Preferred page duration, in microseconds. The muxer will attempt to create
pages that are approximately @var{duration} microseconds long. This allows the
user to compromise between seek granularity and container overhead. The default
is 1 second. A value of 0 will fill all segments, making pages as large as
possible. A value of 1 will effectively use 1 packet-per-page in most
situations, giving a small seek granularity at the cost of additional container
overhead.
@end table
@section tee
The tee muxer can be used to write the same data to several files or any
@@ -774,19 +852,55 @@ leading or trailing spaces or any special character, it must be
escaped (see the ``Quoting and escaping'' section in the ffmpeg-utils
manual).
Options can be specified for each slave by prepending them as a list of
Muxer options can be specified for each slave by prepending them as a list of
@var{key}=@var{value} pairs separated by ':', between square brackets. If
the options values contain a special character or the ':' separator, they
must be escaped; note that this is a second level escaping.
Example: encode something and both archive it in a WebM file and stream it
as MPEG-TS over UDP (the streams need to be explicitly mapped):
The following special options are also recognized:
@table @option
@item f
Specify the format name. Useful if it cannot be guessed from the
output name suffix.
@item bsfs[/@var{spec}]
Specify a list of bitstream filters to apply to the specified
output. It is possible to specify to which streams a given bitstream
filter applies, by appending a stream specifier to the option
separated by @code{/}. If the stream specifier is not specified, the
bistream filters will be applied to all streams in the output.
Several bitstream filters can be specified, separated by ",".
@item select
Select the streams that should be mapped to the slave output,
specified by a stream specifier. If not specified, this defaults to
all the input streams.
@end table
Some examples follow.
@itemize
@item
Encode something and both archive it in a WebM file and stream it
as MPEG-TS over UDP (the streams need to be explicitly mapped):
@example
ffmpeg -i ... -c:v libx264 -c:a mp2 -f tee -map 0:v -map 0:a
"archive-20121107.mkv|[f=mpegts]udp://10.0.1.255:1234/"
@end example
@item
Use @command{ffmpeg} to encode the input, and send the output
to three different destinations. The @code{dump_extra} bitstream
filter is used to add extradata information to all the output video
keyframes packets, as requested by the MPEG-TS format. The select
option is applied to @file{out.aac} in order to make it contain only
audio packets.
@example
ffmpeg -i ... -map 0 -flags +global_header -c:v libx264 -c:a aac -strict experimental
-f tee "[bsfs/v=dump_extra]out.ts|[movflags=+faststart]out.mp4|[select=a]out.aac"
@end example
@end itemize
Note: some codecs may need different options depending on the output format;
the auto-detection of this can not work with the tee muxer. The main example
is the @option{global_header} flag.

View File

@@ -1,7 +1,7 @@
@chapter Output Devices
@c man begin OUTPUT DEVICES
Output devices are configured elements in FFmpeg which allow to write
Output devices are configured elements in FFmpeg that can write
multimedia data to an output device attached to your system.
When you configure your FFmpeg build, all the supported output devices
@@ -26,7 +26,7 @@ ALSA (Advanced Linux Sound Architecture) output device.
CACA output device.
This output devices allows to show a video stream in CACA window.
This output device allows to show a video stream in CACA window.
Only one CACA window is allowed per application, so you can
have only one instance of this output device in an application.
@@ -104,15 +104,79 @@ ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -
@end example
@end itemize
@section fbdev
Linux framebuffer output device.
The Linux framebuffer is a graphic hardware-independent abstraction
layer to show graphics on a computer monitor, typically on the
console. It is accessed through a file device node, usually
@file{/dev/fb0}.
For more detailed information read the file
@file{Documentation/fb/framebuffer.txt} included in the Linux source tree.
@subsection Options
@table @option
@item xoffset
@item yoffset
Set x/y coordinate of top left corner. Default is 0.
@end table
@subsection Examples
Play a file on framebuffer device @file{/dev/fb0}.
Required pixel format depends on current framebuffer settings.
@example
ffmpeg -re -i INPUT -vcodec rawvideo -pix_fmt bgra -f fbdev /dev/fb0
@end example
See also @url{http://linux-fbdev.sourceforge.net/}, and fbset(1).
@section oss
OSS (Open Sound System) output device.
@section pulse
PulseAudio output device.
To enable this output device you need to configure FFmpeg with @code{--enable-libpulse}.
More information about PulseAudio can be found on @url{http://www.pulseaudio.org}
@subsection Options
@table @option
@item server
Connect to a specific PulseAudio server, specified by an IP address.
Default server is used when not provided.
@item name
Specify the application name PulseAudio will use when showing active clients,
by default it is the @code{LIBAVFORMAT_IDENT} string.
@item stream_name
Specify the stream name PulseAudio will use when showing active streams,
by default it is set to the specified output name.
@item device
Specify the device to use. Default device is used when not provided.
List of output devices can be obtained with command @command{pactl list sinks}.
@end table
@subsection Examples
Play a file on default device on default server:
@example
ffmpeg -i INPUT -f pulse "stream name"
@end example
@section sdl
SDL (Simple DirectMedia Layer) output device.
This output devices allows to show a video stream in an SDL
This output device allows to show a video stream in an SDL
window. Only one SDL window is allowed per application, so you can
have only one instance of this output device in an application.
@@ -139,6 +203,10 @@ Set the SDL window size, can be a string of the form
@var{width}x@var{height} or a video size abbreviation.
If not specified it defaults to the size of the input video,
downscaled according to the aspect ratio.
@item window_fullscreen
Set fullscreen mode when non-zero value is provided.
Zero is a default.
@end table
@subsection Examples
@@ -153,4 +221,69 @@ ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL
sndio audio output device.
@section xv
XV (XVideo) output device.
This output device allows to show a video stream in a X Window System
window.
@subsection Options
@table @option
@item display_name
Specify the hardware display name, which determines the display and
communications domain to be used.
The display name or DISPLAY environment variable can be a string in
the format @var{hostname}[:@var{number}[.@var{screen_number}]].
@var{hostname} specifies the name of the host machine on which the
display is physically attached. @var{number} specifies the number of
the display server on that host machine. @var{screen_number} specifies
the screen to be used on that server.
If unspecified, it defaults to the value of the DISPLAY environment
variable.
For example, @code{dual-headed:0.1} would specify screen 1 of display
0 on the machine named ``dual-headed''.
Check the X11 specification for more detailed information about the
display name format.
@item window_size
Set the created window size, can be a string of the form
@var{width}x@var{height} or a video size abbreviation. If not
specified it defaults to the size of the input video.
@item window_x
@item window_y
Set the X and Y window offsets for the created window. They are both
set to 0 by default. The values may be ignored by the window manager.
@item window_title
Set the window title, if not specified default to the filename
specified for the output device.
@end table
For more information about XVideo see @url{http://www.x.org/}.
@subsection Examples
@itemize
@item
Decode, display and encode video input with @command{ffmpeg} at the
same time:
@example
ffmpeg -i INPUT OUTPUT -f xv display
@end example
@item
Decode and display the input video to multiple X11 windows:
@example
ffmpeg -i INPUT -f xv normal -vf negate -f xv negated
@end example
@end itemize
@c man end OUTPUT DEVICES

View File

@@ -106,10 +106,10 @@ libavformat) as DLLs.
@end itemize
@section Microsoft Visual C++
@section Microsoft Visual C++ or Intel C++ Compiler for Windows
FFmpeg can be built with MSVC using a C99-to-C89 conversion utility and
wrapper.
FFmpeg can be built with MSVC or ICL using a C99-to-C89 conversion utility and
wrapper. For ICL, only the wrapper is used, since ICL supports C99.
You will need the following prerequisites:
@@ -122,28 +122,33 @@ You will need the following prerequisites:
you want to run @uref{fate.html, FATE}.
@end itemize
To set up a proper MSVC environment in MSYS, you simply need to run
@code{msys.bat} from the Visual Studio command prompt.
To set up a proper environment in MSYS, you need to run @code{msys.bat} from
the Visual Studio or Intel Compiler command prompt.
Place @code{makedef}, @code{c99wrap.exe}, @code{c99conv.exe}, and @code{yasm.exe}
somewhere in your @code{PATH}.
Next, make sure @code{inttypes.h} and any other headers and libs you want to use
are located in a spot that MSVC can see. Do so by modifying the @code{LIB} and
@code{INCLUDE} environment variables to include the @strong{Windows} paths to
are located in a spot that the compiler can see. Do so by modifying the @code{LIB}
and @code{INCLUDE} environment variables to include the @strong{Windows} paths to
these directories. Alternatively, you can try and use the
@code{--extra-cflags}/@code{--extra-ldflags} configure options.
Finally, run:
@example
For MSVC:
./configure --toolchain=msvc
For ICL:
./configure --toolchain=icl
make
make install
@end example
If you wish to compile shared libraries, add @code{--enable-shared} to your
configure options. Note that due to the way MSVC handles DLL imports and
configure options. Note that due to the way MSVC and ICL handle DLL imports and
exports, you cannot compile static and shared libraries at the same time, and
enabling shared libraries will automatically disable the static ones.
@@ -173,7 +178,12 @@ erroneously included when building FFmpeg.
can see.
@end enumerate
@item FFmpeg has been tested with Visual Studio 2010 and 2012, Pro and Express.
@item FFmpeg has been tested with the following on i686 and x86_64:
@itemize
@item Visual Studio 2010 Pro and Express
@item Visual Studio 2012 Pro and Express
@item Intel Composer XE 2013
@end itemize
Anything else is not officially supported.
@end itemize
@@ -184,16 +194,7 @@ If you plan to link with MSVC-built static libraries, you will need
to make sure you have @code{Runtime Library} set to
@code{Multi-threaded (/MT)} in your project's settings.
FFmpeg headers do not declare global data for Windows DLLs through the usual
dllexport/dllimport interface. Such data will be exported properly while
building, but to use them in your MSVC code you will have to edit the
appropriate headers and mark the data as dllimport. For example, in
libavutil/pixdesc.h you should have:
@example
extern __declspec(dllimport) const AVPixFmtDescriptor av_pix_fmt_descriptors[];
@end example
You will also need to define @code{inline} to something MSVC understands:
You will need to define @code{inline} to something MSVC understands:
@example
#define inline __inline
@end example

View File

@@ -1,20 +1,20 @@
/*
* Copyright (c) 2012 Anton Khirnov
*
* This file is part of Libav.
* This file is part of FFmpeg.
*
* Libav is free software; you can redistribute it and/or
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* Libav is distributed in the hope that it will be useful,
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with Libav; if not, write to the Free Software
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
@@ -27,7 +27,9 @@
#include <float.h>
#include "libavformat/avformat.h"
#include "libavformat/options_table.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/options_table.h"
#include "libavutil/opt.h"
static void print_usage(void)
@@ -39,6 +41,9 @@ static void print_usage(void)
static void print_option(const AVOption *opts, const AVOption *o, int per_stream)
{
if (!(o->flags & (AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_ENCODING_PARAM)))
return;
printf("@item -%s%s @var{", o->name, per_stream ? "[:stream_specifier]" : "");
switch (o->type) {
case AV_OPT_TYPE_BINARY: printf("hexadecimal string"); break;
@@ -93,18 +98,14 @@ static void show_opts(const AVOption *opts, int per_stream)
static void show_format_opts(void)
{
#include "libavformat/options_table.h"
printf("@section Format AVOptions\n");
show_opts(options, 0);
show_opts(avformat_options, 0);
}
static void show_codec_opts(void)
{
#include "libavcodec/options_table.h"
printf("@section Codec AVOptions\n");
show_opts(options, 1);
show_opts(avcodec_options, 1);
}
int main(int argc, char **argv)

View File

@@ -1,8 +1,8 @@
@chapter Protocols
@c man begin PROTOCOLS
Protocols are configured elements in FFmpeg which allow to access
resources which require the use of a particular protocol.
Protocols are configured elements in FFmpeg that enable access to
resources that require specific protocols.
When you configure your FFmpeg build, all the supported protocols are
enabled by default. You can list all available ones using the
@@ -49,6 +49,16 @@ Read angle 2 of playlist 4 from BluRay mounted to /mnt/bluray, start from chapte
-playlist 4 -angle 2 -chapter 2 bluray:/mnt/bluray
@end example
@section cache
Caching wrapper for input stream.
Cache the input stream to temporary file. It brings seeking capability to live streams.
@example
cache:@var{URL}
@end example
@section concat
Physical concatenation protocol.
@@ -75,6 +85,25 @@ ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg
Note that you may need to escape the character "|" which is special for
many shells.
@section crypto
AES-encrypted stream reading protocol.
The accepted options are:
@table @option
@item key
Set the AES decryption key binary block from given hexadecimal representation.
@item iv
Set the AES decryption initialization vector binary block from given hexadecimal representation.
@end table
Accepted URL formats:
@example
crypto:@var{URL}
crypto+@var{URL}
@end example
@section data
Data in-line in the URI. See @url{http://en.wikipedia.org/wiki/Data_URI_scheme}.
@@ -100,6 +129,54 @@ The ff* tools default to the file protocol, that is a resource
specified with the name "FILE.mpeg" is interpreted as the URL
"file:FILE.mpeg".
This protocol accepts the following options:
@table @option
@item truncate
Truncate existing files on write, if set to 1. A value of 0 prevents
truncating. Default value is 1.
@item blocksize
Set I/O operation maximum block size, in bytes. Default value is
@code{INT_MAX}, which results in not limiting the requested block size.
Setting this value reasonably low improves user termination request reaction
time, which is valuable for files on slow medium.
@end table
@section ftp
FTP (File Transfer Protocol).
Allow to read from or write to remote resources using FTP protocol.
Following syntax is required.
@example
ftp://[user[:password]@@]server[:port]/path/to/remote/resource.mpeg
@end example
This protocol accepts the following options.
@table @option
@item timeout
Set timeout of socket I/O operations used by the underlying low level
operation. By default it is set to -1, which means that the timeout is
not specified.
@item ftp-anonymous-password
Password used when login as anonymous user. Typically an e-mail address
should be used.
@item ftp-write-seekable
Control seekability of connection during encoding. If set to 1 the
resource is supposed to be seekable, if set to 0 it is assumed not
to be seekable. Default value is 0.
@end table
NOTE: Protocol can be used as output, but it is recommended to not do
it, unless special care is taken (tests, customized server configuration
etc.). Different FTP servers behave in different way during seek
operation. ff* tools may produce incomplete content due to server limitations.
@section gopher
Gopher protocol.
@@ -165,6 +242,20 @@ not specified.
@item mime_type
Set MIME type.
@item icy
If set to 1 request ICY (SHOUTcast) metadata from the server. If the server
supports this, the metadata has to be retrieved by the application by reading
the @option{icy_metadata_headers} and @option{icy_metadata_packet} options.
The default is 0.
@item icy_metadata_headers
If the server supports ICY metadata, this contains the ICY specific HTTP reply
headers, separated with newline characters.
@item icy_metadata_packet
If the server supports ICY metadata, and @option{icy} was set to 1, this
contains the last non-empty metadata packet sent by the server.
@item cookies
Set the cookies to be sent in future requests. The format of each cookie is the
same as the value of a Set-Cookie HTTP response field. Multiple cookies can be
@@ -248,6 +339,16 @@ ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi
ffmpeg -i test.wav -f avi pipe: | cat > test.avi
@end example
This protocol accepts the following options:
@table @option
@item blocksize
Set I/O operation maximum block size, in bytes. Default value is
@code{INT_MAX}, which results in not limiting the requested block size.
Setting this value reasonably low improves user termination request reaction
time, which is valuable if data transmission is slow.
@end table
Note that some formats (typically MOV), require the output protocol to
be seekable, so they will fail with the pipe output protocol.
@@ -260,12 +361,18 @@ content across a TCP/IP network.
The required syntax is:
@example
rtmp://@var{server}[:@var{port}][/@var{app}][/@var{instance}][/@var{playpath}]
rtmp://[@var{username}:@var{password}@@]@var{server}[:@var{port}][/@var{app}][/@var{instance}][/@var{playpath}]
@end example
The accepted parameters are:
@table @option
@item username
An optional username (mostly for publishing).
@item password
An optional password (mostly for publishing).
@item server
The address of the RTMP server.
@@ -316,7 +423,8 @@ times to construct arbitrary AMF sequences.
@item rtmp_flashver
Version of the Flash plugin used to run the SWF player. The default
is LNX 9,0,124,2.
is LNX 9,0,124,2. (When publishing, the default is FMLE/3.0 (compatible;
<libavformat version>).)
@item rtmp_flush_interval
Number of packets flushed in the same request (RTMPT only). The default
@@ -366,6 +474,12 @@ For example to read with @command{ffplay} a multimedia resource named
ffplay rtmp://myserver/vod/sample
@end example
To publish to a password protected server, passing the playpath and
app names separately:
@example
ffmpeg -re -i <input> -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@@myserver/
@end example
@section rtmpe
Encrypted Real-Time Messaging Protocol.
@@ -406,7 +520,39 @@ The Real-Time Messaging Protocol tunneled through HTTPS (RTMPTS) is used
for streaming multimedia content within HTTPS requests to traverse
firewalls.
@section rtmp, rtmpe, rtmps, rtmpt, rtmpte
@section libssh
Secure File Transfer Protocol via libssh
Allow to read from or write to remote resources using SFTP protocol.
Following syntax is required.
@example
sftp://[user[:password]@@]server[:port]/path/to/remote/resource.mpeg
@end example
This protocol accepts the following options.
@table @option
@item timeout
Set timeout of socket I/O operations used by the underlying low level
operation. By default it is set to -1, which means that the timeout
is not specified.
@item truncate
Truncate existing files on write, if set to 1. A value of 0 prevents
truncating. Default value is 1.
@end table
Example: Play a file stored on remote server.
@example
ffplay sftp://user:password@@server_address:22/home/user/resource.mpeg
@end example
@section librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte
Real-Time Messaging Protocol and its variants supported through
librtmp.
@@ -448,7 +594,70 @@ ffplay "rtmp://myserver/live/mystream live=1"
@section rtp
Real-Time Protocol.
Real-time Transport Protocol.
The required syntax for an RTP URL is:
rtp://@var{hostname}[:@var{port}][?@var{option}=@var{val}...]
@var{port} specifies the RTP port to use.
The following URL options are supported:
@table @option
@item ttl=@var{n}
Set the TTL (Time-To-Live) value (for multicast only).
@item rtcpport=@var{n}
Set the remote RTCP port to @var{n}.
@item localrtpport=@var{n}
Set the local RTP port to @var{n}.
@item localrtcpport=@var{n}'
Set the local RTCP port to @var{n}.
@item pkt_size=@var{n}
Set max packet size (in bytes) to @var{n}.
@item connect=0|1
Do a @code{connect()} on the UDP socket (if set to 1) or not (if set
to 0).
@item sources=@var{ip}[,@var{ip}]
List allowed source IP addresses.
@item block=@var{ip}[,@var{ip}]
List disallowed (blocked) source IP addresses.
@item write_to_source=0|1
Send packets to the source address of the latest received packet (if
set to 1) or to a default remote address (if set to 0).
@item localport=@var{n}
Set the local RTP port to @var{n}.
This is a deprecated option. Instead, @option{localrtpport} should be
used.
@end table
Important notes:
@enumerate
@item
If @option{rtcpport} is not set the RTCP port will be set to the RTP
port value plus 1.
@item
If @option{localrtpport} (the local RTP port) is not set any available
port will be used for the local RTP and RTCP ports.
@item
If @option{localrtcpport} (the local RTCP port) is not set it will be
set to the the local RTP port value plus 1.
@end enumerate
@section rtsp
@@ -538,6 +747,11 @@ To receive a stream in realtime:
ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp @var{output}
@end example
@table @option
@item stimeout
Socket IO timeout in micro seconds.
@end table
@section sap
Session Announcement Protocol (RFC 2974). This is not technically a
@@ -630,6 +844,50 @@ To play back the first stream announced on one the default IPv6 SAP multicast ad
ffplay sap://[ff0e::2:7ffe]
@end example
@section sctp
Stream Control Transmission Protocol.
The accepted URL syntax is:
@example
sctp://@var{host}:@var{port}[?@var{options}]
@end example
The protocol accepts the following options:
@table @option
@item listen
If set to any value, listen for an incoming connection. Outgoing connection is done by default.
@item max_streams
Set the maximum number of streams. By default no limit is set.
@end table
@section srtp
Secure Real-time Transport Protocol.
The accepted options are:
@table @option
@item srtp_in_suite
@item srtp_out_suite
Select input and output encoding suites.
Supported values:
@table @samp
@item AES_CM_128_HMAC_SHA1_80
@item SRTP_AES128_CM_HMAC_SHA1_80
@item AES_CM_128_HMAC_SHA1_32
@item SRTP_AES128_CM_HMAC_SHA1_32
@end table
@item srtp_in_params
@item srtp_out_params
Set input and output encoding parameters, which are expressed by a
base64-encoded representation of a binary block. The first 16 bytes of
this binary block are used as master key, the following 14 bytes are
used as master salt.
@end table
@section tcp
Trasmission Control Protocol.
@@ -658,29 +916,48 @@ ffplay tcp://@var{hostname}:@var{port}
@section tls
Transport Layer Security/Secure Sockets Layer
Transport Layer Security (TLS) / Secure Sockets Layer (SSL)
The required syntax for a TLS/SSL url is:
@example
tls://@var{hostname}:@var{port}[?@var{options}]
@end example
The following parameters can be set via command line options
(or in code via @code{AVOption}s):
@table @option
@item listen
Act as a server, listening for an incoming connection.
@item ca_file, cafile=@var{filename}
A file containing certificate authority (CA) root certificates to treat
as trusted. If the linked TLS library contains a default this might not
need to be specified for verification to work, but not all libraries and
setups have defaults built in.
The file must be in OpenSSL PEM format.
@item cafile=@var{filename}
Certificate authority file. The file must be in OpenSSL PEM format.
@item tls_verify=@var{1|0}
If enabled, try to verify the peer that we are communicating with.
Note, if using OpenSSL, this currently only makes sure that the
peer certificate is signed by one of the root certificates in the CA
database, but it does not validate that the certificate actually
matches the host name we are trying to connect to. (With GnuTLS,
the host name is validated as well.)
@item cert=@var{filename}
Certificate file. The file must be in OpenSSL PEM format.
This is disabled by default since it requires a CA database to be
provided by the caller in many cases.
@item key=@var{filename}
Private key file.
@item cert_file, cert=@var{filename}
A file containing a certificate to use in the handshake with the peer.
(When operating as server, in listen mode, this is more often required
by the peer, while client certificates only are mandated in certain
setups.)
@item verify=@var{0|1}
Verify the peer's certificate.
@item key_file, key=@var{filename}
A file containing the private key for the certificate.
@item listen=@var{1|0}
If enabled, listen for connections on the provided port, and assume
the server role in the handshake instead of the client role.
@end table
@@ -787,4 +1064,24 @@ To receive over UDP from a remote endpoint:
ffmpeg -i udp://[@var{multicast-address}]:@var{port}
@end example
@section unix
Unix local socket
The required syntax for a Unix socket URL is:
@example
unix://@var{filepath}
@end example
The following parameters can be set via command line options
(or in code via @code{AVOption}s):
@table @option
@item timeout
Timeout in ms.
@item listen
Create the Unix socket in listening mode.
@end table
@c man end PROTOCOLS

232
doc/resampler.texi Normal file
View File

@@ -0,0 +1,232 @@
@chapter Resampler Options
@c man begin RESAMPLER OPTIONS
The audio resampler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools, @var{option}=@var{value} for the aresample filter,
by setting the value explicitly in the
@code{SwrContext} options or using the @file{libavutil/opt.h} API for
programmatic use.
@table @option
@item ich, in_channel_count
Set the number of input channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{in_channel_layout} is set.
@item och, out_channel_count
Set the number of output channels. Default value is 0. Setting this
value is not mandatory if the corresponding channel layout
@option{out_channel_layout} is set.
@item uch, used_channel_count
Set the number of used input channels. Default value is 0. This option is
only used for special remapping.
@item isr, in_sample_rate
Set the input sample rate. Default value is 0.
@item osr, out_sample_rate
Set the output sample rate. Default value is 0.
@item isf, in_sample_fmt
Specify the input sample format. It is set by default to @code{none}.
@item osf, out_sample_fmt
Specify the output sample format. It is set by default to @code{none}.
@item tsf, internal_sample_fmt
Set the internal sample format. Default value is @code{none}.
This will automatically be chosen when it is not explicitly set.
@item icl, in_channel_layout
@item ocl, out_channel_layout
Set the input/output channel layout.
See @ref{channel layout syntax,,the Channel Layout section in the ffmpeg-utils(1) manual,ffmpeg-utils}
for the required syntax.
@item clev, center_mix_level
Set the center mix level. It is a value expressed in deciBel, and must be
in the interval [-32,32].
@item slev, surround_mix_level
Set the surround mix level. It is a value expressed in deciBel, and must
be in the interval [-32,32].
@item lfe_mix_level
Set LFE mix into non LFE level. It is used when there is a LFE input but no
LFE output. It is a value expressed in deciBel, and must
be in the interval [-32,32].
@item rmvol, rematrix_volume
Set rematrix volume. Default value is 1.0.
@item rematrix_maxval
Set maximum output value for rematrixing.
This can be used to prevent clipping vs. preventing volumn reduction
A value of 1.0 prevents cliping.
@item flags, swr_flags
Set flags used by the converter. Default value is 0.
It supports the following individual flags:
@table @option
@item res
force resampling, this flag forces resampling to be used even when the
input and output sample rates match.
@end table
@item dither_scale
Set the dither scale. Default value is 1.
@item dither_method
Set dither method. Default value is 0.
Supported values:
@table @samp
@item rectangular
select rectangular dither
@item triangular
select triangular dither
@item triangular_hp
select triangular dither with high pass
@item lipshitz
select lipshitz noise shaping dither
@item shibata
select shibata noise shaping dither
@item low_shibata
select low shibata noise shaping dither
@item high_shibata
select high shibata noise shaping dither
@item f_weighted
select f-weighted noise shaping dither
@item modified_e_weighted
select modified-e-weighted noise shaping dither
@item improved_e_weighted
select improved-e-weighted noise shaping dither
@end table
@item resampler
Set resampling engine. Default value is swr.
Supported values:
@table @samp
@item swr
select the native SW Resampler; filter options precision and cheby are not
applicable in this case.
@item soxr
select the SoX Resampler (where available); compensation, and filter options
filter_size, phase_shift, filter_type & kaiser_beta, are not applicable in this
case.
@end table
@item filter_size
For swr only, set resampling filter size, default value is 32.
@item phase_shift
For swr only, set resampling phase shift, default value is 10, and must be in
the interval [0,30].
@item linear_interp
Use Linear Interpolation if set to 1, default value is 0.
@item cutoff
Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must be a float
value between 0 and 1. Default value is 0.97 with swr, and 0.91 with soxr
(which, with a sample-rate of 44100, preserves the entire audio band to 20kHz).
@item precision
For soxr only, the precision in bits to which the resampled signal will be
calculated. The default value of 20 (which, with suitable dithering, is
appropriate for a destination bit-depth of 16) gives SoX's 'High Quality'; a
value of 28 gives SoX's 'Very High Quality'.
@item cheby
For soxr only, selects passband rolloff none (Chebyshev) & higher-precision
approximation for 'irrational' ratios. Default value is 0.
@item async
For swr only, simple 1 parameter audio sync to timestamps using stretching,
squeezing, filling and trimming. Setting this to 1 will enable filling and
trimming, larger values represent the maximum amount in samples that the data
may be stretched or squeezed for each second.
Default value is 0, thus no compensation is applied to make the samples match
the audio timestamps.
@item first_pts
For swr only, assume the first pts should be this value. The time unit is 1 / sample rate.
This allows for padding/trimming at the start of stream. By default, no
assumption is made about the first frame's expected pts, so no padding or
trimming is done. For example, this could be set to 0 to pad the beginning with
silence if an audio stream starts after the video stream or to trim any samples
with a negative pts due to encoder delay.
@item min_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger stretching/squeezing/filling or trimming of the
data to make it match the timestamps. The default is that
stretching/squeezing/filling and trimming is disabled
(@option{min_comp} = @code{FLT_MAX}).
@item min_hard_comp
For swr only, set the minimum difference between timestamps and audio data (in
seconds) to trigger adding/dropping samples to make it match the
timestamps. This option effectively is a threshold to select between
hard (trim/fill) and soft (squeeze/stretch) compensation. Note that
all compensation is by default disabled through @option{min_comp}.
The default is 0.1.
@item comp_duration
For swr only, set duration (in seconds) over which data is stretched/squeezed
to make it match the timestamps. Must be a non-negative double float value,
default value is 1.0.
@item max_soft_comp
For swr only, set maximum factor by which data is stretched/squeezed to make it
match the timestamps. Must be a non-negative double float value, default value
is 0.
@item matrix_encoding
Select matrixed stereo encoding.
It accepts the following values:
@table @samp
@item none
select none
@item dolby
select Dolby
@item dplii
select Dolby Pro Logic II
@end table
Default value is @code{none}.
@item filter_type
For swr only, select resampling filter type. This only affects resampling
operations.
It accepts the following values:
@table @samp
@item cubic
select cubic
@item blackman_nuttall
select Blackman Nuttall Windowed Sinc
@item kaiser
select Kaiser Windowed Sinc
@end table
@item kaiser_beta
For swr only, set Kaiser Window Beta value. Must be an integer in the
interval [2,16], default value is 9.
@item output_sample_bits
For swr only, set number of used output sample bits for dithering. Must be an integer in the
interval [0,64], default value is 0, which means it's not used.
@end table
@c man end RESAMPLER OPTIONS

119
doc/scaler.texi Normal file
View File

@@ -0,0 +1,119 @@
@anchor{scaler_options}
@chapter Scaler Options
@c man begin SCALER OPTIONS
The video scaler supports the following named options.
Options may be set by specifying -@var{option} @var{value} in the
FFmpeg tools. For programmatic use, they can be set explicitly in the
@code{SwsContext} options or through the @file{libavutil/opt.h} API.
@table @option
@anchor{sws_flags}
@item sws_flags
Set the scaler flags. This is also used to set the scaling
algorithm. Only a single algorithm should be selected.
It accepts the following values:
@table @samp
@item fast_bilinear
Select fast bilinear scaling algorithm.
@item bilinear
Select bilinear scaling algorithm.
@item bicubic
Select bicubic scaling algorithm.
@item experimental
Select experimental scaling algorithm.
@item neighbor
Select nearest neighbor rescaling algorithm.
@item area
Select averaging area rescaling algorithm.
@item bicublin
Select bicubic scaling algorithm for the luma component, bilinear for
chroma components.
@item gauss
Select Gaussian rescaling algorithm.
@item sinc
Select sinc rescaling algorithm.
@item lanczos
Select lanczos rescaling algorithm.
@item spline
Select natural bicubic spline rescaling algorithm.
@item print_info
Enable printing/debug logging.
@item accurate_rnd
Enable accurate rounding.
@item full_chroma_int
Enable full chroma interpolation.
@item full_chroma_inp
Select full chroma input.
@item bitexact
Enable bitexact output.
@end table
@item srcw
Set source width.
@item srch
Set source height.
@item dstw
Set destination width.
@item dsth
Set destination height.
@item src_format
Set source pixel format (must be expressed as an integer).
@item dst_format
Set destination pixel format (must be expressed as an integer).
@item src_range
Select source range.
@item dst_range
Select destination range.
@item param0, param1
Set scaling algorithm parameters. The specified values are specific of
some scaling algorithms and ignored by others. The specified values
are floating point number values.
@item sws_dither
Set the dithering algorithm. Accepts one of the following
values. Default value is @samp{auto}.
@table @samp
@item auto
automatic choice
@item none
no dithering
@item bayer
bayer dither
@item ed
error diffusion dither
@end table
@end table
@c man end SCALER OPTIONS

View File

@@ -50,8 +50,10 @@ header:
temporal_decomposition_count u header_state
spatial_decomposition_count u header_state
colorspace_type u header_state
chroma_h_shift u header_state
chroma_v_shift u header_state
if (nb_planes > 2) {
chroma_h_shift u header_state
chroma_v_shift u header_state
}
spatial_scalability b header_state
max_ref_frames-1 u header_state
qlogs
@@ -59,7 +61,7 @@ header:
if(!keyframe){
update_mc b header_state
if(update_mc){
for(plane=0; plane<2; plane++){
for(plane=0; plane<nb_plane_types; plane++){
diag_mc b header_state
htaps/2-1 u header_state
for(i= p->htaps/2; i; i--)
@@ -80,7 +82,7 @@ header:
block_max_depth s header_state
qlogs:
for(plane=0; plane<2; plane++){
for(plane=0; plane<nb_plane_types; plane++){
quant_table[plane][0][0] s header_state
for(level=0; level < spatial_decomposition_count; level++){
quant_table[plane][level][1]s header_state
@@ -131,8 +133,10 @@ block(level):
residual:
residual2(luma)
residual2(chroma_cr)
residual2(chroma_cb)
if (nb_planes > 2) {
residual2(chroma_cr)
residual2(chroma_cb)
}
residual2:
for(level=0; level<spatial_decomposition_count; level++){
@@ -146,7 +150,7 @@ residual2:
subband:
FIXME
nb_plane_types = gray ? 1 : 2;
Tag description:
----------------
@@ -168,7 +172,11 @@ spatial_decomposition_count
FIXME
colorspace_type
0
0 unspecified YcbCr
1 Gray
2 Gray + Alpha
3 GBR
4 GBRA
this MUST NOT change within a bitstream
chroma_h_shift

View File

@@ -1,258 +0,0 @@
@chapter Syntax
@c man begin SYNTAX
This section documents the syntax and formats employed by the FFmpeg
libraries and tools.
@anchor{quoting_and_escaping}
@section Quoting and escaping
FFmpeg adopts the following quoting and escaping mechanism, unless
explicitly specified. The following rules are applied:
@itemize
@item
@code{'} and @code{\} are special characters (respectively used for
quoting and escaping). In addition to them, there might be other
special characters depending on the specific syntax where the escaping
and quoting are employed.
@item
A special character is escaped by prefixing it with a '\'.
@item
All characters enclosed between '' are included literally in the
parsed string. The quote character @code{'} itself cannot be quoted,
so you may need to close the quote and escape it.
@item
Leading and trailing whitespaces, unless escaped or quoted, are
removed from the parsed string.
@end itemize
Note that you may need to add a second level of escaping when using
the command line or a script, which depends on the syntax of the
adopted shell language.
The function @code{av_get_token} defined in
@file{libavutil/avstring.h} can be used to parse a token quoted or
escaped according to the rules defined above.
The tool @file{tools/ffescape} in the FFmpeg source tree can be used
to automatically quote or escape a string in a script.
@subsection Examples
@itemize
@item
Escape the string @code{Crime d'Amour} containing the @code{'} special
character:
@example
Crime d\'Amour
@end example
@item
The string above contains a quote, so the @code{'} needs to be escaped
when quoting it:
@example
'Crime d'\''Amour'
@end example
@item
Include leading or trailing whitespaces using quoting:
@example
' this string starts and ends with whitespaces '
@end example
@item
Escaping and quoting can be mixed together:
@example
' The string '\'string\'' is a string '
@end example
@item
To include a literal @code{\} you can use either escaping or quoting:
@example
'c:\foo' can be written as c:\\foo
@end example
@end itemize
@anchor{date syntax}
@section Date
The accepted syntax is:
@example
[(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
now
@end example
If the value is "now" it takes the current time.
Time is local time unless Z is appended, in which case it is
interpreted as UTC.
If the year-month-day part is not specified it takes the current
year-month-day.
@anchor{time duration syntax}
@section Time duration
The accepted syntax is:
@example
[-][HH:]MM:SS[.m...]
[-]S+[.m...]
@end example
@var{HH} expresses the number of hours, @var{MM} the number a of minutes
and @var{SS} the number of seconds.
@anchor{video size syntax}
@section Video size
Specify the size of the sourced video, it may be a string of the form
@var{width}x@var{height}, or the name of a size abbreviation.
The following abbreviations are recognized:
@table @samp
@item ntsc
720x480
@item pal
720x576
@item qntsc
352x240
@item qpal
352x288
@item sntsc
640x480
@item spal
768x576
@item film
352x240
@item ntsc-film
352x240
@item sqcif
128x96
@item qcif
176x144
@item cif
352x288
@item 4cif
704x576
@item 16cif
1408x1152
@item qqvga
160x120
@item qvga
320x240
@item vga
640x480
@item svga
800x600
@item xga
1024x768
@item uxga
1600x1200
@item qxga
2048x1536
@item sxga
1280x1024
@item qsxga
2560x2048
@item hsxga
5120x4096
@item wvga
852x480
@item wxga
1366x768
@item wsxga
1600x1024
@item wuxga
1920x1200
@item woxga
2560x1600
@item wqsxga
3200x2048
@item wquxga
3840x2400
@item whsxga
6400x4096
@item whuxga
7680x4800
@item cga
320x200
@item ega
640x350
@item hd480
852x480
@item hd720
1280x720
@item hd1080
1920x1080
@item 2k
2048x1080
@item 2kflat
1998x1080
@item 2kscope
2048x858
@item 4k
4096x2160
@item 4kflat
3996x2160
@item 4kscope
4096x1716
@end table
@anchor{video rate syntax}
@section Video rate
Specify the frame rate of a video, expressed as the number of frames
generated per second. It has to be a string in the format
@var{frame_rate_num}/@var{frame_rate_den}, an integer number, a float
number or a valid video frame rate abbreviation.
The following abbreviations are recognized:
@table @samp
@item ntsc
30000/1001
@item pal
25/1
@item qntsc
30000/1001
@item qpal
25/1
@item sntsc
30000/1001
@item spal
25/1
@item film
24/1
@item ntsc-film
24000/1001
@end table
@anchor{ratio syntax}
@section Ratio
A ratio can be expressed as an expression, or in the form
@var{numerator}:@var{denominator}.
Note that a ratio with infinite (1/0) or negative value is
considered valid, so you should check on the returned value if you
want to exclude those values.
The undefined value can be expressed using the "0:0" string.
@anchor{color syntax}
@section Color
It can be the name of a color (case insensitive match) or a
[0x|#]RRGGBB[AA] sequence, possibly followed by "@@" and a string
representing the alpha component.
The alpha component may be a string composed by "0x" followed by an
hexadecimal number or a decimal number between 0.0 and 1.0, which
represents the opacity value (0x00/0.0 means completely transparent,
0xff/1.0 completely opaque).
If the alpha component is not specified then 0xff is assumed.
The string "random" will result in a random color.
@c man end SYNTAX

View File

@@ -17,6 +17,7 @@ my $TEMPLATE_HEADER = $ENV{"FFMPEG_HEADER"} || <<EOT;
</head>
<body>
<div id="container">
<div id="body">
EOT
$PRE_BODY_CLOSE = '</div></div>';
@@ -32,7 +33,7 @@ sub FFmpeg_print_page_foot($$)
T2H_DEFAULT_program_string() : program_string();
print $fh '<footer class="footer pagination-right">' . "\n";
print $fh '<span class="label label-info">' . $program_string;
print $fh "</span></footer></div>\n";
print $fh "</span></footer></div></div></body>\n";
}
$float = \&FFmpeg_float;
@@ -92,8 +93,6 @@ $Texi2HTML::THISDOC{program_authors}
$description
<meta name="keywords" content="$longtitle">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="$Texi2HTML::THISDOC{program}">
$encoding
$CSS_LINES

View File

@@ -121,7 +121,7 @@ INF: while(<$inf>) {
$chapters{$chapter_name} .= postprocess($chapter) if ($chapter_name);
# start new chapter
$chapter_name = $1, push (@chapters_sequence, $chapter_name);
$chapter_name = $1, push (@chapters_sequence, $chapter_name) unless $skipping;
$chapters{$chapter_name} = "" unless exists $chapters{$chapter_name};
$chapter = "";
$output = 1;

1064
doc/utils.texi Normal file

File diff suppressed because it is too large Load Diff

609
ffmpeg.c

File diff suppressed because it is too large Load Diff

View File

@@ -37,7 +37,6 @@
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavutil/avutil.h"
#include "libavutil/dict.h"
@@ -52,6 +51,7 @@
#define VSYNC_PASSTHROUGH 0
#define VSYNC_CFR 1
#define VSYNC_VFR 2
#define VSYNC_VSCFR 0xfe
#define VSYNC_DROP 0xff
#define MAX_STREAMS 1024 /* arbitrary sanity check value */
@@ -94,6 +94,7 @@ typedef struct OptionsContext {
/* input options */
int64_t input_ts_offset;
int rate_emu;
int accurate_seek;
SpecifierOpt *ts_scale;
int nb_ts_scale;
@@ -165,16 +166,22 @@ typedef struct OptionsContext {
int nb_copy_prior_start;
SpecifierOpt *filters;
int nb_filters;
SpecifierOpt *filter_scripts;
int nb_filter_scripts;
SpecifierOpt *reinit_filters;
int nb_reinit_filters;
SpecifierOpt *fix_sub_duration;
int nb_fix_sub_duration;
SpecifierOpt *canvas_sizes;
int nb_canvas_sizes;
SpecifierOpt *pass;
int nb_pass;
SpecifierOpt *passlogfiles;
int nb_passlogfiles;
SpecifierOpt *guess_layout_max;
int nb_guess_layout_max;
SpecifierOpt *apad;
int nb_apad;
} OptionsContext;
typedef struct InputFilter {
@@ -214,6 +221,7 @@ typedef struct InputStream {
int decoding_needed; /* true if the packets must be decoded in 'raw_fifo' */
AVCodec *dec;
AVFrame *decoded_frame;
AVFrame *filter_frame; /* a ref of decoded_frame, to be sent to filters */
int64_t start; /* time when read started */
/* predicted dts of the next packet read for this stream or (when there are
@@ -255,12 +263,10 @@ typedef struct InputStream {
struct sub2video {
int64_t last_pts;
int64_t end_pts;
AVFilterBufferRef *ref;
AVFrame *frame;
int w, h;
} sub2video;
/* a pool of free buffers for decoded data */
FrameBuffer *buffer_pool;
int dr1;
/* decoded data from this stream goes into all those filters
@@ -276,11 +282,16 @@ typedef struct InputFile {
int eof_reached; /* true if eof reached */
int eagain; /* true if last read attempt returned EAGAIN */
int ist_index; /* index of first stream in input_streams */
int64_t input_ts_offset;
int64_t ts_offset;
int64_t last_ts;
int64_t start_time; /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
int64_t recording_time;
int nb_streams; /* number of stream that ffmpeg is aware of; may be different
from ctx.nb_streams if new streams appear during av_read_frame() */
int nb_streams_warn; /* number of streams that the user was warned of */
int rate_emu;
int accurate_seek;
#if HAVE_PTHREADS
pthread_t thread; /* thread reading from this file */
@@ -317,6 +328,8 @@ typedef struct OutputStream {
/* pts of the first frame encoded for this stream, used for limiting
* recording time */
int64_t first_pts;
/* dts of the last packet sent to the muxer */
int64_t last_mux_dts;
AVBitStreamFilterContext *bitstream_filters;
AVCodec *enc;
int64_t max_frames;
@@ -327,7 +340,7 @@ typedef struct OutputStream {
int force_fps;
int top_field_first;
float frame_aspect_ratio;
AVRational frame_aspect_ratio;
/* forced key frames */
int64_t *forced_kf_pts;
@@ -351,6 +364,7 @@ typedef struct OutputStream {
AVDictionary *opts;
AVDictionary *swr_opts;
AVDictionary *resample_opts;
char *apad;
int finished; /* no more packets should be written for this stream */
int unavailable; /* true if the steram is unavailable (possibly temporarily) */
int stream_copy;
@@ -408,6 +422,7 @@ extern int qp_hist;
extern int stdin_interaction;
extern int frame_bits_per_raw_sample;
extern AVIOContext *progress_avio;
extern float max_error_rate;
extern const AVIOInterruptCB int_cb;

View File

@@ -21,7 +21,6 @@
#include "ffmpeg.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavfilter/buffersink.h"
#include "libavresample/avresample.h"
@@ -43,12 +42,15 @@ enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodec *codec, enum AVPixelFo
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 };
if (st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
if (st->codec->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 };
p = mjpeg_formats;
} else if (st->codec->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 };
p =ljpeg_formats;
}
}
for (; *p != AV_PIX_FMT_NONE; p++) {
@@ -93,6 +95,11 @@ void choose_sample_fmt(AVStream *st, AVCodec *codec)
static char *choose_pix_fmts(OutputStream *ost)
{
AVDictionaryEntry *strict_dict = av_dict_get(ost->opts, "strict", NULL, 0);
if (strict_dict)
// used by choose_pixel_fmt() and below
av_opt_set(ost->st->codec, "strict", strict_dict->value, 0);
if (ost->keep_pix_fmt) {
if (ost->filter)
avfilter_graph_set_auto_convert(ost->filter->graph->graph,
@@ -110,7 +117,7 @@ static char *choose_pix_fmts(OutputStream *ost)
int len;
if (avio_open_dyn_buf(&s) < 0)
exit(1);
exit_program(1);
p = ost->enc->pix_fmts;
if (ost->st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
@@ -124,7 +131,7 @@ static char *choose_pix_fmts(OutputStream *ost)
for (; *p != AV_PIX_FMT_NONE; p++) {
const char *name = av_get_pix_fmt_name(*p);
avio_printf(s, "%s:", name);
avio_printf(s, "%s|", name);
}
len = avio_close_dyn_buf(s, &ret);
ret[len - 1] = 0;
@@ -135,7 +142,7 @@ static char *choose_pix_fmts(OutputStream *ost)
/* Define a function for building a string containing a list of
* allowed formats. */
#define DEF_CHOOSE_FORMAT(type, var, supported_list, none, get_name, separator)\
#define DEF_CHOOSE_FORMAT(type, var, supported_list, none, get_name) \
static char *choose_ ## var ## s(OutputStream *ost) \
{ \
if (ost->st->codec->var != none) { \
@@ -148,11 +155,11 @@ static char *choose_ ## var ## s(OutputStream *ost) \
int len; \
\
if (avio_open_dyn_buf(&s) < 0) \
exit(1); \
exit_program(1); \
\
for (p = ost->enc->supported_list; *p != none; p++) { \
get_name(*p); \
avio_printf(s, "%s" separator, name); \
avio_printf(s, "%s|", name); \
} \
len = avio_close_dyn_buf(s, &ret); \
ret[len - 1] = 0; \
@@ -162,28 +169,28 @@ static char *choose_ ## var ## s(OutputStream *ost) \
}
// DEF_CHOOSE_FORMAT(enum AVPixelFormat, pix_fmt, pix_fmts, AV_PIX_FMT_NONE,
// GET_PIX_FMT_NAME, ":")
// GET_PIX_FMT_NAME)
DEF_CHOOSE_FORMAT(enum AVSampleFormat, sample_fmt, sample_fmts,
AV_SAMPLE_FMT_NONE, GET_SAMPLE_FMT_NAME, ",")
AV_SAMPLE_FMT_NONE, GET_SAMPLE_FMT_NAME)
DEF_CHOOSE_FORMAT(int, sample_rate, supported_samplerates, 0,
GET_SAMPLE_RATE_NAME, ",")
GET_SAMPLE_RATE_NAME)
DEF_CHOOSE_FORMAT(uint64_t, channel_layout, channel_layouts, 0,
GET_CH_LAYOUT_NAME, ",")
GET_CH_LAYOUT_NAME)
FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
{
FilterGraph *fg = av_mallocz(sizeof(*fg));
if (!fg)
exit(1);
exit_program(1);
fg->index = nb_filtergraphs;
GROW_ARRAY(fg->outputs, fg->nb_outputs);
if (!(fg->outputs[0] = av_mallocz(sizeof(*fg->outputs[0]))))
exit(1);
exit_program(1);
fg->outputs[0]->ost = ost;
fg->outputs[0]->graph = fg;
@@ -191,7 +198,7 @@ FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
GROW_ARRAY(fg->inputs, fg->nb_inputs);
if (!(fg->inputs[0] = av_mallocz(sizeof(*fg->inputs[0]))))
exit(1);
exit_program(1);
fg->inputs[0]->ist = ist;
fg->inputs[0]->graph = fg;
@@ -214,7 +221,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if (type != AVMEDIA_TYPE_VIDEO && type != AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_FATAL, "Only video and audio filters supported "
"currently.\n");
exit(1);
exit_program(1);
}
if (in->name) {
@@ -226,7 +233,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if (file_idx < 0 || file_idx >= nb_input_files) {
av_log(NULL, AV_LOG_FATAL, "Invalid file index %d in filtergraph description %s.\n",
file_idx, fg->graph_desc);
exit(1);
exit_program(1);
}
s = input_files[file_idx]->ctx;
@@ -244,7 +251,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
if (!st) {
av_log(NULL, AV_LOG_FATAL, "Stream specifier '%s' in filtergraph description %s "
"matches no streams.\n", p, fg->graph_desc);
exit(1);
exit_program(1);
}
ist = input_streams[input_files[file_idx]->ist_index + st->index];
} else {
@@ -258,7 +265,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
av_log(NULL, AV_LOG_FATAL, "Cannot find a matching stream for "
"unlabeled input pad %d on filter %s\n", in->pad_idx,
in->filter_ctx->name);
exit(1);
exit_program(1);
}
}
av_assert0(ist);
@@ -269,7 +276,7 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
GROW_ARRAY(fg->inputs, fg->nb_inputs);
if (!(fg->inputs[fg->nb_inputs - 1] = av_mallocz(sizeof(*fg->inputs[0]))))
exit(1);
exit_program(1);
fg->inputs[fg->nb_inputs - 1]->ist = ist;
fg->inputs[fg->nb_inputs - 1]->graph = fg;
@@ -277,22 +284,72 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
ist->filters[ist->nb_filters - 1] = fg->inputs[fg->nb_inputs - 1];
}
static int insert_trim(int64_t start_time, int64_t duration,
AVFilterContext **last_filter, int *pad_idx,
const char *filter_name)
{
AVFilterGraph *graph = (*last_filter)->graph;
AVFilterContext *ctx;
const AVFilter *trim;
enum AVMediaType type = avfilter_pad_get_type((*last_filter)->output_pads, *pad_idx);
const char *name = (type == AVMEDIA_TYPE_VIDEO) ? "trim" : "atrim";
int ret = 0;
if (duration == INT64_MAX && start_time == AV_NOPTS_VALUE)
return 0;
trim = avfilter_get_by_name(name);
if (!trim) {
av_log(NULL, AV_LOG_ERROR, "%s filter not present, cannot limit "
"recording time.\n", name);
return AVERROR_FILTER_NOT_FOUND;
}
ctx = avfilter_graph_alloc_filter(graph, trim, filter_name);
if (!ctx)
return AVERROR(ENOMEM);
if (duration != INT64_MAX) {
ret = av_opt_set_int(ctx, "durationi", duration,
AV_OPT_SEARCH_CHILDREN);
}
if (ret >= 0 && start_time != AV_NOPTS_VALUE) {
ret = av_opt_set_int(ctx, "starti", start_time,
AV_OPT_SEARCH_CHILDREN);
}
if (ret < 0) {
av_log(ctx, AV_LOG_ERROR, "Error configuring the %s filter", name);
return ret;
}
ret = avfilter_init_str(ctx, NULL);
if (ret < 0)
return ret;
ret = avfilter_link(*last_filter, *pad_idx, ctx, 0);
if (ret < 0)
return ret;
*last_filter = ctx;
*pad_idx = 0;
return 0;
}
static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
char *pix_fmts;
OutputStream *ost = ofilter->ost;
OutputFile *of = output_files[ost->file_index];
AVCodecContext *codec = ost->st->codec;
AVFilterContext *last_filter = out->filter_ctx;
int pad_idx = out->pad_idx;
int ret;
char name[255];
AVBufferSinkParams *buffersink_params = av_buffersink_params_alloc();
snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&ofilter->filter,
avfilter_get_by_name("ffbuffersink"),
avfilter_get_by_name("buffersink"),
name, NULL, NULL, fg->graph);
av_freep(&buffersink_params);
if (ret < 0)
return ret;
@@ -301,7 +358,7 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
char args[255];
AVFilterContext *filter;
snprintf(args, sizeof(args), "%d:%d:flags=0x%X",
snprintf(args, sizeof(args), "%d:%d:0x%X",
codec->width,
codec->height,
(unsigned)ost->sws_flags);
@@ -321,17 +378,18 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
AVFilterContext *filter;
snprintf(name, sizeof(name), "pixel format for output stream %d:%d",
ost->file_index, ost->index);
if ((ret = avfilter_graph_create_filter(&filter,
ret = avfilter_graph_create_filter(&filter,
avfilter_get_by_name("format"),
"format", pix_fmts, NULL,
fg->graph)) < 0)
fg->graph);
av_freep(&pix_fmts);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, pad_idx, filter, 0)) < 0)
return ret;
last_filter = filter;
pad_idx = 0;
av_freep(&pix_fmts);
}
if (ost->frame_rate.num && 0) {
@@ -354,6 +412,14 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
pad_idx = 0;
}
snprintf(name, sizeof(name), "trim for output stream %d:%d",
ost->file_index, ost->index);
ret = insert_trim(of->start_time, of->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
return ret;
@@ -363,24 +429,22 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out)
{
OutputStream *ost = ofilter->ost;
OutputFile *of = output_files[ost->file_index];
AVCodecContext *codec = ost->st->codec;
AVFilterContext *last_filter = out->filter_ctx;
int pad_idx = out->pad_idx;
char *sample_fmts, *sample_rates, *channel_layouts;
char name[255];
int ret;
AVABufferSinkParams *params = av_abuffersink_params_alloc();
if (!params)
return AVERROR(ENOMEM);
params->all_channel_counts = 1;
snprintf(name, sizeof(name), "output stream %d:%d", ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&ofilter->filter,
avfilter_get_by_name("ffabuffersink"),
name, NULL, params, fg->graph);
av_freep(&params);
avfilter_get_by_name("abuffersink"),
name, NULL, NULL, fg->graph);
if (ret < 0)
return ret;
if ((ret = av_opt_set_int(ofilter->filter, "all_channel_counts", 1, AV_OPT_SEARCH_CHILDREN)) < 0)
return ret;
#define AUTO_INSERT_FILTER(opt_name, filter_name, arg) do { \
AVFilterContext *filt_ctx; \
@@ -463,6 +527,27 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
AUTO_INSERT_FILTER("-vol", "volume", args);
}
if (ost->apad && of->shortest) {
char args[256];
int i;
for (i=0; i<of->ctx->nb_streams; i++)
if (of->ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO)
break;
if (i<of->ctx->nb_streams) {
snprintf(args, sizeof(args), "%s", ost->apad);
AUTO_INSERT_FILTER("-apad", "apad", args);
}
}
snprintf(name, sizeof(name), "trim for output stream %d:%d",
ost->file_index, ost->index);
ret = insert_trim(of->start_time, of->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, pad_idx, ofilter->filter, 0)) < 0)
return ret;
@@ -473,11 +558,11 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
{ \
AVFilterContext *ctx = inout->filter_ctx; \
AVFilterPad *pads = in ? ctx->input_pads : ctx->output_pads; \
int nb_pads = in ? ctx->input_count : ctx->output_count; \
int nb_pads = in ? ctx->nb_inputs : ctx->nb_outputs; \
AVIOContext *pb; \
\
if (avio_open_dyn_buf(&pb) < 0) \
exit(1); \
exit_program(1); \
\
avio_printf(pb, "%s", ctx->filter->name); \
if (nb_pads > 1) \
@@ -501,9 +586,7 @@ int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOu
static int sub2video_prepare(InputStream *ist)
{
AVFormatContext *avf = input_files[ist->file_index]->ctx;
int i, ret, w, h;
uint8_t *image[4];
int linesize[4];
int i, w, h;
/* Compute the size of the canvas for the subtitles stream.
If the subtitles codec has set a size, use it. Otherwise use the
@@ -530,45 +613,35 @@ static int sub2video_prepare(InputStream *ist)
palettes for all rectangles are identical or compatible */
ist->resample_pix_fmt = ist->st->codec->pix_fmt = AV_PIX_FMT_RGB32;
ret = av_image_alloc(image, linesize, w, h, AV_PIX_FMT_RGB32, 32);
if (ret < 0)
return ret;
memset(image[0], 0, h * linesize[0]);
ist->sub2video.ref = avfilter_get_video_buffer_ref_from_arrays(
image, linesize, AV_PERM_READ | AV_PERM_PRESERVE,
w, h, AV_PIX_FMT_RGB32);
if (!ist->sub2video.ref) {
av_free(image[0]);
ist->sub2video.frame = av_frame_alloc();
if (!ist->sub2video.frame)
return AVERROR(ENOMEM);
}
return 0;
}
static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
AVFilterInOut *in)
{
AVFilterContext *first_filter = in->filter_ctx;
AVFilter *filter = avfilter_get_by_name("buffer");
AVFilterContext *last_filter;
const AVFilter *buffer_filt = avfilter_get_by_name("buffer");
InputStream *ist = ifilter->ist;
InputFile *f = input_files[ist->file_index];
AVRational tb = ist->framerate.num ? av_inv_q(ist->framerate) :
ist->st->time_base;
AVRational fr = ist->framerate.num ? ist->framerate :
ist->st->r_frame_rate;
AVRational fr = ist->framerate;
AVRational sar;
AVBPrint args;
char name[255];
int pad_idx = in->pad_idx;
int ret;
int ret, pad_idx = 0;
if (!ist->framerate.num && ist->st->codec->ticks_per_frame>1) {
AVRational codec_fr = av_inv_q(ist->st->codec->time_base);
AVRational avg_fr = ist->st->avg_frame_rate;
codec_fr.den *= ist->st->codec->ticks_per_frame;
if ( codec_fr.num>0 && codec_fr.den>0 && av_q2d(codec_fr) < av_q2d(fr)*0.7
&& fabs(1.0 - av_q2d(av_div_q(avg_fr, fr)))>0.1)
fr = codec_fr;
if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_ERROR, "Cannot connect video filter to audio input\n");
return AVERROR(EINVAL);
}
if (!fr.num)
fr = av_guess_frame_rate(input_files[ist->file_index]->ctx, ist->st, NULL);
if (ist->st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {
ret = sub2video_prepare(ist);
if (ret < 0)
@@ -592,9 +665,10 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&ifilter->filter, filter, name,
if ((ret = avfilter_graph_create_filter(&ifilter->filter, buffer_filt, name,
args.str, NULL, fg->graph)) < 0)
return ret;
last_filter = ifilter->filter;
if (ist->framerate.num) {
AVFilterContext *setpts;
@@ -607,14 +681,37 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(setpts, 0, first_filter, pad_idx)) < 0)
if ((ret = avfilter_link(last_filter, 0, setpts, 0)) < 0)
return ret;
first_filter = setpts;
pad_idx = 0;
last_filter = setpts;
}
if ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0)
if (do_deinterlace) {
AVFilterContext *yadif;
snprintf(name, sizeof(name), "deinterlace input from stream %d:%d",
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&yadif,
avfilter_get_by_name("yadif"),
name, "", NULL,
fg->graph)) < 0)
return ret;
if ((ret = avfilter_link(last_filter, 0, yadif, 0)) < 0)
return ret;
last_filter = yadif;
}
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, 0, in->filter_ctx, in->pad_idx)) < 0)
return ret;
return 0;
}
@@ -622,13 +719,18 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
AVFilterInOut *in)
{
AVFilterContext *first_filter = in->filter_ctx;
AVFilter *filter = avfilter_get_by_name("abuffer");
AVFilterContext *last_filter;
const AVFilter *abuffer_filt = avfilter_get_by_name("abuffer");
InputStream *ist = ifilter->ist;
int pad_idx = in->pad_idx;
InputFile *f = input_files[ist->file_index];
AVBPrint args;
char name[255];
int ret;
int ret, pad_idx = 0;
if (ist->st->codec->codec_type != AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_ERROR, "Cannot connect audio filter to non audio input\n");
return AVERROR(EINVAL);
}
av_bprint_init(&args, 0, AV_BPRINT_SIZE_AUTOMATIC);
av_bprintf(&args, "time_base=%d/%d:sample_rate=%d:sample_fmt=%s",
@@ -643,10 +745,11 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "graph %d input from stream %d:%d", fg->index,
ist->file_index, ist->st->index);
if ((ret = avfilter_graph_create_filter(&ifilter->filter, filter,
if ((ret = avfilter_graph_create_filter(&ifilter->filter, abuffer_filt,
name, args.str, NULL,
fg->graph)) < 0)
return ret;
last_filter = ifilter->filter;
#define AUTO_INSERT_FILTER_INPUT(opt_name, filter_name, arg) do { \
AVFilterContext *filt_ctx; \
@@ -662,11 +765,11 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
if (ret < 0) \
return ret; \
\
ret = avfilter_link(filt_ctx, 0, first_filter, pad_idx); \
ret = avfilter_link(last_filter, 0, filt_ctx, 0); \
if (ret < 0) \
return ret; \
\
first_filter = filt_ctx; \
last_filter = filt_ctx; \
} while (0)
if (audio_sync_method > 0) {
@@ -702,7 +805,15 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(args, sizeof(args), "%f", audio_volume / 256.);
AUTO_INSERT_FILTER_INPUT("-vol", "volume", args);
}
if ((ret = avfilter_link(ifilter->filter, 0, first_filter, pad_idx)) < 0)
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
if (ret < 0)
return ret;
if ((ret = avfilter_link(last_filter, 0, in->filter_ctx, in->pad_idx)) < 0)
return ret;
return 0;
@@ -757,6 +868,10 @@ int configure_filtergraph(FilterGraph *fg)
if (strlen(args))
args[strlen(args) - 1] = '\0';
fg->graph->resample_lavr_opts = av_strdup(args);
e = av_dict_get(ost->opts, "threads", NULL, 0);
if (e)
av_opt_set(fg->graph, "threads", e->value, 0);
}
if ((ret = avfilter_graph_parse2(fg->graph, graph_desc, &inputs, &outputs)) < 0)
@@ -790,7 +905,7 @@ int configure_filtergraph(FilterGraph *fg)
for (cur = outputs; cur;) {
GROW_ARRAY(fg->outputs, fg->nb_outputs);
if (!(fg->outputs[fg->nb_outputs - 1] = av_mallocz(sizeof(*fg->outputs[0]))))
exit(1);
exit_program(1);
fg->outputs[fg->nb_outputs - 1]->graph = fg;
fg->outputs[fg->nb_outputs - 1]->out_tmp = cur;
cur = cur->next;

File diff suppressed because it is too large Load Diff

965
ffplay.c

File diff suppressed because it is too large Load Diff

569
ffprobe.c
View File

@@ -37,7 +37,9 @@
#include "libavutil/pixdesc.h"
#include "libavutil/dict.h"
#include "libavutil/libm.h"
#include "libavutil/parseutils.h"
#include "libavutil/timecode.h"
#include "libavutil/timestamp.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
@@ -52,10 +54,12 @@ static int do_count_frames = 0;
static int do_count_packets = 0;
static int do_read_frames = 0;
static int do_read_packets = 0;
static int do_show_chapters = 0;
static int do_show_error = 0;
static int do_show_format = 0;
static int do_show_frames = 0;
static int do_show_packets = 0;
static int do_show_programs = 0;
static int do_show_streams = 0;
static int do_show_stream_disposition = 0;
static int do_show_data = 0;
@@ -71,6 +75,17 @@ static int show_private_data = 1;
static char *print_format;
static char *stream_specifier;
typedef struct {
int id; ///< identifier
int64_t start, end; ///< start, end in second/AV_TIME_BASE units
int has_start, has_end;
int start_is_offset, end_is_offset;
int duration_frames;
} ReadInterval;
static ReadInterval *read_intervals;
static int read_intervals_nb = 0;
/* section structure definition */
#define SECTION_MAX_NB_CHILDREN 10
@@ -93,6 +108,9 @@ struct section {
typedef enum {
SECTION_ID_NONE = -1,
SECTION_ID_CHAPTER,
SECTION_ID_CHAPTER_TAGS,
SECTION_ID_CHAPTERS,
SECTION_ID_ERROR,
SECTION_ID_FORMAT,
SECTION_ID_FORMAT_TAGS,
@@ -104,7 +122,14 @@ typedef enum {
SECTION_ID_PACKET,
SECTION_ID_PACKETS,
SECTION_ID_PACKETS_AND_FRAMES,
SECTION_ID_PROGRAM_STREAM_DISPOSITION,
SECTION_ID_PROGRAM_STREAM_TAGS,
SECTION_ID_PROGRAM,
SECTION_ID_PROGRAM_STREAMS,
SECTION_ID_PROGRAM_STREAM,
SECTION_ID_PROGRAM_TAGS,
SECTION_ID_PROGRAM_VERSION,
SECTION_ID_PROGRAMS,
SECTION_ID_ROOT,
SECTION_ID_STREAM,
SECTION_ID_STREAM_DISPOSITION,
@@ -113,6 +138,9 @@ typedef enum {
} SectionID;
static struct section sections[] = {
[SECTION_ID_CHAPTERS] = { SECTION_ID_CHAPTERS, "chapters", SECTION_FLAG_IS_ARRAY, { SECTION_ID_CHAPTER, -1 } },
[SECTION_ID_CHAPTER] = { SECTION_ID_CHAPTER, "chapter", 0, { SECTION_ID_CHAPTER_TAGS, -1 } },
[SECTION_ID_CHAPTER_TAGS] = { SECTION_ID_CHAPTER_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "chapter_tags" },
[SECTION_ID_ERROR] = { SECTION_ID_ERROR, "error", 0, { -1 } },
[SECTION_ID_FORMAT] = { SECTION_ID_FORMAT, "format", 0, { SECTION_ID_FORMAT_TAGS, -1 } },
[SECTION_ID_FORMAT_TAGS] = { SECTION_ID_FORMAT_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "format_tags" },
@@ -124,10 +152,17 @@ static struct section sections[] = {
[SECTION_ID_PACKETS] = { SECTION_ID_PACKETS, "packets", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
[SECTION_ID_PACKETS_AND_FRAMES] = { SECTION_ID_PACKETS_AND_FRAMES, "packets_and_frames", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PACKET, -1} },
[SECTION_ID_PACKET] = { SECTION_ID_PACKET, "packet", 0, { -1 } },
[SECTION_ID_PROGRAM_STREAM_DISPOSITION] = { SECTION_ID_PROGRAM_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "program_stream_disposition" },
[SECTION_ID_PROGRAM_STREAM_TAGS] = { SECTION_ID_PROGRAM_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "program_stream_tags" },
[SECTION_ID_PROGRAM] = { SECTION_ID_PROGRAM, "program", 0, { SECTION_ID_PROGRAM_TAGS, SECTION_ID_PROGRAM_STREAMS, -1 } },
[SECTION_ID_PROGRAM_STREAMS] = { SECTION_ID_PROGRAM_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM_STREAM, -1 }, .unique_name = "program_streams" },
[SECTION_ID_PROGRAM_STREAM] = { SECTION_ID_PROGRAM_STREAM, "stream", 0, { SECTION_ID_PROGRAM_STREAM_DISPOSITION, SECTION_ID_PROGRAM_STREAM_TAGS, -1 }, .unique_name = "program_stream" },
[SECTION_ID_PROGRAM_TAGS] = { SECTION_ID_PROGRAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "program_tags" },
[SECTION_ID_PROGRAM_VERSION] = { SECTION_ID_PROGRAM_VERSION, "program_version", 0, { -1 } },
[SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS, "programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } },
[SECTION_ID_ROOT] = { SECTION_ID_ROOT, "root", SECTION_FLAG_IS_WRAPPER,
{ SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_STREAMS, SECTION_ID_PACKETS,
SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS, -1} },
{ SECTION_ID_CHAPTERS, SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_PROGRAMS, SECTION_ID_STREAMS,
SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS, -1} },
[SECTION_ID_STREAMS] = { SECTION_ID_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM, -1 } },
[SECTION_ID_STREAM] = { SECTION_ID_STREAM, "stream", 0, { SECTION_ID_STREAM_DISPOSITION, SECTION_ID_STREAM_TAGS, -1 } },
[SECTION_ID_STREAM_DISPOSITION] = { SECTION_ID_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_disposition" },
@@ -148,11 +183,12 @@ static const char unit_hertz_str[] = "Hz" ;
static const char unit_byte_str[] = "byte" ;
static const char unit_bit_per_second_str[] = "bit/s";
static int nb_streams;
static uint64_t *nb_streams_packets;
static uint64_t *nb_streams_frames;
static int *selected_streams;
static void exit_program(void)
static void ffprobe_cleanup(int ret)
{
int i;
for (i = 0; i < FF_ARRAY_ELEMS(sections); i++)
@@ -203,6 +239,7 @@ static char *value_string(char *buf, int buf_size, struct unit_value uv)
vald /= pow(10, index * 3);
prefix_string = decimal_unit_prefixes[index];
}
vali = vald;
}
if (show_float || (use_value_prefix && vald != (long long int)vald))
@@ -300,7 +337,7 @@ static int writer_open(WriterContext **wctx, const Writer *writer, const char *a
{
int i, ret = 0;
if (!(*wctx = av_malloc(sizeof(WriterContext)))) {
if (!(*wctx = av_mallocz(sizeof(WriterContext)))) {
ret = AVERROR(ENOMEM);
goto fail;
}
@@ -668,6 +705,8 @@ typedef struct CompactContext {
char *escape_mode_str;
const char * (*escape_str)(AVBPrint *dst, const char *src, const char sep, void *log_ctx);
int nested_section[SECTION_MAX_NB_LEVELS];
int has_nested_elems[SECTION_MAX_NB_LEVELS];
int terminate_line[SECTION_MAX_NB_LEVELS];
} CompactContext;
#undef OFFSET
@@ -715,18 +754,28 @@ static void compact_print_section_header(WriterContext *wctx)
const struct section *section = wctx->section[wctx->level];
const struct section *parent_section = wctx->level ?
wctx->section[wctx->level-1] : NULL;
compact->terminate_line[wctx->level] = 1;
compact->has_nested_elems[wctx->level] = 0;
av_bprint_clear(&wctx->section_pbuf[wctx->level]);
if (parent_section &&
if (!(section->flags & SECTION_FLAG_IS_ARRAY) && parent_section &&
!(parent_section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY))) {
compact->nested_section[wctx->level] = 1;
compact->has_nested_elems[wctx->level-1] = 1;
av_bprintf(&wctx->section_pbuf[wctx->level], "%s%s:",
wctx->section_pbuf[wctx->level-1].str,
(char *)av_x_if_null(section->element_name, section->name));
wctx->nb_item[wctx->level] = wctx->nb_item[wctx->level-1];
} else if (compact->print_section &&
!(section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
printf("%s%c", section->name, compact->item_sep);
} else {
if (parent_section && compact->has_nested_elems[wctx->level-1] &&
(section->flags & SECTION_FLAG_IS_ARRAY)) {
compact->terminate_line[wctx->level-1] = 0;
printf("\n");
}
if (compact->print_section &&
!(section->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
printf("%s%c", section->name, compact->item_sep);
}
}
static void compact_print_section_footer(WriterContext *wctx)
@@ -734,6 +783,7 @@ static void compact_print_section_footer(WriterContext *wctx)
CompactContext *compact = wctx->priv;
if (!compact->nested_section[wctx->level] &&
compact->terminate_line[wctx->level] &&
!(wctx->section[wctx->level]->flags & (SECTION_FLAG_IS_WRAPPER|SECTION_FLAG_IS_ARRAY)))
printf("\n");
}
@@ -1407,6 +1457,14 @@ static void writer_register_all(void)
#define print_section_header(s) writer_print_section_header(w, s)
#define print_section_footer(s) writer_print_section_footer(w, s)
#define REALLOCZ_ARRAY_STREAM(ptr, cur_n, new_n) \
{ \
ret = av_reallocp_array(&(ptr), (new_n), sizeof(*(ptr))); \
if (ret < 0) \
goto end; \
memset( (ptr) + (cur_n), 0, ((new_n) - (cur_n)) * sizeof(*(ptr)) ); \
}
static inline void show_tags(WriterContext *wctx, AVDictionary *tags, int section_id)
{
AVDictionaryEntry *tag = NULL;
@@ -1500,7 +1558,6 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream,
print_int("interlaced_frame", frame->interlaced_frame);
print_int("top_field_first", frame->top_field_first);
print_int("repeat_pict", frame->repeat_pict);
print_int("reference", frame->reference);
break;
case AVMEDIA_TYPE_AUDIO:
@@ -1533,7 +1590,6 @@ static av_always_inline int process_frame(WriterContext *w,
AVCodecContext *dec_ctx = fmt_ctx->streams[pkt->stream_index]->codec;
int ret = 0, got_frame = 0;
avcodec_get_frame_defaults(frame);
if (dec_ctx->codec) {
switch (dec_ctx->codec_type) {
case AVMEDIA_TYPE_VIDEO:
@@ -1559,16 +1615,104 @@ static av_always_inline int process_frame(WriterContext *w,
return got_frame;
}
static void read_packets(WriterContext *w, AVFormatContext *fmt_ctx)
static void log_read_interval(const ReadInterval *interval, void *log_ctx, int log_level)
{
av_log(log_ctx, log_level, "id:%d", interval->id);
if (interval->has_start) {
av_log(log_ctx, log_level, " start:%s%s", interval->start_is_offset ? "+" : "",
av_ts2timestr(interval->start, &AV_TIME_BASE_Q));
} else {
av_log(log_ctx, log_level, " start:N/A");
}
if (interval->has_end) {
av_log(log_ctx, log_level, " end:%s", interval->end_is_offset ? "+" : "");
if (interval->duration_frames)
av_log(log_ctx, log_level, "#%"PRId64, interval->end);
else
av_log(log_ctx, log_level, "%s", av_ts2timestr(interval->end, &AV_TIME_BASE_Q));
} else {
av_log(log_ctx, log_level, " end:N/A");
}
av_log(log_ctx, log_level, "\n");
}
static int read_interval_packets(WriterContext *w, AVFormatContext *fmt_ctx,
const ReadInterval *interval, int64_t *cur_ts)
{
AVPacket pkt, pkt1;
AVFrame frame;
int i = 0;
AVFrame *frame = NULL;
int ret = 0, i = 0, frame_count = 0;
int64_t start = -INT64_MAX, end = interval->end;
int has_start = 0, has_end = interval->has_end && !interval->end_is_offset;
av_init_packet(&pkt);
av_log(NULL, AV_LOG_VERBOSE, "Processing read interval ");
log_read_interval(interval, NULL, AV_LOG_VERBOSE);
if (interval->has_start) {
int64_t target;
if (interval->start_is_offset) {
if (*cur_ts == AV_NOPTS_VALUE) {
av_log(NULL, AV_LOG_ERROR,
"Could not seek to relative position since current "
"timestamp is not defined\n");
ret = AVERROR(EINVAL);
goto end;
}
target = *cur_ts + interval->start;
} else {
target = interval->start;
}
av_log(NULL, AV_LOG_VERBOSE, "Seeking to read interval start point %s\n",
av_ts2timestr(target, &AV_TIME_BASE_Q));
if ((ret = avformat_seek_file(fmt_ctx, -1, -INT64_MAX, target, INT64_MAX, 0)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Could not seek to position %"PRId64": %s\n",
interval->start, av_err2str(ret));
goto end;
}
}
frame = av_frame_alloc();
if (!frame) {
ret = AVERROR(ENOMEM);
goto end;
}
while (!av_read_frame(fmt_ctx, &pkt)) {
if (fmt_ctx->nb_streams > nb_streams) {
REALLOCZ_ARRAY_STREAM(nb_streams_frames, nb_streams, fmt_ctx->nb_streams);
REALLOCZ_ARRAY_STREAM(nb_streams_packets, nb_streams, fmt_ctx->nb_streams);
REALLOCZ_ARRAY_STREAM(selected_streams, nb_streams, fmt_ctx->nb_streams);
nb_streams = fmt_ctx->nb_streams;
}
if (selected_streams[pkt.stream_index]) {
AVRational tb = fmt_ctx->streams[pkt.stream_index]->time_base;
if (pkt.pts != AV_NOPTS_VALUE)
*cur_ts = av_rescale_q(pkt.pts, tb, AV_TIME_BASE_Q);
if (!has_start && *cur_ts != AV_NOPTS_VALUE) {
start = *cur_ts;
has_start = 1;
}
if (has_start && !has_end && interval->end_is_offset) {
end = start + interval->end;
has_end = 1;
}
if (interval->end_is_offset && interval->duration_frames) {
if (frame_count >= interval->end)
break;
} else if (has_end && *cur_ts != AV_NOPTS_VALUE && *cur_ts >= end) {
break;
}
frame_count++;
if (do_read_packets) {
if (do_show_packets)
show_packet(w, fmt_ctx, &pkt, i++);
@@ -1576,7 +1720,7 @@ static void read_packets(WriterContext *w, AVFormatContext *fmt_ctx)
}
if (do_read_frames) {
pkt1 = pkt;
while (pkt1.size && process_frame(w, fmt_ctx, &frame, &pkt1) > 0);
while (pkt1.size && process_frame(w, fmt_ctx, frame, &pkt1) > 0);
}
}
av_free_packet(&pkt);
@@ -1588,11 +1732,36 @@ static void read_packets(WriterContext *w, AVFormatContext *fmt_ctx)
for (i = 0; i < fmt_ctx->nb_streams; i++) {
pkt.stream_index = i;
if (do_read_frames)
while (process_frame(w, fmt_ctx, &frame, &pkt) > 0);
while (process_frame(w, fmt_ctx, frame, &pkt) > 0);
}
end:
av_frame_free(&frame);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Could not read packets in interval ");
log_read_interval(interval, NULL, AV_LOG_ERROR);
}
return ret;
}
static void read_packets(WriterContext *w, AVFormatContext *fmt_ctx)
{
int i, ret = 0;
int64_t cur_ts = fmt_ctx->start_time;
if (read_intervals_nb == 0) {
ReadInterval interval = (ReadInterval) { .has_start = 0, .has_end = 0 };
ret = read_interval_packets(w, fmt_ctx, &interval, &cur_ts);
} else {
for (i = 0; i < read_intervals_nb; i++) {
ret = read_interval_packets(w, fmt_ctx, &read_intervals[i], &cur_ts);
if (ret < 0)
break;
}
}
}
static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx)
static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx, int in_program)
{
AVStream *stream = fmt_ctx->streams[stream_idx];
AVCodecContext *dec_ctx;
@@ -1604,7 +1773,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);
writer_print_section_header(w, SECTION_ID_STREAM);
writer_print_section_header(w, in_program ? SECTION_ID_PROGRAM_STREAM : SECTION_ID_STREAM);
print_int("index", stream->index);
@@ -1675,8 +1844,28 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
else print_str_opt("sample_fmt", "unknown");
print_val("sample_rate", dec_ctx->sample_rate, unit_hertz_str);
print_int("channels", dec_ctx->channels);
if (dec_ctx->channel_layout) {
av_bprint_clear(&pbuf);
av_bprint_channel_layout(&pbuf, dec_ctx->channels, dec_ctx->channel_layout);
print_str ("channel_layout", pbuf.str);
} else {
print_str_opt("channel_layout", "unknown");
}
print_int("bits_per_sample", av_get_bits_per_sample(dec_ctx->codec_id));
break;
case AVMEDIA_TYPE_SUBTITLE:
if (dec_ctx->width)
print_int("width", dec_ctx->width);
else
print_str_opt("width", "N/A");
if (dec_ctx->height)
print_int("height", dec_ctx->height);
else
print_str_opt("height", "N/A");
break;
}
} else {
print_str_opt("codec_type", "unknown");
@@ -1720,7 +1909,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
} while (0)
if (do_show_stream_disposition) {
writer_print_section_header(w, SECTION_ID_STREAM_DISPOSITION);
writer_print_section_header(w, in_program ? SECTION_ID_PROGRAM_STREAM_DISPOSITION : SECTION_ID_STREAM_DISPOSITION);
PRINT_DISPOSITION(DEFAULT, "default");
PRINT_DISPOSITION(DUB, "dub");
PRINT_DISPOSITION(ORIGINAL, "original");
@@ -1735,7 +1924,7 @@ static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_i
writer_print_section_footer(w);
}
show_tags(w, stream->metadata, SECTION_ID_STREAM_TAGS);
show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS);
writer_print_section_footer(w);
av_bprint_finalize(&pbuf, NULL);
@@ -1748,7 +1937,68 @@ static void show_streams(WriterContext *w, AVFormatContext *fmt_ctx)
writer_print_section_header(w, SECTION_ID_STREAMS);
for (i = 0; i < fmt_ctx->nb_streams; i++)
if (selected_streams[i])
show_stream(w, fmt_ctx, i);
show_stream(w, fmt_ctx, i, 0);
writer_print_section_footer(w);
}
static void show_program(WriterContext *w, AVFormatContext *fmt_ctx, AVProgram *program)
{
int i;
writer_print_section_header(w, SECTION_ID_PROGRAM);
print_int("program_id", program->id);
print_int("program_num", program->program_num);
print_int("nb_streams", program->nb_stream_indexes);
print_int("pmt_pid", program->pmt_pid);
print_int("pcr_pid", program->pcr_pid);
print_ts("start_pts", program->start_time);
print_time("start_time", program->start_time, &AV_TIME_BASE_Q);
print_ts("end_pts", program->end_time);
print_time("end_time", program->end_time, &AV_TIME_BASE_Q);
show_tags(w, program->metadata, SECTION_ID_PROGRAM_TAGS);
writer_print_section_header(w, SECTION_ID_PROGRAM_STREAMS);
for (i = 0; i < program->nb_stream_indexes; i++) {
if (selected_streams[program->stream_index[i]])
show_stream(w, fmt_ctx, program->stream_index[i], 1);
}
writer_print_section_footer(w);
writer_print_section_footer(w);
}
static void show_programs(WriterContext *w, AVFormatContext *fmt_ctx)
{
int i;
writer_print_section_header(w, SECTION_ID_PROGRAMS);
for (i = 0; i < fmt_ctx->nb_programs; i++) {
AVProgram *program = fmt_ctx->programs[i];
if (!program)
continue;
show_program(w, fmt_ctx, program);
}
writer_print_section_footer(w);
}
static void show_chapters(WriterContext *w, AVFormatContext *fmt_ctx)
{
int i;
writer_print_section_header(w, SECTION_ID_CHAPTERS);
for (i = 0; i < fmt_ctx->nb_chapters; i++) {
AVChapter *chapter = fmt_ctx->chapters[i];
writer_print_section_header(w, SECTION_ID_CHAPTER);
print_int("id", chapter->id);
print_q ("time_base", chapter->time_base, '/');
print_int("start", chapter->start);
print_time("start_time", chapter->start, &chapter->time_base);
print_int("end", chapter->end);
print_time("end_time", chapter->end, &chapter->time_base);
show_tags(w, chapter->metadata, SECTION_ID_CHAPTER_TAGS);
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
@@ -1760,6 +2010,7 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx)
writer_print_section_header(w, SECTION_ID_FORMAT);
print_str("filename", fmt_ctx->filename);
print_int("nb_streams", fmt_ctx->nb_streams);
print_int("nb_programs", fmt_ctx->nb_programs);
print_str("format_name", fmt_ctx->iformat->name);
if (!do_bitexact) {
if (fmt_ctx->iformat->long_name) print_str ("format_long_name", fmt_ctx->iformat->long_name);
@@ -1771,6 +2022,7 @@ static void show_format(WriterContext *w, AVFormatContext *fmt_ctx)
else print_str_opt("size", "N/A");
if (fmt_ctx->bit_rate > 0) print_val ("bit_rate", fmt_ctx->bit_rate, unit_bit_per_second_str);
else print_str_opt("bit_rate", "N/A");
print_int("probe_score", av_format_get_probe_score(fmt_ctx));
show_tags(w, fmt_ctx->metadata, SECTION_ID_FORMAT_TAGS);
writer_print_section_footer(w);
@@ -1793,9 +2045,10 @@ static void show_error(WriterContext *w, int err)
static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
{
int err, i;
int err, i, orig_nb_streams;
AVFormatContext *fmt_ctx = NULL;
AVDictionaryEntry *t;
AVDictionary **opts;
if ((err = avformat_open_input(&fmt_ctx, filename,
iformat, &format_opts)) < 0) {
@@ -1807,12 +2060,17 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
return AVERROR_OPTION_NOT_FOUND;
}
/* fill the streams in the format context */
if ((err = avformat_find_stream_info(fmt_ctx, NULL)) < 0) {
opts = setup_find_stream_info_opts(fmt_ctx, codec_opts);
orig_nb_streams = fmt_ctx->nb_streams;
if ((err = avformat_find_stream_info(fmt_ctx, opts)) < 0) {
print_error(filename, err);
return err;
}
for (i = 0; i < orig_nb_streams; i++)
av_dict_free(&opts[i]);
av_freep(&opts);
av_dump_format(fmt_ctx, 0, filename, 0);
@@ -1822,16 +2080,25 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
AVCodec *codec;
if (stream->codec->codec_id == AV_CODEC_ID_PROBE) {
av_log(NULL, AV_LOG_ERROR,
av_log(NULL, AV_LOG_WARNING,
"Failed to probe codec for input stream %d\n",
stream->index);
} else if (!(codec = avcodec_find_decoder(stream->codec->codec_id))) {
av_log(NULL, AV_LOG_ERROR,
av_log(NULL, AV_LOG_WARNING,
"Unsupported codec with id %d for input stream %d\n",
stream->codec->codec_id, stream->index);
} else if (avcodec_open2(stream->codec, codec, NULL) < 0) {
av_log(NULL, AV_LOG_ERROR, "Error while opening codec for input stream %d\n",
stream->index);
} else {
AVDictionary *opts = filter_codec_opts(codec_opts, stream->codec->codec_id,
fmt_ctx, stream, codec);
if (avcodec_open2(stream->codec, codec, &opts) < 0) {
av_log(NULL, AV_LOG_WARNING, "Could not open codec for input stream %d\n",
stream->index);
}
if ((t = av_dict_get(opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
av_log(NULL, AV_LOG_ERROR, "Option %s for input stream %d not found\n",
t->key, stream->index);
return AVERROR_OPTION_NOT_FOUND;
}
}
}
@@ -1862,50 +2129,58 @@ static int probe_file(WriterContext *wctx, const char *filename)
do_read_packets = do_show_packets || do_count_packets;
ret = open_input_file(&fmt_ctx, filename);
if (ret >= 0) {
nb_streams_frames = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_frames));
nb_streams_packets = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_packets));
selected_streams = av_calloc(fmt_ctx->nb_streams, sizeof(*selected_streams));
if (ret < 0)
return ret;
for (i = 0; i < fmt_ctx->nb_streams; i++) {
if (stream_specifier) {
ret = avformat_match_stream_specifier(fmt_ctx,
fmt_ctx->streams[i],
stream_specifier);
if (ret < 0)
goto end;
else
selected_streams[i] = ret;
} else {
selected_streams[i] = 1;
}
nb_streams = fmt_ctx->nb_streams;
REALLOCZ_ARRAY_STREAM(nb_streams_frames,0,fmt_ctx->nb_streams);
REALLOCZ_ARRAY_STREAM(nb_streams_packets,0,fmt_ctx->nb_streams);
REALLOCZ_ARRAY_STREAM(selected_streams,0,fmt_ctx->nb_streams);
for (i = 0; i < fmt_ctx->nb_streams; i++) {
if (stream_specifier) {
ret = avformat_match_stream_specifier(fmt_ctx,
fmt_ctx->streams[i],
stream_specifier);
if (ret < 0)
goto end;
else
selected_streams[i] = ret;
ret = 0;
} else {
selected_streams[i] = 1;
}
if (do_read_frames || do_read_packets) {
if (do_show_frames && do_show_packets &&
wctx->writer->flags & WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER)
section_id = SECTION_ID_PACKETS_AND_FRAMES;
else if (do_show_packets && !do_show_frames)
section_id = SECTION_ID_PACKETS;
else // (!do_show_packets && do_show_frames)
section_id = SECTION_ID_FRAMES;
if (do_show_frames || do_show_packets)
writer_print_section_header(wctx, section_id);
read_packets(wctx, fmt_ctx);
if (do_show_frames || do_show_packets)
writer_print_section_footer(wctx);
}
if (do_show_streams)
show_streams(wctx, fmt_ctx);
if (do_show_format)
show_format(wctx, fmt_ctx);
end:
close_input_file(&fmt_ctx);
av_freep(&nb_streams_frames);
av_freep(&nb_streams_packets);
av_freep(&selected_streams);
}
if (do_read_frames || do_read_packets) {
if (do_show_frames && do_show_packets &&
wctx->writer->flags & WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER)
section_id = SECTION_ID_PACKETS_AND_FRAMES;
else if (do_show_packets && !do_show_frames)
section_id = SECTION_ID_PACKETS;
else // (!do_show_packets && do_show_frames)
section_id = SECTION_ID_FRAMES;
if (do_show_frames || do_show_packets)
writer_print_section_header(wctx, section_id);
read_packets(wctx, fmt_ctx);
if (do_show_frames || do_show_packets)
writer_print_section_footer(wctx);
}
if (do_show_programs)
show_programs(wctx, fmt_ctx);
if (do_show_streams)
show_streams(wctx, fmt_ctx);
if (do_show_chapters)
show_chapters(wctx, fmt_ctx);
if (do_show_format)
show_format(wctx, fmt_ctx);
end:
close_input_file(&fmt_ctx);
av_freep(&nb_streams_frames);
av_freep(&nb_streams_packets);
av_freep(&selected_streams);
return ret;
}
@@ -2076,7 +2351,7 @@ static void opt_input_file(void *optctx, const char *arg)
av_log(NULL, AV_LOG_ERROR,
"Argument '%s' provided as input filename, but '%s' was already specified.\n",
arg, input_filename);
exit(1);
exit_program(1);
}
if (!strcmp(arg, "-"))
arg = "pipe:";
@@ -2099,6 +2374,145 @@ void show_help_default(const char *opt, const char *arg)
show_help_children(avformat_get_class(), AV_OPT_FLAG_DECODING_PARAM);
}
/**
* Parse interval specification, according to the format:
* INTERVAL ::= [START|+START_OFFSET][%[END|+END_OFFSET]]
* INTERVALS ::= INTERVAL[,INTERVALS]
*/
static int parse_read_interval(const char *interval_spec,
ReadInterval *interval)
{
int ret = 0;
char *next, *p, *spec = av_strdup(interval_spec);
if (!spec)
return AVERROR(ENOMEM);
if (!*spec) {
av_log(NULL, AV_LOG_ERROR, "Invalid empty interval specification\n");
ret = AVERROR(EINVAL);
goto end;
}
p = spec;
next = strchr(spec, '%');
if (next)
*next++ = 0;
/* parse first part */
if (*p) {
interval->has_start = 1;
if (*p == '+') {
interval->start_is_offset = 1;
p++;
} else {
interval->start_is_offset = 0;
}
ret = av_parse_time(&interval->start, p, 1);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Invalid interval start specification '%s'\n", p);
goto end;
}
} else {
interval->has_start = 0;
}
/* parse second part */
p = next;
if (p && *p) {
int64_t us;
interval->has_end = 1;
if (*p == '+') {
interval->end_is_offset = 1;
p++;
} else {
interval->end_is_offset = 0;
}
if (interval->end_is_offset && *p == '#') {
long long int lli;
char *tail;
interval->duration_frames = 1;
p++;
lli = strtoll(p, &tail, 10);
if (*tail || lli < 0) {
av_log(NULL, AV_LOG_ERROR,
"Invalid or negative value '%s' for duration number of frames\n", p);
goto end;
}
interval->end = lli;
} else {
ret = av_parse_time(&us, p, 1);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Invalid interval end/duration specification '%s'\n", p);
goto end;
}
interval->end = us;
}
} else {
interval->has_end = 0;
}
end:
av_free(spec);
return ret;
}
static int parse_read_intervals(const char *intervals_spec)
{
int ret, n, i;
char *p, *spec = av_strdup(intervals_spec);
if (!spec)
return AVERROR(ENOMEM);
/* preparse specification, get number of intervals */
for (n = 0, p = spec; *p; p++)
if (*p == ',')
n++;
n++;
read_intervals = av_malloc(n * sizeof(*read_intervals));
if (!read_intervals) {
ret = AVERROR(ENOMEM);
goto end;
}
read_intervals_nb = n;
/* parse intervals */
p = spec;
for (i = 0; p; i++) {
char *next;
av_assert0(i < read_intervals_nb);
next = strchr(p, ',');
if (next)
*next++ = 0;
read_intervals[i].id = i;
ret = parse_read_interval(p, &read_intervals[i]);
if (ret < 0) {
av_log(NULL, AV_LOG_ERROR, "Error parsing read interval #%d '%s'\n",
i, p);
goto end;
}
av_log(NULL, AV_LOG_VERBOSE, "Parsed log interval ");
log_read_interval(&read_intervals[i], NULL, AV_LOG_VERBOSE);
p = next;
}
av_assert0(i == read_intervals_nb);
end:
av_free(spec);
return ret;
}
static int opt_read_intervals(void *optctx, const char *opt, const char *arg)
{
return parse_read_intervals(arg);
}
static int opt_pretty(void *optctx, const char *opt, const char *arg)
{
show_value_unit = 1;
@@ -2151,6 +2565,7 @@ static int opt_show_versions(const char *opt, const char *arg)
return 0; \
}
DEFINE_OPT_SHOW_SECTION(chapters, CHAPTERS);
DEFINE_OPT_SHOW_SECTION(error, ERROR);
DEFINE_OPT_SHOW_SECTION(format, FORMAT);
DEFINE_OPT_SHOW_SECTION(frames, FRAMES);
@@ -2158,6 +2573,7 @@ DEFINE_OPT_SHOW_SECTION(library_versions, LIBRARY_VERSIONS);
DEFINE_OPT_SHOW_SECTION(packets, PACKETS);
DEFINE_OPT_SHOW_SECTION(program_version, PROGRAM_VERSION);
DEFINE_OPT_SHOW_SECTION(streams, STREAMS);
DEFINE_OPT_SHOW_SECTION(programs, PROGRAMS);
static const OptionDef real_options[] = {
#include "cmdutils_common_opts.h"
@@ -2184,7 +2600,9 @@ static const OptionDef real_options[] = {
{ "show_entries", HAS_ARG, {.func_arg = opt_show_entries},
"show a set of specified entries", "entry_list" },
{ "show_packets", 0, {(void*)&opt_show_packets}, "show packets info" },
{ "show_programs", 0, {(void*)&opt_show_programs}, "show programs info" },
{ "show_streams", 0, {(void*)&opt_show_streams}, "show streams info" },
{ "show_chapters", 0, {(void*)&opt_show_chapters}, "show chapters info" },
{ "count_frames", OPT_BOOL, {(void*)&do_count_frames}, "count the number of frames per stream" },
{ "count_packets", OPT_BOOL, {(void*)&do_count_packets}, "count the number of packets per stream" },
{ "show_program_version", 0, {(void*)&opt_show_program_version}, "show ffprobe version" },
@@ -2193,6 +2611,7 @@ static const OptionDef real_options[] = {
{ "show_private_data", OPT_BOOL, {(void*)&show_private_data}, "show private data" },
{ "private", OPT_BOOL, {(void*)&show_private_data}, "same as show_private_data" },
{ "bitexact", OPT_BOOL, {&do_bitexact}, "force bitexact output" },
{ "read_intervals", HAS_ARG, {.func_arg = opt_read_intervals}, "set read intervals", "read_intervals" },
{ "default", HAS_ARG | OPT_AUDIO | OPT_VIDEO | OPT_EXPERT, {.func_arg = opt_default}, "generic catch all option", "" },
{ "i", HAS_ARG, {.func_arg = opt_input_file_i}, "read specified file", "input_file"},
{ NULL, },
@@ -2224,7 +2643,7 @@ int main(int argc, char **argv)
int ret, i;
av_log_set_flags(AV_LOG_SKIP_REPEATED);
atexit(exit_program);
register_exit(ffprobe_cleanup);
options = real_options;
parse_loglevel(argc, argv, options);
@@ -2239,14 +2658,17 @@ int main(int argc, char **argv)
parse_options(NULL, argc, argv, options, opt_input_file);
/* mark things to show, based on -show_entries */
SET_DO_SHOW(CHAPTERS, chapters);
SET_DO_SHOW(ERROR, error);
SET_DO_SHOW(FORMAT, format);
SET_DO_SHOW(FRAMES, frames);
SET_DO_SHOW(LIBRARY_VERSIONS, library_versions);
SET_DO_SHOW(PACKETS, packets);
SET_DO_SHOW(PROGRAM_VERSION, program_version);
SET_DO_SHOW(PROGRAMS, programs);
SET_DO_SHOW(STREAMS, streams);
SET_DO_SHOW(STREAM_DISPOSITION, stream_disposition);
SET_DO_SHOW(PROGRAM_STREAM_DISPOSITION, stream_disposition);
if (do_bitexact && (do_show_program_version || do_show_library_versions)) {
av_log(NULL, AV_LOG_ERROR,
@@ -2284,7 +2706,7 @@ int main(int argc, char **argv)
ffprobe_show_library_versions(wctx);
if (!input_filename &&
((do_show_format || do_show_streams || do_show_packets || do_show_error) ||
((do_show_format || do_show_programs || do_show_streams || do_show_chapters || do_show_packets || do_show_error) ||
(!do_show_program_version && !do_show_library_versions))) {
show_usage();
av_log(NULL, AV_LOG_ERROR, "You have to specify one input file.\n");
@@ -2302,6 +2724,7 @@ int main(int argc, char **argv)
end:
av_freep(&print_format);
av_freep(&read_intervals);
uninit_opts();
for (i = 0; i < FF_ARRAY_ELEMS(sections); i++)
@@ -2309,5 +2732,5 @@ end:
avformat_network_deinit();
return ret;
return ret < 0;
}

View File

@@ -36,6 +36,7 @@
#include "libavformat/network.h"
#include "libavformat/os_support.h"
#include "libavformat/rtpdec.h"
#include "libavformat/rtpproto.h"
#include "libavformat/rtsp.h"
#include "libavformat/avio_internal.h"
#include "libavformat/internal.h"
@@ -47,6 +48,7 @@
#include "libavutil/dict.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/random_seed.h"
#include "libavutil/parseutils.h"
#include "libavutil/opt.h"
@@ -63,9 +65,6 @@
#include <time.h>
#include <sys/wait.h>
#include <signal.h>
#if HAVE_DLFCN_H
#include <dlfcn.h>
#endif
#include "cmdutils.h"
@@ -308,7 +307,7 @@ static int rtp_new_av_stream(HTTPContext *c,
static const char *my_program_name;
static const char *config_filename = "/etc/ffserver.conf";
static const char *config_filename;
static int ffserver_debug;
static int no_launch;
@@ -328,6 +327,14 @@ static AVLFG random_state;
static FILE *logfile = NULL;
static void htmlstrip(char *s) {
while (s && *s) {
s += strspn(s, "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,. ");
if (*s)
*s++ = '?';
}
}
static int64_t ffm_read_write_index(int fd)
{
uint8_t buf[8];
@@ -396,14 +403,14 @@ static int resolve_host(struct in_addr *sin_addr, const char *hostname)
return 0;
}
static char *ctime1(char *buf2)
static char *ctime1(char *buf2, int buf_size)
{
time_t ti;
char *p;
ti = time(NULL);
p = ctime(&ti);
strcpy(buf2, p);
av_strlcpy(buf2, p, buf_size);
p = buf2 + strlen(p) - 1;
if (*p == '\n')
*p = '\0';
@@ -416,7 +423,7 @@ static void http_vlog(const char *fmt, va_list vargs)
if (logfile) {
if (print_prefix) {
char buf[32];
ctime1(buf);
ctime1(buf, sizeof(buf));
fprintf(logfile, "%s ", buf);
}
print_prefix = strstr(fmt, "\n") != NULL;
@@ -1887,6 +1894,7 @@ static int http_parse_request(HTTPContext *c)
send_error:
c->http_error = 404;
q = c->buffer;
htmlstrip(msg);
snprintf(q, c->buffer_size,
"HTTP/1.0 404 Not Found\r\n"
"Content-type: text/html\r\n"
@@ -2964,6 +2972,8 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer,
AVOutputFormat *rtp_format = av_guess_format("rtp", NULL, NULL);
int i;
*pbuffer = NULL;
avc = avformat_alloc_context();
if (avc == NULL || !rtp_format) {
return -1;
@@ -3000,7 +3010,7 @@ static int prepare_sdp_description(FFStream *stream, uint8_t **pbuffer,
av_free(avc);
av_free(avs);
return strlen(*pbuffer);
return *pbuffer ? strlen(*pbuffer) : AVERROR(ENOMEM);
}
static void rtsp_cmd_options(HTTPContext *c, const char *url)
@@ -3906,7 +3916,7 @@ static void add_codec(FFStream *stream, AVCodecContext *av)
av->rc_buffer_aggressivity = 1.0;
if (!av->rc_eq)
av->rc_eq = "tex^qComp";
av->rc_eq = av_strdup("tex^qComp");
if (!av->i_quant_factor)
av->i_quant_factor = -0.8;
if (!av->b_quant_factor)
@@ -3954,32 +3964,6 @@ static enum AVCodecID opt_video_codec(const char *arg)
return p->id;
}
/* simplistic plugin support */
#if HAVE_DLOPEN
static void load_module(const char *filename)
{
void *dll;
void (*init_func)(void);
dll = dlopen(filename, RTLD_NOW);
if (!dll) {
fprintf(stderr, "Could not load module '%s' - %s\n",
filename, dlerror());
return;
}
init_func = dlsym(dll, "ffserver_module_init");
if (!init_func) {
fprintf(stderr,
"%s: init function 'ffserver_module_init()' not found\n",
filename);
dlclose(dll);
}
init_func();
}
#endif
static int ffserver_opt_default(const char *opt, const char *arg,
AVCodecContext *avctx, int type)
{
@@ -4151,7 +4135,7 @@ static int parse_ffconfig(const char *filename)
} else if (!av_strcasecmp(cmd, "MaxBandwidth")) {
int64_t llval;
get_arg(arg, sizeof(arg), &p);
llval = atoll(arg);
llval = strtoll(arg, NULL, 10);
if (llval < 10 || llval > 10000000) {
ERROR("Invalid MaxBandwidth: %s\n", arg);
} else
@@ -4453,6 +4437,14 @@ static int parse_ffconfig(const char *filename)
video_enc.time_base.den = frame_rate.num;
}
}
} else if (!av_strcasecmp(cmd, "PixelFormat")) {
get_arg(arg, sizeof(arg), &p);
if (stream) {
video_enc.pix_fmt = av_get_pix_fmt(arg);
if (video_enc.pix_fmt == AV_PIX_FMT_NONE) {
ERROR("Unknown pixel format: %s\n", arg);
}
}
} else if (!av_strcasecmp(cmd, "VideoGopSize")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
@@ -4545,14 +4537,6 @@ static int parse_ffconfig(const char *filename)
ERROR("VideoQMin out of range\n");
}
}
} else if (!av_strcasecmp(cmd, "LumaElim")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
video_enc.luma_elim_threshold = atoi(arg);
} else if (!av_strcasecmp(cmd, "ChromaElim")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
video_enc.chroma_elim_threshold = atoi(arg);
} else if (!av_strcasecmp(cmd, "LumiMask")) {
get_arg(arg, sizeof(arg), &p);
if (stream)
@@ -4644,12 +4628,7 @@ static int parse_ffconfig(const char *filename)
redirect = NULL;
}
} else if (!av_strcasecmp(cmd, "LoadModule")) {
get_arg(arg, sizeof(arg), &p);
#if HAVE_DLOPEN
load_module(arg);
#else
ERROR("Module support not compiled into this version: '%s'\n", arg);
#endif
ERROR("Loadable modules no longer supported\n");
} else {
ERROR("Incorrect keyword: '%s'\n", cmd);
}
@@ -4714,6 +4693,8 @@ int main(int argc, char **argv)
{
struct sigaction sigact = { { 0 } };
config_filename = av_strdup("/etc/ffserver.conf");
parse_loglevel(argc, argv, options);
av_register_all();
avformat_network_init();
@@ -4736,6 +4717,7 @@ int main(int argc, char **argv)
fprintf(stderr, "Incorrect config file - exiting.\n");
exit(1);
}
av_freep(&config_filename);
/* open log file if needed */
if (logfilename[0] != '\0') {

View File

@@ -26,87 +26,86 @@
static av_cold int zero12v_decode_init(AVCodecContext *avctx)
{
avctx->pix_fmt = PIX_FMT_YUV422P16;
avctx->pix_fmt = AV_PIX_FMT_YUV422P16;
avctx->bits_per_raw_sample = 10;
avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
if (avctx->codec_tag == MKTAG('a', '1', '2', 'v'))
av_log_ask_for_sample(avctx, "Samples with actual transparency needed\n");
avpriv_request_sample(avctx, "transparency");
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
avctx->coded_frame->key_frame = 1;
return 0;
}
static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
int *got_frame, AVPacket *avpkt)
{
int line = 0, ret;
int line, ret;
const int width = avctx->width;
AVFrame *pic = avctx->coded_frame;
AVFrame *pic = data;
uint16_t *y, *u, *v;
const uint8_t *line_end, *src = avpkt->data;
int stride = avctx->width * 8 / 3;
if (pic->data[0])
avctx->release_buffer(avctx, pic);
if (width == 1) {
av_log(avctx, AV_LOG_ERROR, "Width 1 not supported.\n");
if (width <= 1 || avctx->height <= 0) {
av_log(avctx, AV_LOG_ERROR, "Dimensions %dx%d not supported.\n", width, avctx->height);
return AVERROR_INVALIDDATA;
}
if ( avctx->codec_tag == MKTAG('0', '1', '2', 'v')
&& avpkt->size % avctx->height == 0
&& avpkt->size / avctx->height * 3 >= width * 8)
stride = avpkt->size / avctx->height;
if (avpkt->size < avctx->height * stride) {
av_log(avctx, AV_LOG_ERROR, "Packet too small: %d instead of %d\n",
avpkt->size, avctx->height * stride);
return AVERROR_INVALIDDATA;
}
pic->reference = 0;
if ((ret = ff_get_buffer(avctx, pic)) < 0)
if ((ret = ff_get_buffer(avctx, pic, 0)) < 0)
return ret;
y = (uint16_t *)pic->data[0];
u = (uint16_t *)pic->data[1];
v = (uint16_t *)pic->data[2];
line_end = avpkt->data + stride;
pic->pict_type = AV_PICTURE_TYPE_I;
pic->key_frame = 1;
while (line++ < avctx->height) {
while (1) {
uint32_t t = AV_RL32(src);
line_end = avpkt->data + stride;
for (line = 0; line < avctx->height; line++) {
uint16_t y_temp[6] = {0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000};
uint16_t u_temp[3] = {0x8000, 0x8000, 0x8000};
uint16_t v_temp[3] = {0x8000, 0x8000, 0x8000};
int x;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
for (x = 0; x < width; x += 6) {
uint32_t t;
if (width - x < 6 || line_end - src < 16) {
y = y_temp;
u = u_temp;
v = v_temp;
}
if (line_end - src < 4)
break;
t = AV_RL32(src);
src += 4;
*u++ = t << 6 & 0xFFC0;
*y++ = t >> 4 & 0xFFC0;
*v++ = t >> 14 & 0xFFC0;
if (src >= line_end - 1) {
*y = 0x80;
src++;
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (line_end - src < 4)
break;
}
t = AV_RL32(src);
src += 4;
*y++ = t << 6 & 0xFFC0;
*u++ = t >> 4 & 0xFFC0;
*y++ = t >> 14 & 0xFFC0;
if (src >= line_end - 2) {
if (!(width & 1)) {
*y = 0x80;
src += 2;
}
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (line_end - src < 4)
break;
}
t = AV_RL32(src);
src += 4;
@@ -114,15 +113,8 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
*y++ = t >> 4 & 0xFFC0;
*u++ = t >> 14 & 0xFFC0;
if (src >= line_end - 1) {
*y = 0x80;
src++;
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (line_end - src < 4)
break;
}
t = AV_RL32(src);
src += 4;
@@ -130,43 +122,34 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
*v++ = t >> 4 & 0xFFC0;
*y++ = t >> 14 & 0xFFC0;
if (src >= line_end - 2) {
if (width & 1) {
*y = 0x80;
src += 2;
}
line_end += stride;
y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
if (width - x < 6)
break;
}
}
if (x < width) {
y = x + (uint16_t *)(pic->data[0] + line * pic->linesize[0]);
u = x/2 + (uint16_t *)(pic->data[1] + line * pic->linesize[1]);
v = x/2 + (uint16_t *)(pic->data[2] + line * pic->linesize[2]);
memcpy(y, y_temp, sizeof(*y) * (width - x));
memcpy(u, u_temp, sizeof(*u) * (width - x + 1) / 2);
memcpy(v, v_temp, sizeof(*v) * (width - x + 1) / 2);
}
line_end += stride;
src = line_end - stride;
}
*got_frame = 1;
*(AVFrame*)data= *avctx->coded_frame;
return avpkt->size;
}
static av_cold int zero12v_decode_close(AVCodecContext *avctx)
{
AVFrame *pic = avctx->coded_frame;
if (pic->data[0])
avctx->release_buffer(avctx, pic);
av_freep(&avctx->coded_frame);
return 0;
}
AVCodec ff_zero12v_decoder = {
.name = "012v",
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_012V,
.init = zero12v_decode_init,
.close = zero12v_decode_close,
.decode = zero12v_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Uncompressed 4:2:2 10-bit"),
};

View File

@@ -24,6 +24,8 @@
* 4XM codec.
*/
#include "libavutil/avassert.h"
#include "libavutil/frame.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
@@ -31,7 +33,6 @@
#include "get_bits.h"
#include "internal.h"
#include "libavutil/avassert.h"
#define BLOCK_TYPE_VLC_BITS 5
#define ACDC_VLC_BITS 9
@@ -255,15 +256,15 @@ static av_cold void init_vlcs(FourXContext *f)
}
}
static void init_mv(FourXContext *f)
static void init_mv(FourXContext *f, int linesize)
{
int i;
for (i = 0; i < 256; i++) {
if (f->version > 1)
f->mv[i] = mv[i][0] + mv[i][1] * f->current_picture->linesize[0] / 2;
f->mv[i] = mv[i][0] + mv[i][1] * linesize / 2;
else
f->mv[i] = (i & 15) - 8 + ((i >> 4) - 8) * f->current_picture->linesize[0] / 2;
f->mv[i] = (i & 15) - 8 + ((i >> 4) - 8) * linesize / 2;
}
}
@@ -328,12 +329,12 @@ static inline void mcdc(uint16_t *dst, const uint16_t *src, int log2w,
}
break;
default:
av_assert2(0);
av_assert0(0);
}
}
static void decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
int log2w, int log2h, int stride)
static int decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
int log2w, int log2h, int stride)
{
const int index = size2index[log2h][log2w];
const int h = 1 << log2h;
@@ -342,57 +343,30 @@ static void decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
BLOCK_TYPE_VLC_BITS, 1);
uint16_t *start = (uint16_t *)f->last_picture->data[0];
uint16_t *end = start + stride * (f->avctx->height - h + 1) - (1 << log2w);
int ret;
int scale = 1;
unsigned dc = 0;
av_assert2(code >= 0 && code <= 6);
av_assert0(code >= 0 && code <= 6 && log2w >= 0);
if (code == 0) {
if (bytestream2_get_bytes_left(&f->g) < 1) {
av_log(f->avctx, AV_LOG_ERROR, "bytestream overread\n");
return;
}
src += f->mv[bytestream2_get_byteu(&f->g)];
if (start > src || src > end) {
av_log(f->avctx, AV_LOG_ERROR, "mv out of pic\n");
return;
}
mcdc(dst, src, log2w, h, stride, 1, 0);
} else if (code == 1) {
if (code == 1) {
log2h--;
decode_p_block(f, dst, src, log2w, log2h, stride);
decode_p_block(f, dst + (stride << log2h),
src + (stride << log2h), log2w, log2h, stride);
if ((ret = decode_p_block(f, dst, src, log2w, log2h, stride)) < 0)
return ret;
return decode_p_block(f, dst + (stride << log2h),
src + (stride << log2h),
log2w, log2h, stride);
} else if (code == 2) {
log2w--;
decode_p_block(f, dst , src, log2w, log2h, stride);
decode_p_block(f, dst + (1 << log2w),
src + (1 << log2w), log2w, log2h, stride);
} else if (code == 3 && f->version < 2) {
mcdc(dst, src, log2w, h, stride, 1, 0);
} else if (code == 4) {
if (bytestream2_get_bytes_left(&f->g) < 1) {
av_log(f->avctx, AV_LOG_ERROR, "bytestream overread\n");
return;
}
src += f->mv[bytestream2_get_byteu(&f->g)];
if (start > src || src > end) {
av_log(f->avctx, AV_LOG_ERROR, "mv out of pic\n");
return;
}
if (bytestream2_get_bytes_left(&f->g2) < 2){
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return;
}
mcdc(dst, src, log2w, h, stride, 1, bytestream2_get_le16u(&f->g2));
} else if (code == 5) {
if (bytestream2_get_bytes_left(&f->g2) < 2) {
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return;
}
mcdc(dst, src, log2w, h, stride, 0, bytestream2_get_le16u(&f->g2));
if ((ret = decode_p_block(f, dst , src, log2w, log2h, stride)) < 0)
return ret;
return decode_p_block(f, dst + (1 << log2w),
src + (1 << log2w),
log2w, log2h, stride);
} else if (code == 6) {
if (bytestream2_get_bytes_left(&f->g2) < 4) {
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return;
return AVERROR_INVALIDDATA;
}
if (log2w) {
dst[0] = bytestream2_get_le16u(&f->g2);
@@ -401,24 +375,73 @@ static void decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
dst[0] = bytestream2_get_le16u(&f->g2);
dst[stride] = bytestream2_get_le16u(&f->g2);
}
return 0;
}
if ((code&3)==0 && bytestream2_get_bytes_left(&f->g) < 1) {
av_log(f->avctx, AV_LOG_ERROR, "bytestream overread\n");
return AVERROR_INVALIDDATA;
}
if (code == 0) {
src += f->mv[bytestream2_get_byte(&f->g)];
} else if (code == 3 && f->version >= 2) {
return 0;
} else if (code == 4) {
src += f->mv[bytestream2_get_byte(&f->g)];
if (bytestream2_get_bytes_left(&f->g2) < 2){
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return AVERROR_INVALIDDATA;
}
dc = bytestream2_get_le16(&f->g2);
} else if (code == 5) {
if (bytestream2_get_bytes_left(&f->g2) < 2){
av_log(f->avctx, AV_LOG_ERROR, "wordstream overread\n");
return AVERROR_INVALIDDATA;
}
av_assert0(start <= src && src <= end);
scale = 0;
dc = bytestream2_get_le16(&f->g2);
}
if (start > src || src > end) {
av_log(f->avctx, AV_LOG_ERROR, "mv out of pic\n");
return AVERROR_INVALIDDATA;
}
mcdc(dst, src, log2w, h, stride, scale, dc);
return 0;
}
static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
static int decode_p_frame(FourXContext *f, AVFrame *frame,
const uint8_t *buf, int length)
{
int x, y;
const int width = f->avctx->width;
const int height = f->avctx->height;
uint16_t *src = (uint16_t *)f->last_picture->data[0];
uint16_t *dst = (uint16_t *)f->current_picture->data[0];
const int stride = f->current_picture->linesize[0] >> 1;
uint16_t *dst = (uint16_t *)frame->data[0];
const int stride = frame->linesize[0] >> 1;
uint16_t *src;
unsigned int bitstream_size, bytestream_size, wordstream_size, extra,
bytestream_offset, wordstream_offset;
int ret;
if (!f->last_picture->data[0]) {
if ((ret = ff_get_buffer(f->avctx, f->last_picture,
AV_GET_BUFFER_FLAG_REF)) < 0) {
return ret;
}
for (y=0; y<f->avctx->height; y++)
memset(f->last_picture->data[0] + y*f->last_picture->linesize[0], 0, 2*f->avctx->width);
}
src = (uint16_t *)f->last_picture->data[0];
if (f->version > 1) {
extra = 20;
if (length < extra)
return -1;
return AVERROR_INVALIDDATA;
bitstream_size = AV_RL32(buf + 8);
wordstream_size = AV_RL32(buf + 12);
bytestream_size = AV_RL32(buf + 16);
@@ -455,11 +478,12 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length)
bytestream2_init(&f->g, buf + bytestream_offset,
length - bytestream_offset);
init_mv(f);
init_mv(f, frame->linesize[0]);
for (y = 0; y < height; y += 8) {
for (x = 0; x < width; x += 8)
decode_p_block(f, dst + x, src + x, 3, 3, stride);
if ((ret = decode_p_block(f, dst + x, src + x, 3, 3, stride)) < 0)
return ret;
src += 8 * stride;
dst += 8 * stride;
}
@@ -482,8 +506,10 @@ static int decode_i_block(FourXContext *f, int16_t *block)
/* DC coef */
val = get_vlc2(&f->pre_gb, f->pre_vlc.table, ACDC_VLC_BITS, 3);
if (val >> 4)
if (val >> 4) {
av_log(f->avctx, AV_LOG_ERROR, "error dc run != 0\n");
return AVERROR_INVALIDDATA;
}
if (val)
val = get_xbits(&f->gb, val);
@@ -501,7 +527,12 @@ static int decode_i_block(FourXContext *f, int16_t *block)
if (code == 0xf0) {
i += 16;
} else {
level = get_xbits(&f->gb, code & 0xf);
if (code & 0xf) {
level = get_xbits(&f->gb, code & 0xf);
} else {
av_log(f->avctx, AV_LOG_ERROR, "0 coeff\n");
return AVERROR_INVALIDDATA;
}
i += code >> 4;
if (i >= 64) {
av_log(f->avctx, AV_LOG_ERROR, "run %d oveflow\n", i);
@@ -519,12 +550,12 @@ static int decode_i_block(FourXContext *f, int16_t *block)
return 0;
}
static inline void idct_put(FourXContext *f, int x, int y)
static inline void idct_put(FourXContext *f, AVFrame *frame, int x, int y)
{
int16_t (*block)[64] = f->block;
int stride = f->current_picture->linesize[0] >> 1;
int stride = frame->linesize[0] >> 1;
int i;
uint16_t *dst = ((uint16_t*)f->current_picture->data[0]) + y * stride + x;
uint16_t *dst = ((uint16_t*)frame->data[0]) + y * stride + x;
for (i = 0; i < 4; i++) {
block[i][0] += 0x80 * 8 * 8;
@@ -580,7 +611,8 @@ static int decode_i_mb(FourXContext *f)
}
static const uint8_t *read_huffman_tables(FourXContext *f,
const uint8_t * const buf, int buf_size)
const uint8_t * const buf,
int buf_size)
{
int frequency[512] = { 0 };
uint8_t flag[512];
@@ -603,6 +635,7 @@ static const uint8_t *read_huffman_tables(FourXContext *f,
av_log(f->avctx, AV_LOG_ERROR, "invalid data in read_huffman_tables\n");
return NULL;
}
for (i = start; i <= end; i++)
frequency[i] = *ptr++;
start = *ptr++;
@@ -682,14 +715,14 @@ static int mix(int c0, int c1)
return red / 3 * 1024 + green / 3 * 32 + blue / 3;
}
static int decode_i2_frame(FourXContext *f, const uint8_t *buf, int length)
static int decode_i2_frame(FourXContext *f, AVFrame *frame, const uint8_t *buf, int length)
{
int x, y, x2, y2;
const int width = f->avctx->width;
const int height = f->avctx->height;
const int mbs = (FFALIGN(width, 16) >> 4) * (FFALIGN(height, 16) >> 4);
uint16_t *dst = (uint16_t*)f->current_picture->data[0];
const int stride = f->current_picture->linesize[0]>>1;
uint16_t *dst = (uint16_t*)frame->data[0];
const int stride = frame->linesize[0]>>1;
const uint8_t *buf_end = buf + length;
GetByteContext g3;
@@ -709,9 +742,9 @@ static int decode_i2_frame(FourXContext *f, const uint8_t *buf, int length)
color[1] = bytestream2_get_le16u(&g3);
if (color[0] & 0x8000)
av_log(NULL, AV_LOG_ERROR, "unk bit 1\n");
av_log(f->avctx, AV_LOG_ERROR, "unk bit 1\n");
if (color[1] & 0x8000)
av_log(NULL, AV_LOG_ERROR, "unk bit 2\n");
av_log(f->avctx, AV_LOG_ERROR, "unk bit 2\n");
color[2] = mix(color[0], color[1]);
color[3] = mix(color[1], color[0]);
@@ -731,7 +764,7 @@ static int decode_i2_frame(FourXContext *f, const uint8_t *buf, int length)
return 0;
}
static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
static int decode_i_frame(FourXContext *f, AVFrame *frame, const uint8_t *buf, int length)
{
int x, y, ret;
const int width = f->avctx->width;
@@ -740,7 +773,10 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
unsigned int prestream_size;
const uint8_t *prestream;
if (bitstream_size > (1<<26) || length < bitstream_size + 12) {
if (bitstream_size > (1 << 26))
return AVERROR_INVALIDDATA;
if (length < bitstream_size + 12) {
av_log(f->avctx, AV_LOG_ERROR, "packet size too small\n");
return AVERROR_INVALIDDATA;
}
@@ -749,14 +785,13 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
prestream = buf + bitstream_size + 12;
if (prestream_size + bitstream_size + 12 != length
|| bitstream_size > (1 << 26)
|| prestream_size > (1 << 26)) {
av_log(f->avctx, AV_LOG_ERROR, "size mismatch %d %d %d\n",
prestream_size, bitstream_size, length);
return AVERROR_INVALIDDATA;
}
prestream = read_huffman_tables(f, prestream, buf + length - prestream);
prestream = read_huffman_tables(f, prestream, prestream_size);
if (!prestream) {
av_log(f->avctx, AV_LOG_ERROR, "Error reading Huffman tables.\n");
return AVERROR_INVALIDDATA;
@@ -785,7 +820,7 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length)
if ((ret = decode_i_mb(f)) < 0)
return ret;
idct_put(f, x, y);
idct_put(f, frame, x, y);
}
}
@@ -802,33 +837,40 @@ static int decode_frame(AVCodecContext *avctx, void *data,
int buf_size = avpkt->size;
FourXContext *const f = avctx->priv_data;
AVFrame *picture = data;
AVFrame *p;
int i, frame_4cc, frame_size, ret;
if (buf_size < 12)
if (buf_size < 20)
return AVERROR_INVALIDDATA;
frame_4cc = AV_RL32(buf);
if (buf_size != AV_RL32(buf + 4) + 8 || buf_size < 20)
av_assert0(avctx->width % 16 == 0 && avctx->height % 16 == 0);
if (buf_size < AV_RL32(buf + 4) + 8) {
av_log(f->avctx, AV_LOG_ERROR, "size mismatch %d %d\n",
buf_size, AV_RL32(buf + 4));
return AVERROR_INVALIDDATA;
}
frame_4cc = AV_RL32(buf);
if (frame_4cc == AV_RL32("cfrm")) {
int free_index = -1;
int id, whole_size;
const int data_size = buf_size - 20;
const int id = AV_RL32(buf + 12);
const int whole_size = AV_RL32(buf + 16);
CFrameBuffer *cfrm;
if (data_size < 0 || whole_size < 0) {
av_log(f->avctx, AV_LOG_ERROR, "sizes invalid\n");
return AVERROR_INVALIDDATA;
}
if (f->version <= 1) {
av_log(f->avctx, AV_LOG_ERROR, "cfrm in version %d\n", f->version);
return AVERROR_INVALIDDATA;
}
id = AV_RL32(buf + 12);
whole_size = AV_RL32(buf + 16);
if (data_size < 0 || whole_size < 0) {
av_log(f->avctx, AV_LOG_ERROR, "sizes invalid\n");
return AVERROR_INVALIDDATA;
}
for (i = 0; i < CFRAME_BUFFER_COUNT; i++)
if (f->cfrm[i].id && f->cfrm[i].id < avctx->frame_number)
av_log(f->avctx, AV_LOG_ERROR, "lost c frame %d\n",
@@ -869,6 +911,9 @@ static int decode_frame(AVCodecContext *avctx, void *data,
av_log(f->avctx, AV_LOG_ERROR, "cframe id mismatch %d %d\n",
id, avctx->frame_number);
if (f->version <= 1)
return AVERROR_INVALIDDATA;
cfrm->size = cfrm->id = 0;
frame_4cc = AV_RL32("pfrm");
} else
@@ -880,43 +925,27 @@ static int decode_frame(AVCodecContext *avctx, void *data,
FFSWAP(AVFrame*, f->current_picture, f->last_picture);
p = f->current_picture;
avctx->coded_frame = p;
// alternatively we would have to use our own buffer management
avctx->flags |= CODEC_FLAG_EMU_EDGE;
p->reference= 3;
if ((ret = avctx->reget_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n");
if ((ret = ff_reget_buffer(avctx, f->current_picture)) < 0)
return ret;
}
if (frame_4cc == AV_RL32("ifr2")) {
p->pict_type= AV_PICTURE_TYPE_I;
if ((ret = decode_i2_frame(f, buf - 4, frame_size + 4)) < 0) {
f->current_picture->pict_type = AV_PICTURE_TYPE_I;
if ((ret = decode_i2_frame(f, f->current_picture, buf - 4, frame_size + 4)) < 0) {
av_log(f->avctx, AV_LOG_ERROR, "decode i2 frame failed\n");
return ret;
}
} else if (frame_4cc == AV_RL32("ifrm")) {
p->pict_type= AV_PICTURE_TYPE_I;
if ((ret = decode_i_frame(f, buf, frame_size)) < 0) {
f->current_picture->pict_type = AV_PICTURE_TYPE_I;
if ((ret = decode_i_frame(f, f->current_picture, buf, frame_size)) < 0) {
av_log(f->avctx, AV_LOG_ERROR, "decode i frame failed\n");
return ret;
}
} else if (frame_4cc == AV_RL32("pfrm") || frame_4cc == AV_RL32("pfr2")) {
if (!f->last_picture->data[0]) {
f->last_picture->reference = 3;
if ((ret = ff_get_buffer(avctx, f->last_picture)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return ret;
}
for (i=0; i<avctx->height; i++)
memset(f->last_picture->data[0] + i*f->last_picture->linesize[0], 0, 2*avctx->width);
}
p->pict_type = AV_PICTURE_TYPE_P;
if ((ret = decode_p_frame(f, buf, frame_size)) < 0) {
f->current_picture->pict_type = AV_PICTURE_TYPE_P;
if ((ret = decode_p_frame(f, f->current_picture, buf, frame_size)) < 0) {
av_log(f->avctx, AV_LOG_ERROR, "decode p frame failed\n");
return ret;
}
@@ -928,9 +957,10 @@ static int decode_frame(AVCodecContext *avctx, void *data,
buf_size);
}
p->key_frame = p->pict_type == AV_PICTURE_TYPE_I;
f->current_picture->key_frame = f->current_picture->pict_type == AV_PICTURE_TYPE_I;
*picture = *p;
if ((ret = av_frame_ref(picture, f->current_picture)) < 0)
return ret;
*got_frame = 1;
emms_c();
@@ -961,13 +991,10 @@ static av_cold int decode_init(AVCodecContext *avctx)
else
avctx->pix_fmt = AV_PIX_FMT_BGR555;
f->current_picture = avcodec_alloc_frame();
f->last_picture = avcodec_alloc_frame();
if (!f->current_picture || !f->last_picture) {
avcodec_free_frame(&f->current_picture);
avcodec_free_frame(&f->last_picture);
f->current_picture = av_frame_alloc();
f->last_picture = av_frame_alloc();
if (!f->current_picture || !f->last_picture)
return AVERROR(ENOMEM);
}
return 0;
}
@@ -985,18 +1012,15 @@ static av_cold int decode_end(AVCodecContext *avctx)
f->cfrm[i].allocated_size = 0;
}
ff_free_vlc(&f->pre_vlc);
if (f->current_picture->data[0])
avctx->release_buffer(avctx, f->current_picture);
if (f->last_picture->data[0])
avctx->release_buffer(avctx, f->last_picture);
avcodec_free_frame(&f->current_picture);
avcodec_free_frame(&f->last_picture);
av_frame_free(&f->current_picture);
av_frame_free(&f->last_picture);
return 0;
}
AVCodec ff_fourxm_decoder = {
.name = "4xm",
.long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_4XM,
.priv_data_size = sizeof(FourXContext),
@@ -1004,5 +1028,4 @@ AVCodec ff_fourxm_decoder = {
.close = decode_end,
.decode = decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("4X Movie"),
};

View File

@@ -46,7 +46,6 @@ static const enum AVPixelFormat pixfmt_rgb24[] = {
typedef struct EightBpsContext {
AVCodecContext *avctx;
AVFrame pic;
unsigned char planes;
unsigned char planemap[4];
@@ -57,6 +56,7 @@ typedef struct EightBpsContext {
static int decode_frame(AVCodecContext *avctx, void *data,
int *got_frame, AVPacket *avpkt)
{
AVFrame *frame = data;
const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size;
EightBpsContext * const c = avctx->priv_data;
@@ -64,21 +64,16 @@ static int decode_frame(AVCodecContext *avctx, void *data,
unsigned char *pixptr, *pixptr_end;
unsigned int height = avctx->height; // Real image height
unsigned int dlen, p, row;
const unsigned char *lp, *dp;
const unsigned char *lp, *dp, *ep;
unsigned char count;
unsigned int planes = c->planes;
unsigned char *planemap = c->planemap;
int ret;
if (c->pic.data[0])
avctx->release_buffer(avctx, &c->pic);
c->pic.reference = 0;
c->pic.buffer_hints = FF_BUFFER_HINTS_VALID;
if ((ret = ff_get_buffer(avctx, &c->pic)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
}
ep = encoded + buf_size;
/* Set data pointer after line lengths */
dp = encoded + planes * (height << 1);
@@ -89,21 +84,21 @@ static int decode_frame(AVCodecContext *avctx, void *data,
/* Decode a plane */
for (row = 0; row < height; row++) {
pixptr = c->pic.data[0] + row * c->pic.linesize[0] + planemap[p];
pixptr_end = pixptr + c->pic.linesize[0];
if(lp - encoded + row*2 + 1 >= buf_size)
return -1;
pixptr = frame->data[0] + row * frame->linesize[0] + planemap[p];
pixptr_end = pixptr + frame->linesize[0];
if (ep - lp < row * 2 + 2)
return AVERROR_INVALIDDATA;
dlen = av_be2ne16(*(const unsigned short *)(lp + row * 2));
/* Decode a row of this plane */
while (dlen > 0) {
if (dp + 1 >= buf + buf_size)
if (ep - dp <= 1)
return AVERROR_INVALIDDATA;
if ((count = *dp++) <= 127) {
count++;
dlen -= count + 1;
if (pixptr + count * planes > pixptr_end)
if (pixptr_end - pixptr < count * planes)
break;
if (dp + count > buf + buf_size)
if (ep - dp < count)
return AVERROR_INVALIDDATA;
while (count--) {
*pixptr = *dp++;
@@ -111,7 +106,7 @@ static int decode_frame(AVCodecContext *avctx, void *data,
}
} else {
count = 257 - count;
if (pixptr + count * planes > pixptr_end)
if (pixptr_end - pixptr < count * planes)
break;
while (count--) {
*pixptr = *dp;
@@ -129,15 +124,14 @@ static int decode_frame(AVCodecContext *avctx, void *data,
AV_PKT_DATA_PALETTE,
NULL);
if (pal) {
c->pic.palette_has_changed = 1;
frame->palette_has_changed = 1;
memcpy(c->pal, pal, AVPALETTE_SIZE);
}
memcpy (c->pic.data[1], c->pal, AVPALETTE_SIZE);
memcpy (frame->data[1], c->pal, AVPALETTE_SIZE);
}
*got_frame = 1;
*(AVFrame*)data = c->pic;
/* always report that the buffer was completely consumed */
return buf_size;
@@ -148,9 +142,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
EightBpsContext * const c = avctx->priv_data;
c->avctx = avctx;
c->pic.data[0] = NULL;
avcodec_get_frame_defaults(&c->pic);
switch (avctx->bits_per_coded_sample) {
case 8:
avctx->pix_fmt = AV_PIX_FMT_PAL8;
@@ -167,17 +159,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
case 32:
avctx->pix_fmt = AV_PIX_FMT_RGB32;
c->planes = 4;
#if HAVE_BIGENDIAN
c->planemap[0] = 1; // 1st plane is red
c->planemap[1] = 2; // 2nd plane is green
c->planemap[2] = 3; // 3rd plane is blue
c->planemap[3] = 0; // 4th plane is alpha
#else
c->planemap[0] = 2; // 1st plane is red
c->planemap[1] = 1; // 2nd plane is green
c->planemap[2] = 0; // 3rd plane is blue
c->planemap[3] = 3; // 4th plane is alpha
#endif
/* handle planemap setup later for decoding rgb24 data as rbg32 */
break;
default:
av_log(avctx, AV_LOG_ERROR, "Error: Unsupported color depth: %u.\n",
@@ -185,27 +167,22 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
return 0;
}
static av_cold int decode_end(AVCodecContext *avctx)
{
EightBpsContext * const c = avctx->priv_data;
if (c->pic.data[0])
avctx->release_buffer(avctx, &c->pic);
if (avctx->pix_fmt == AV_PIX_FMT_RGB32) {
c->planemap[0] = HAVE_BIGENDIAN ? 1 : 2; // 1st plane is red
c->planemap[1] = HAVE_BIGENDIAN ? 2 : 1; // 2nd plane is green
c->planemap[2] = HAVE_BIGENDIAN ? 3 : 0; // 3rd plane is blue
c->planemap[3] = HAVE_BIGENDIAN ? 0 : 3; // 4th plane is alpha
}
return 0;
}
AVCodec ff_eightbps_decoder = {
.name = "8bps",
.long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_8BPS,
.priv_data_size = sizeof(EightBpsContext),
.init = decode_init,
.close = decode_end,
.decode = decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("QuickTime 8BPS video"),
};

View File

@@ -136,10 +136,8 @@ static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,
/* get output buffer */
frame->nb_samples = buf_size * 2;
if ((ret = ff_get_buffer(avctx, frame)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
return ret;
}
for (ch = 0; ch < avctx->channels; ch++) {
delta_decode(frame->data[ch], &esc->data[ch][esc->data_idx],
@@ -189,6 +187,7 @@ static av_cold int eightsvx_decode_close(AVCodecContext *avctx)
#if CONFIG_EIGHTSVX_FIB_DECODER
AVCodec ff_eightsvx_fib_decoder = {
.name = "8svx_fib",
.long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_8SVX_FIB,
.priv_data_size = sizeof (EightSvxContext),
@@ -196,7 +195,6 @@ AVCodec ff_eightsvx_fib_decoder = {
.decode = eightsvx_decode_frame,
.close = eightsvx_decode_close,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("8SVX fibonacci"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
AV_SAMPLE_FMT_NONE },
};
@@ -204,6 +202,7 @@ AVCodec ff_eightsvx_fib_decoder = {
#if CONFIG_EIGHTSVX_EXP_DECODER
AVCodec ff_eightsvx_exp_decoder = {
.name = "8svx_exp",
.long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_8SVX_EXP,
.priv_data_size = sizeof (EightSvxContext),
@@ -211,7 +210,6 @@ AVCodec ff_eightsvx_exp_decoder = {
.decode = eightsvx_decode_frame,
.close = eightsvx_decode_close,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("8SVX exponential"),
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
AV_SAMPLE_FMT_NONE },
};

View File

@@ -20,11 +20,8 @@ OBJS = allcodecs.o \
bitstream.o \
bitstream_filter.o \
codec_desc.o \
dsputil.o \
faanidct.o \
fmtconvert.o \
imgconvert.o \
jrevdct.o \
mathtables.o \
options.o \
parser.o \
@@ -32,9 +29,10 @@ OBJS = allcodecs.o \
rawdec.o \
resample.o \
resample2.o \
simple_idct.o \
utils.o \
OBJS-$(HAVE_MSVCRT) += file_open.o
# parts needed for many different codecs
OBJS-$(CONFIG_AANDCTTABLES) += aandcttab.o
OBJS-$(CONFIG_AC3DSP) += ac3dsp.o
@@ -42,21 +40,26 @@ OBJS-$(CONFIG_AUDIO_FRAME_QUEUE) += audio_frame_queue.o
OBJS-$(CONFIG_CRYSTALHD) += crystalhd.o
OBJS-$(CONFIG_DCT) += dct.o dct32_fixed.o dct32_float.o
OBJS-$(CONFIG_DXVA2) += dxva2.o
OBJS-$(CONFIG_DSPUTIL) += dsputil.o faanidct.o \
simple_idct.o jrevdct.o
OBJS-$(CONFIG_ENCODERS) += faandct.o jfdctfst.o jfdctint.o
OBJS-$(CONFIG_ERROR_RESILIENCE) += error_resilience.o
OBJS-$(CONFIG_EXIF) += exif.o tiff_common.o
FFT-OBJS-$(CONFIG_HARDCODED_TABLES) += cos_tables.o cos_fixed_tables.o
OBJS-$(CONFIG_FFT) += avfft.o fft_fixed.o fft_float.o \
fft_fixed_32.o fft_init_table.o \
$(FFT-OBJS-yes)
OBJS-$(CONFIG_GOLOMB) += golomb.o
OBJS-$(CONFIG_H264CHROMA) += h264chroma.o
OBJS-$(CONFIG_H264DSP) += h264dsp.o h264idct.o
OBJS-$(CONFIG_H264PRED) += h264pred.o
OBJS-$(CONFIG_H264QPEL) += h264qpel.o
OBJS-$(CONFIG_HPELDSP) += hpeldsp.o
OBJS-$(CONFIG_HUFFMAN) += huffman.o
OBJS-$(CONFIG_LIBXVID) += libxvid_rc.o
OBJS-$(CONFIG_LPC) += lpc.o
OBJS-$(CONFIG_LSP) += lsp.o
OBJS-$(CONFIG_MDCT) += mdct_fixed.o mdct_float.o
OBJS-$(CONFIG_MDCT) += mdct_fixed.o mdct_float.o mdct_fixed_32.o
OBJS-$(CONFIG_MPEGAUDIO) += mpegaudio.o mpegaudiodata.o \
mpegaudiodecheader.o
OBJS-$(CONFIG_MPEGAUDIODSP) += mpegaudiodsp.o \
@@ -76,7 +79,7 @@ OBJS-$(CONFIG_VDPAU) += vdpau.o
OBJS-$(CONFIG_VIDEODSP) += videodsp.o
OBJS-$(CONFIG_VP3DSP) += vp3dsp.o
# decoders/encoders/hardware accelerators
# decoders/encoders
OBJS-$(CONFIG_ZERO12V_DECODER) += 012v.o
OBJS-$(CONFIG_A64MULTI_ENCODER) += a64multienc.o elbg.o
OBJS-$(CONFIG_A64MULTI5_ENCODER) += a64multienc.o elbg.o
@@ -92,6 +95,7 @@ OBJS-$(CONFIG_AC3_DECODER) += ac3dec.o ac3dec_data.o ac3.o kbdwin.o
OBJS-$(CONFIG_AC3_ENCODER) += ac3enc_float.o ac3enc.o ac3tab.o \
ac3.o kbdwin.o
OBJS-$(CONFIG_AC3_FIXED_ENCODER) += ac3enc_fixed.o ac3enc.o ac3tab.o ac3.o
OBJS-$(CONFIG_AIC_DECODER) += aic.o
OBJS-$(CONFIG_ALAC_DECODER) += alac.o alac_data.o
OBJS-$(CONFIG_ALAC_ENCODER) += alacenc.o alac_data.o
OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mpeg4audio.o
@@ -111,6 +115,8 @@ OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpeg.o \
OBJS-$(CONFIG_ANM_DECODER) += anm.o
OBJS-$(CONFIG_ANSI_DECODER) += ansi.o cga_data.o
OBJS-$(CONFIG_APE_DECODER) += apedec.o
OBJS-$(CONFIG_SSA_DECODER) += assdec.o ass.o ass_split.o
OBJS-$(CONFIG_SSA_ENCODER) += assenc.o ass.o
OBJS-$(CONFIG_ASS_DECODER) += assdec.o ass.o ass_split.o
OBJS-$(CONFIG_ASS_ENCODER) += assenc.o ass.o
OBJS-$(CONFIG_ASV1_DECODER) += asvdec.o asv.o mpeg12data.o
@@ -156,7 +162,7 @@ OBJS-$(CONFIG_CPIA_DECODER) += cpia.o
OBJS-$(CONFIG_CSCD_DECODER) += cscd.o
OBJS-$(CONFIG_CYUV_DECODER) += cyuv.o
OBJS-$(CONFIG_DCA_DECODER) += dcadec.o dca.o dcadsp.o \
dca_parser.o synth_filter.o
synth_filter.o
OBJS-$(CONFIG_DCA_ENCODER) += dcaenc.o dca.o
OBJS-$(CONFIG_DIRAC_DECODER) += diracdec.o dirac.o diracdsp.o \
dirac_arith.o mpeg12data.o dirac_dwt.o
@@ -182,8 +188,8 @@ OBJS-$(CONFIG_EAMAD_DECODER) += eamad.o eaidct.o mpeg12.o \
mpeg12data.o
OBJS-$(CONFIG_EATGQ_DECODER) += eatgq.o eaidct.o
OBJS-$(CONFIG_EATGV_DECODER) += eatgv.o
OBJS-$(CONFIG_EATQI_DECODER) += eatqi.o eaidct.o mpeg12.o \
mpeg12data.o
OBJS-$(CONFIG_EATQI_DECODER) += eatqi.o eaidct.o mpeg12dec.o \
mpeg12.o mpeg12data.o
OBJS-$(CONFIG_EIGHTBPS_DECODER) += 8bps.o
OBJS-$(CONFIG_EIGHTSVX_EXP_DECODER) += 8svx.o
OBJS-$(CONFIG_EIGHTSVX_FIB_DECODER) += 8svx.o
@@ -206,6 +212,7 @@ OBJS-$(CONFIG_FLIC_DECODER) += flicvideo.o
OBJS-$(CONFIG_FOURXM_DECODER) += 4xm.o
OBJS-$(CONFIG_FRAPS_DECODER) += fraps.o
OBJS-$(CONFIG_FRWU_DECODER) += frwu.o
OBJS-$(CONFIG_G2M_DECODER) += g2meet.o mjpeg.o
OBJS-$(CONFIG_G723_1_DECODER) += g723_1.o acelp_vectors.o \
celp_filters.o celp_math.o
OBJS-$(CONFIG_G723_1_ENCODER) += g723_1.o acelp_vectors.o celp_math.o
@@ -214,24 +221,22 @@ OBJS-$(CONFIG_GIF_DECODER) += gifdec.o lzw.o
OBJS-$(CONFIG_GIF_ENCODER) += gif.o lzwenc.o
OBJS-$(CONFIG_GSM_DECODER) += gsmdec.o gsmdec_data.o msgsmdec.o
OBJS-$(CONFIG_GSM_MS_DECODER) += gsmdec.o gsmdec_data.o msgsmdec.o
OBJS-$(CONFIG_H261_DECODER) += h261dec.o h261.o h261data.o
OBJS-$(CONFIG_H261_ENCODER) += h261enc.o h261.o h261data.o
OBJS-$(CONFIG_H261_DECODER) += h261dec.o h261data.o h261.o
OBJS-$(CONFIG_H261_ENCODER) += h261enc.o h261data.o h261.o
OBJS-$(CONFIG_H263_DECODER) += h263dec.o h263.o ituh263dec.o \
mpeg4video.o mpeg4videodec.o flvdec.o\
intelh263dec.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_H263_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_H263_ENCODER) += mpeg4videoenc.o mpeg4video.o \
h263.o ituh263enc.o flvenc.o
OBJS-$(CONFIG_H264_DECODER) += h264.o \
h264_loopfilter.o h264_direct.o \
cabac.o h264_sei.o h264_ps.o \
h264_refs.o h264_cavlc.o h264_cabac.o
OBJS-$(CONFIG_H264_DXVA2_HWACCEL) += dxva2_h264.o
OBJS-$(CONFIG_H264_VAAPI_HWACCEL) += vaapi_h264.o
OBJS-$(CONFIG_H264_VDA_HWACCEL) += vda_h264.o
OBJS-$(CONFIG_H264_VDA_DECODER) += vda_h264_dec.o
OBJS-$(CONFIG_H264_VDPAU_HWACCEL) += vdpau_h264.o
OBJS-$(CONFIG_HEVC_DECODER) += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o \
hevc_cabac.o hevc_refs.o hevcpred.o \
hevcdsp.o hevc_filter.o cabac.o
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o huffyuvdec.o
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o huffyuvenc.o
OBJS-$(CONFIG_IAC_DECODER) += imc.o
@@ -247,8 +252,10 @@ OBJS-$(CONFIG_INDEO5_DECODER) += indeo5.o ivi_common.o ivi_dsp.o
OBJS-$(CONFIG_INTERPLAY_DPCM_DECODER) += dpcm.o
OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
OBJS-$(CONFIG_JACOSUB_DECODER) += jacosubdec.o ass.o
OBJS-$(CONFIG_JPEG2000_DECODER) += j2kdec.o mqcdec.o mqc.o j2k.o j2k_dwt.o
OBJS-$(CONFIG_JPEG2000_ENCODER) += j2kenc.o mqcenc.o mqc.o j2k.o j2k_dwt.o
OBJS-$(CONFIG_JPEG2000_ENCODER) += j2kenc.o mqcenc.o mqc.o jpeg2000.o \
jpeg2000dwt.o
OBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dec.o jpeg2000.o \
jpeg2000dwt.o mqcdec.o mqc.o
OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o \
mjpegdec.o mjpeg.o
OBJS-$(CONFIG_JPEGLS_ENCODER) += jpeglsenc.o jpegls.o
@@ -261,6 +268,8 @@ OBJS-$(CONFIG_LOCO_DECODER) += loco.o
OBJS-$(CONFIG_MACE3_DECODER) += mace.o
OBJS-$(CONFIG_MACE6_DECODER) += mace.o
OBJS-$(CONFIG_MDEC_DECODER) += mdec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_METASOUND_DECODER) += metasound.o metasound_data.o \
twinvq.o
OBJS-$(CONFIG_MICRODVD_DECODER) += microdvddec.o ass.o
OBJS-$(CONFIG_MIMIC_DECODER) += mimic.o
OBJS-$(CONFIG_MJPEG_DECODER) += mjpegdec.o mjpeg.o
@@ -288,30 +297,23 @@ OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o
OBJS-$(CONFIG_MPEGVIDEO_DECODER) += mpeg12.o mpeg12data.o \
mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG_XVMC_DECODER) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG1_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12.o \
timecode.o
OBJS-$(CONFIG_MPEG2_DXVA2_HWACCEL) += dxva2_mpeg2.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o
OBJS-$(CONFIG_MPEG2_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12.o
OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG2VIDEO_ENCODER) += mpeg12enc.o mpeg12.o \
timecode.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o
OBJS-$(CONFIG_MPEG4_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_MPL2_DECODER) += mpl2dec.o ass.o
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_MSMPEG4V2_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V2_ENCODER) += msmpeg4.o msmpeg4enc.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
h263.o
OBJS-$(CONFIG_MSMPEG4V3_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V3_DECODER) += msmpeg4.o msmpeg4data.o h263dec.o \
h263.o ituh263dec.o mpeg4videodec.o
OBJS-$(CONFIG_MSMPEG4V3_ENCODER) += msmpeg4.o msmpeg4enc.o msmpeg4data.o \
h263dec.o h263.o ituh263dec.o \
mpeg4videodec.o
h263.o
OBJS-$(CONFIG_MSRLE_DECODER) += msrle.o msrledec.o
OBJS-$(CONFIG_MSA1_DECODER) += mss3.o mss34dsp.o
OBJS-$(CONFIG_MSS1_DECODER) += mss1.o mss12.o
@@ -329,27 +331,27 @@ OBJS-$(CONFIG_NUV_DECODER) += nuv.o rtjpeg.o
OBJS-$(CONFIG_PAF_VIDEO_DECODER) += paf.o
OBJS-$(CONFIG_PAF_AUDIO_DECODER) += paf.o
OBJS-$(CONFIG_PAM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PAM_ENCODER) += pamenc.o pnm.o
OBJS-$(CONFIG_PAM_ENCODER) += pamenc.o
OBJS-$(CONFIG_PBM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PBM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PBM_ENCODER) += pnmenc.o
OBJS-$(CONFIG_PCX_DECODER) += pcx.o
OBJS-$(CONFIG_PCX_ENCODER) += pcxenc.o
OBJS-$(CONFIG_PGM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PGM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PGM_ENCODER) += pnmenc.o
OBJS-$(CONFIG_PGMYUV_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PGMYUV_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PGMYUV_ENCODER) += pnmenc.o
OBJS-$(CONFIG_PGSSUB_DECODER) += pgssubdec.o
OBJS-$(CONFIG_PICTOR_DECODER) += pictordec.o cga_data.o
OBJS-$(CONFIG_PJS_DECODER) += textdec.o ass.o
OBJS-$(CONFIG_PNG_DECODER) += png.o pngdec.o pngdsp.o
OBJS-$(CONFIG_PNG_ENCODER) += png.o pngenc.o
OBJS-$(CONFIG_PPM_DECODER) += pnmdec.o pnm.o
OBJS-$(CONFIG_PPM_ENCODER) += pnmenc.o pnm.o
OBJS-$(CONFIG_PRORES_DECODER) += proresdec2.o proresdsp.o
OBJS-$(CONFIG_PPM_ENCODER) += pnmenc.o
OBJS-$(CONFIG_PRORES_DECODER) += proresdec2.o proresdsp.o proresdata.o
OBJS-$(CONFIG_PRORES_LGPL_DECODER) += proresdec_lgpl.o proresdsp.o proresdata.o
OBJS-$(CONFIG_PRORES_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_ANATOLIY_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_KOSTYA_ENCODER) += proresenc_kostya.o proresdata.o proresdsp.o
OBJS-$(CONFIG_PRORES_AW_ENCODER) += proresenc_anatoliy.o
OBJS-$(CONFIG_PRORES_KS_ENCODER) += proresenc_kostya.o proresdata.o proresdsp.o
OBJS-$(CONFIG_PTX_DECODER) += ptx.o
OBJS-$(CONFIG_QCELP_DECODER) += qcelpdec.o \
celp_filters.o acelp_vectors.o \
@@ -384,6 +386,7 @@ OBJS-$(CONFIG_RV30_DECODER) += rv30.o rv34.o rv30dsp.o rv34dsp.o
OBJS-$(CONFIG_RV40_DECODER) += rv40.o rv34.o rv34dsp.o rv40dsp.o
OBJS-$(CONFIG_SAMI_DECODER) += samidec.o ass.o
OBJS-$(CONFIG_S302M_DECODER) += s302m.o
OBJS-$(CONFIG_S302M_ENCODER) += s302menc.o
OBJS-$(CONFIG_SANM_DECODER) += sanm.o
OBJS-$(CONFIG_SGI_DECODER) += sgidec.o
OBJS-$(CONFIG_SGI_ENCODER) += sgienc.o rle.o
@@ -396,6 +399,7 @@ OBJS-$(CONFIG_SIPR_DECODER) += sipr.o acelp_pitch_delay.o \
OBJS-$(CONFIG_SMACKAUD_DECODER) += smacker.o
OBJS-$(CONFIG_SMACKER_DECODER) += smacker.o
OBJS-$(CONFIG_SMC_DECODER) += smc.o
OBJS-$(CONFIG_SMVJPEG_DECODER) += smvjpegdec.o
OBJS-$(CONFIG_SNOW_DECODER) += snowdec.o snow.o snow_dwt.o
OBJS-$(CONFIG_SNOW_ENCODER) += snowenc.o snow.o snow_dwt.o \
h263.o ituh263enc.o
@@ -427,7 +431,7 @@ OBJS-$(CONFIG_TARGA_Y216_DECODER) += targa_y216dec.o
OBJS-$(CONFIG_THEORA_DECODER) += xiph.o
OBJS-$(CONFIG_THP_DECODER) += mjpegdec.o mjpeg.o
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o
OBJS-$(CONFIG_TMV_DECODER) += tmv.o cga_data.o
OBJS-$(CONFIG_TRUEHD_DECODER) += mlpdec.o mlpdsp.o
@@ -436,8 +440,9 @@ OBJS-$(CONFIG_TRUEMOTION2_DECODER) += truemotion2.o
OBJS-$(CONFIG_TRUESPEECH_DECODER) += truespeech.o
OBJS-$(CONFIG_TSCC_DECODER) += tscc.o msrledec.o
OBJS-$(CONFIG_TSCC2_DECODER) += tscc2.o
OBJS-$(CONFIG_TTA_DECODER) += tta.o
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvq.o
OBJS-$(CONFIG_TTA_DECODER) += tta.o ttadata.o
OBJS-$(CONFIG_TTA_ENCODER) += ttaenc.o ttadata.o
OBJS-$(CONFIG_TWINVQ_DECODER) += twinvqdec.o twinvq.o
OBJS-$(CONFIG_TXD_DECODER) += txd.o s3tc.o
OBJS-$(CONFIG_ULTI_DECODER) += ulti.o
OBJS-$(CONFIG_UTVIDEO_DECODER) += utvideodec.o utvideo.o
@@ -454,11 +459,8 @@ OBJS-$(CONFIG_V210X_DECODER) += v210x.o
OBJS-$(CONFIG_VB_DECODER) += vb.o
OBJS-$(CONFIG_VBLE_DECODER) += vble.o
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1.o vc1data.o vc1dsp.o \
msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o
OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o wmv2dsp.o
OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o
OBJS-$(CONFIG_VMDAUDIO_DECODER) += vmdav.o
OBJS-$(CONFIG_VMDVIDEO_DECODER) += vmdav.o
@@ -473,9 +475,13 @@ OBJS-$(CONFIG_VP5_DECODER) += vp5.o vp56.o vp56data.o vp56dsp.o \
OBJS-$(CONFIG_VP6_DECODER) += vp6.o vp56.o vp56data.o vp56dsp.o \
vp6dsp.o vp56rac.o
OBJS-$(CONFIG_VP8_DECODER) += vp8.o vp8dsp.o vp56rac.o
OBJS-$(CONFIG_VP9_DECODER) += vp9.o vp9dsp.o vp56rac.o
OBJS-$(CONFIG_VPLAYER_DECODER) += textdec.o ass.o
OBJS-$(CONFIG_VQA_DECODER) += vqavideo.o
OBJS-$(CONFIG_WAVPACK_DECODER) += wavpack.o
OBJS-$(CONFIG_WAVPACK_ENCODER) += wavpackenc.o
OBJS-$(CONFIG_WEBP_DECODER) += vp8.o vp8dsp.o vp56rac.o
OBJS-$(CONFIG_WEBP_DECODER) += webp.o
OBJS-$(CONFIG_WEBVTT_DECODER) += webvttdec.o
OBJS-$(CONFIG_WMALOSSLESS_DECODER) += wmalosslessdec.o wma_common.o
OBJS-$(CONFIG_WMAPRO_DECODER) += wmaprodec.o wma.o wma_common.o
@@ -486,13 +492,12 @@ OBJS-$(CONFIG_WMAV2_ENCODER) += wmaenc.o wma.o wma_common.o aactab.o
OBJS-$(CONFIG_WMAVOICE_DECODER) += wmavoice.o \
celp_filters.o \
acelp_vectors.o acelp_filters.o
OBJS-$(CONFIG_WMV1_DECODER) += msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_WMV1_DECODER) += msmpeg4dec.o msmpeg4.o msmpeg4data.o
OBJS-$(CONFIG_WMV2_DECODER) += wmv2dec.o wmv2.o wmv2dsp.o \
msmpeg4.o msmpeg4data.o \
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o
OBJS-$(CONFIG_WMV2_ENCODER) += wmv2enc.o wmv2.o wmv2dsp.o \
msmpeg4.o msmpeg4enc.o msmpeg4data.o \
mpeg4videodec.o ituh263dec.o h263dec.o
msmpeg4.o msmpeg4enc.o msmpeg4data.o
OBJS-$(CONFIG_WNV1_DECODER) += wnv1.o
OBJS-$(CONFIG_WS_SND1_DECODER) += ws-snd1.o
OBJS-$(CONFIG_XAN_DPCM_DECODER) += dpcm.o
@@ -522,8 +527,8 @@ OBJS-$(CONFIG_ZMBV_ENCODER) += zmbvenc.o
# (AD)PCM decoders/encoders
OBJS-$(CONFIG_PCM_ALAW_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_ALAW_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_BLURAY_DECODER) += pcm-mpeg.o
OBJS-$(CONFIG_PCM_DVD_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_BLURAY_DECODER) += pcm-bluray.o
OBJS-$(CONFIG_PCM_DVD_DECODER) += pcm-dvd.o
OBJS-$(CONFIG_PCM_F32BE_DECODER) += pcm.o
OBJS-$(CONFIG_PCM_F32BE_ENCODER) += pcm.o
OBJS-$(CONFIG_PCM_F32LE_DECODER) += pcm.o
@@ -582,6 +587,7 @@ OBJS-$(CONFIG_ADPCM_ADX_DECODER) += adxdec.o adx.o
OBJS-$(CONFIG_ADPCM_ADX_ENCODER) += adxenc.o adx.o
OBJS-$(CONFIG_ADPCM_AFC_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_CT_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_DTK_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_MAXIS_XA_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_R1_DECODER) += adpcm.o adpcm_data.o
@@ -602,6 +608,7 @@ OBJS-$(CONFIG_ADPCM_IMA_ISS_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_OKI_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_QT_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_QT_ENCODER) += adpcmenc.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_RAD_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_SMJPEG_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_WAV_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_IMA_WAV_ENCODER) += adpcmenc.o adpcm_data.o
@@ -619,6 +626,23 @@ OBJS-$(CONFIG_ADPCM_YAMAHA_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_YAMAHA_ENCODER) += adpcmenc.o adpcm_data.o
OBJS-$(CONFIG_VIMA_DECODER) += vima.o adpcm_data.o
# hardware accelerators
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_H263_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_H264_DXVA2_HWACCEL) += dxva2_h264.o
OBJS-$(CONFIG_H264_VAAPI_HWACCEL) += vaapi_h264.o
OBJS-$(CONFIG_H264_VDA_HWACCEL) += vda_h264.o
OBJS-$(CONFIG_H264_VDPAU_HWACCEL) += vdpau_h264.o
OBJS-$(CONFIG_MPEG1_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG2_DXVA2_HWACCEL) += dxva2_mpeg2.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG2_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG4_VDPAU_HWACCEL) += vdpau_mpeg4.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o vaapi_mpeg.o
OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
# libavformat dependencies
OBJS-$(CONFIG_ADTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_ADX_DEMUXER) += adx.o
@@ -666,6 +690,7 @@ OBJS-$(CONFIG_WTV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_LIBAACPLUS_ENCODER) += libaacplus.o
OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o
OBJS-$(CONFIG_LIBFAAC_ENCODER) += libfaac.o
OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o
OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o
OBJS-$(CONFIG_LIBGSM_DECODER) += libgsm.o
OBJS-$(CONFIG_LIBGSM_ENCODER) += libgsm.o
@@ -687,6 +712,7 @@ OBJS-$(CONFIG_LIBSCHROEDINGER_DECODER) += libschroedingerdec.o \
libschroedinger.o
OBJS-$(CONFIG_LIBSCHROEDINGER_ENCODER) += libschroedingerenc.o \
libschroedinger.o
OBJS-$(CONFIG_LIBSHINE_ENCODER) += libshine.o
OBJS-$(CONFIG_LIBSPEEX_DECODER) += libspeexdec.o
OBJS-$(CONFIG_LIBSPEEX_ENCODER) += libspeexenc.o
OBJS-$(CONFIG_LIBSTAGEFRIGHT_H264_DECODER)+= libstagefright.o
@@ -703,9 +729,11 @@ OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP9_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBWAVPACK_ENCODER) += libwavpackenc.o
OBJS-$(CONFIG_LIBX264_ENCODER) += libx264.o
OBJS-$(CONFIG_LIBXAVS_ENCODER) += libxavs.o
OBJS-$(CONFIG_LIBXVID_ENCODER) += libxvid.o
OBJS-$(CONFIG_LIBZVBI_TELETEXT_DECODER) += libzvbi-teletextdec.o
# parsers
OBJS-$(CONFIG_AAC_PARSER) += aac_parser.o aac_ac3_parser.o \
@@ -720,7 +748,9 @@ OBJS-$(CONFIG_COOK_PARSER) += cook_parser.o
OBJS-$(CONFIG_DCA_PARSER) += dca_parser.o dca.o
OBJS-$(CONFIG_DIRAC_PARSER) += dirac_parser.o
OBJS-$(CONFIG_DNXHD_PARSER) += dnxhd_parser.o
OBJS-$(CONFIG_DPX_PARSER) += dpx_parser.o
OBJS-$(CONFIG_DVBSUB_PARSER) += dvbsub_parser.o
OBJS-$(CONFIG_DVD_NAV_PARSER) += dvd_nav_parser.o
OBJS-$(CONFIG_DVDSUB_PARSER) += dvdsub_parser.o
OBJS-$(CONFIG_FLAC_PARSER) += flac_parser.o flacdata.o flac.o \
vorbis_data.o
@@ -732,6 +762,7 @@ OBJS-$(CONFIG_H264_PARSER) += h264_parser.o h264.o \
h264_refs.o h264_sei.o h264_direct.o \
h264_loopfilter.o h264_cabac.o \
h264_cavlc.o h264_ps.o
OBJS-$(CONFIG_HEVC_PARSER) += hevc_parser.o
OBJS-$(CONFIG_MJPEG_PARSER) += mjpeg_parser.o
OBJS-$(CONFIG_MLP_PARSER) += mlp_parser.o mlp.o
OBJS-$(CONFIG_MPEG4VIDEO_PARSER) += mpeg4video_parser.o h263.o \
@@ -771,9 +802,11 @@ OBJS-$(CONFIG_REMOVE_EXTRADATA_BSF) += remove_extradata_bsf.o
OBJS-$(CONFIG_TEXT2MOVSUB_BSF) += movsub_bsf.o
# thread libraries
OBJS-$(HAVE_PTHREADS) += pthread.o frame_thread_encoder.o
OBJS-$(HAVE_W32THREADS) += pthread.o frame_thread_encoder.o
OBJS-$(HAVE_OS2THREADS) += pthread.o frame_thread_encoder.o
OBJS-$(HAVE_PTHREADS) += pthread.o
OBJS-$(HAVE_W32THREADS) += pthread.o
OBJS-$(HAVE_OS2THREADS) += pthread.o
OBJS-$(CONFIG_FRAME_THREAD_ENCODER) += frame_thread_encoder.o
SKIPHEADERS += %_tablegen.h \
%_tables.h \
@@ -789,20 +822,19 @@ SKIPHEADERS-$(CONFIG_LIBUTVIDEO) += libutvideo.h
SKIPHEADERS-$(CONFIG_MPEG_XVMC_DECODER) += xvmc.h
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_internal.h
SKIPHEADERS-$(CONFIG_VDA) += vda.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h
SKIPHEADERS-$(HAVE_OS2THREADS) += os2threads.h
SKIPHEADERS-$(HAVE_W32THREADS) += w32pthreads.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
TESTPROGS = cabac \
dct \
fft \
fft-fixed \
fft-fixed32 \
golomb \
iirfilter \
imgconvert \
rangecoder \
snowenc \
TESTPROGS-$(CONFIG_DCT) += dct
TESTPROGS-$(HAVE_MMX) += motion
TESTOBJS = dctref.o

View File

@@ -24,7 +24,6 @@
* a64 video encoder - multicolor modes
*/
#include "a64enc.h"
#include "a64colors.h"
#include "a64tables.h"
#include "elbg.h"
@@ -37,6 +36,28 @@
#define INTERLACED 1
#define CROP_SCREENS 1
#define C64XRES 320
#define C64YRES 200
typedef struct A64Context {
/* variables for multicolor modes */
AVLFG randctx;
int mc_lifetime;
int mc_use_5col;
unsigned mc_frame_counter;
int *mc_meta_charset;
int *mc_charmap;
int *mc_best_cb;
int mc_luma_vals[5];
uint8_t *mc_charset;
uint8_t *mc_colram;
uint8_t *mc_palette;
int mc_pal_size;
/* pts of the next packet that will be output */
int64_t next_pts;
} A64Context;
/* gray gradient */
static const int mc_colors[5]={0x0,0xb,0xc,0xf,0x1};
@@ -57,9 +78,13 @@ static void to_meta_with_crop(AVCodecContext *avctx, AVFrame *p, int *dest)
for (y = blocky; y < blocky + 8 && y < C64YRES; y++) {
for (x = blockx; x < blockx + 8 && x < C64XRES; x += 2) {
if(x < width && y < height) {
/* build average over 2 pixels */
luma = (src[(x + 0 + y * p->linesize[0])] +
src[(x + 1 + y * p->linesize[0])]) / 2;
if (x + 1 < width) {
/* build average over 2 pixels */
luma = (src[(x + 0 + y * p->linesize[0])] +
src[(x + 1 + y * p->linesize[0])]) / 2;
} else {
luma = src[(x + y * p->linesize[0])];
}
/* write blocks as linear data now so they are suitable for elbg */
dest[0] = luma;
}
@@ -165,6 +190,7 @@ static void render_charset(AVCodecContext *avctx, uint8_t *charset,
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);
@@ -216,8 +242,12 @@ static av_cold int a64multi_init_encoder(AVCodecContext *avctx)
AV_WB32(avctx->extradata, c->mc_lifetime);
AV_WB32(avctx->extradata + 16, INTERLACED);
avcodec_get_frame_defaults(&c->picture);
avctx->coded_frame = &c->picture;
avctx->coded_frame = av_frame_alloc();
if (!avctx->coded_frame) {
a64multi_close_encoder(avctx);
return AVERROR(ENOMEM);
}
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
avctx->coded_frame->key_frame = 1;
if (!avctx->codec_tag)
@@ -247,7 +277,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
const AVFrame *pict, int *got_packet)
{
A64Context *c = avctx->priv_data;
AVFrame *const p = &c->picture;
AVFrame *const p = avctx->coded_frame;
int frame;
int x, y;
@@ -291,7 +321,9 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
} else {
/* fill up mc_meta_charset with data until lifetime exceeds */
if (c->mc_frame_counter < c->mc_lifetime) {
*p = *pict;
ret = av_frame_ref(p, pict);
if (ret < 0)
return ret;
p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame = 1;
to_meta_with_crop(avctx, p, meta + 32000 * c->mc_frame_counter);
@@ -308,8 +340,8 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
req_size = 0;
/* any frames to encode? */
if (c->mc_lifetime) {
req_size = charset_size + c->mc_lifetime*(screen_size + colram_size);
if ((ret = ff_alloc_packet2(avctx, pkt, req_size)) < 0)
int alloc_size = charset_size + c->mc_lifetime*(screen_size + colram_size);
if ((ret = ff_alloc_packet2(avctx, pkt, alloc_size)) < 0)
return ret;
buf = pkt->data;
@@ -326,6 +358,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
/* advance pointers */
buf += charset_size;
charset += charset_size;
req_size += charset_size;
}
/* write x frames to buf */
@@ -372,6 +405,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
#if CONFIG_A64MULTI_ENCODER
AVCodec ff_a64multi_encoder = {
.name = "a64multi",
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_A64_MULTI,
.priv_data_size = sizeof(A64Context),
@@ -379,13 +413,13 @@ AVCodec ff_a64multi_encoder = {
.encode2 = a64multi_encode_frame,
.close = a64multi_close_encoder,
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64"),
.capabilities = CODEC_CAP_DELAY,
};
#endif
#if CONFIG_A64MULTI5_ENCODER
AVCodec ff_a64multi5_encoder = {
.name = "a64multi5",
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_A64_MULTI5,
.priv_data_size = sizeof(A64Context),
@@ -393,7 +427,6 @@ AVCodec ff_a64multi5_encoder = {
.encode2 = a64multi_encode_frame,
.close = a64multi_close_encoder,
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("Multicolor charset for Commodore 64, extended with 5th color (colram)"),
.capabilities = CODEC_CAP_DELAY,
};
#endif

View File

@@ -81,7 +81,7 @@ enum BandType {
INTENSITY_BT = 15, ///< Scalefactor data are intensity stereo positions.
};
#define IS_CODEBOOK_UNSIGNED(x) ((x - 1) & 10)
#define IS_CODEBOOK_UNSIGNED(x) (((x) - 1) & 10)
enum ChannelPosition {
AAC_CHANNEL_OFF = 0,
@@ -157,7 +157,7 @@ typedef struct LongTermPrediction {
typedef struct IndividualChannelStream {
uint8_t max_sfb; ///< number of scalefactor bands per group
enum WindowSequence window_sequence[2];
uint8_t use_kb_window[2]; ///< If set, use Kaiser-Bessel window, otherwise use a sinus window.
uint8_t use_kb_window[2]; ///< If set, use Kaiser-Bessel window, otherwise use a sine window.
int num_window_groups;
uint8_t group_len[8];
LongTermPrediction ltp;
@@ -234,7 +234,7 @@ typedef struct SingleChannelElement {
int sf_idx[128]; ///< scalefactor indices (used by encoder)
uint8_t zeroes[128]; ///< band is not coded (used by encoder)
DECLARE_ALIGNED(32, float, coeffs)[1024]; ///< coefficients for IMDCT
DECLARE_ALIGNED(32, float, saved)[1024]; ///< overlap
DECLARE_ALIGNED(32, float, saved)[1536]; ///< overlap
DECLARE_ALIGNED(32, float, ret_buf)[2048]; ///< PCM output buffer
DECLARE_ALIGNED(16, float, ltp_state)[3072]; ///< time signal for LTP
PredictorState predictor_state[MAX_PREDICTORS];
@@ -290,6 +290,7 @@ struct AACContext {
*/
FFTContext mdct;
FFTContext mdct_small;
FFTContext mdct_ld;
FFTContext mdct_ltp;
FmtConvertContext fmt_conv;
AVFloatDSPContext fdsp;

View File

@@ -28,13 +28,13 @@
#include "parser.h"
typedef enum {
AAC_AC3_PARSE_ERROR_SYNC = -1,
AAC_AC3_PARSE_ERROR_BSID = -2,
AAC_AC3_PARSE_ERROR_SAMPLE_RATE = -3,
AAC_AC3_PARSE_ERROR_FRAME_SIZE = -4,
AAC_AC3_PARSE_ERROR_FRAME_TYPE = -5,
AAC_AC3_PARSE_ERROR_CRC = -6,
AAC_AC3_PARSE_ERROR_CHANNEL_CFG = -7,
AAC_AC3_PARSE_ERROR_SYNC = -0x1030c0a,
AAC_AC3_PARSE_ERROR_BSID = -0x2030c0a,
AAC_AC3_PARSE_ERROR_SAMPLE_RATE = -0x3030c0a,
AAC_AC3_PARSE_ERROR_FRAME_SIZE = -0x4030c0a,
AAC_AC3_PARSE_ERROR_FRAME_TYPE = -0x5030c0a,
AAC_AC3_PARSE_ERROR_CRC = -0x6030c0a,
AAC_AC3_PARSE_ERROR_CHANNEL_CFG = -0x7030c0a,
} AACAC3ParseError;
typedef struct AACAC3ParseContext {

View File

@@ -61,7 +61,8 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
}
if (!hdr.crc_absent && hdr.num_aac_frames > 1) {
av_log_missing_feature(avctx, "Multiple RDBs per frame with CRC", 0);
avpriv_report_missing_feature(avctx,
"Multiple RDBs per frame with CRC");
return AVERROR_PATCHWELCOME;
}
@@ -74,7 +75,10 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
if (!hdr.chan_config) {
init_get_bits(&gb, buf, buf_size * 8);
if (get_bits(&gb, 3) != 5) {
av_log_missing_feature(avctx, "PCE based channel configuration, where the PCE is not the first syntax element", 0);
avpriv_report_missing_feature(avctx,
"PCE-based channel configuration "
"without PCE as first syntax "
"element");
return AVERROR_PATCHWELCOME;
}
init_put_bits(&pb, pce_data, MAX_PCE_SIZE);
@@ -108,7 +112,7 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
}
AVBitStreamFilter ff_aac_adtstoasc_bsf = {
"aac_adtstoasc",
sizeof(AACBSFContext),
aac_adtstoasc_filter,
.name = "aac_adtstoasc",
.priv_data_size = sizeof(AACBSFContext),
.filter = aac_adtstoasc_filter,
};

View File

@@ -34,7 +34,7 @@ static int aac_sync(uint64_t state, AACAC3ParseContext *hdr_info,
int size;
union {
uint64_t u64;
uint8_t u8[8];
uint8_t u8[8 + FF_INPUT_BUFFER_PADDING_SIZE];
} tmp;
tmp.u64 = av_be2ne64(state);

View File

@@ -35,7 +35,7 @@ void ff_aac_tableinit(void)
{
int i;
for (i = 0; i < 428; i++)
ff_aac_pow2sf_tab[i] = pow(2, (i - POW_SF2_ZERO) / 4.);
ff_aac_pow2sf_tab[i] = pow(2, (i - POW_SF2_ZERO) / 4.0);
}
#endif /* CONFIG_HARDCODED_TABLES */

View File

@@ -710,7 +710,7 @@ static void search_for_quantizers_twoloop(AVCodecContext *avctx,
const float lambda)
{
int start = 0, i, w, w2, g;
int destbits = avctx->bit_rate * 1024.0 / avctx->sample_rate / avctx->channels;
int destbits = avctx->bit_rate * 1024.0 / avctx->sample_rate / avctx->channels * (lambda / 120.f);
float dists[128] = { 0 }, uplims[128];
float maxvals[128];
int fflag, minscaler;
@@ -1113,25 +1113,25 @@ static void search_for_ms(AACEncContext *s, ChannelElement *cpe,
}
AACCoefficientsEncoder ff_aac_coders[AAC_CODER_NB] = {
{
[AAC_CODER_FAAC] = {
search_for_quantizers_faac,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
{
[AAC_CODER_ANMR] = {
search_for_quantizers_anmr,
encode_window_bands_info,
quantize_and_encode_band,
search_for_ms,
},
{
[AAC_CODER_TWOLOOP] = {
search_for_quantizers_twoloop,
codebook_trellis_rate,
quantize_and_encode_band,
search_for_ms,
},
{
[AAC_CODER_FAST] = {
search_for_quantizers_fast,
encode_window_bands_info,
quantize_and_encode_band,

File diff suppressed because it is too large Load Diff

View File

@@ -165,7 +165,7 @@ static void put_audio_specific_config(AVCodecContext *avctx)
PutBitContext pb;
AACEncContext *s = avctx->priv_data;
init_put_bits(&pb, avctx->extradata, avctx->extradata_size*8);
init_put_bits(&pb, avctx->extradata, avctx->extradata_size);
put_bits(&pb, 5, 2); //object type - AAC-LC
put_bits(&pb, 4, s->samplerate_index); //sample rate index
put_bits(&pb, 4, s->channels);
@@ -593,7 +593,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
coeffs[ch] = cpe->ch[ch].coeffs;
s->psy.model->analyze(&s->psy, start_ch, coeffs, wi);
for (ch = 0; ch < chans; ch++) {
s->cur_channel = start_ch * 2 + ch;
s->cur_channel = start_ch + ch;
s->coder->search_for_quantizers(avctx, s, &cpe->ch[ch], s->lambda);
}
cpe->common_window = 0;
@@ -609,7 +609,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
}
}
}
s->cur_channel = start_ch * 2;
s->cur_channel = start_ch;
if (s->options.stereo_mode && cpe->common_window) {
if (s->options.stereo_mode > 0) {
IndividualChannelStream *ics = &cpe->ch[0].ics;
@@ -679,9 +679,6 @@ static av_cold int aac_encode_end(AVCodecContext *avctx)
av_freep(&s->buffer.samples);
av_freep(&s->cpe);
ff_af_queue_close(&s->afq);
#if FF_API_OLD_ENCODE_AUDIO
av_freep(&avctx->coded_frame);
#endif
return 0;
}
@@ -715,11 +712,6 @@ static av_cold int alloc_buffers(AVCodecContext *avctx, AACEncContext *s)
for(ch = 0; ch < s->channels; ch++)
s->planar_samples[ch] = s->buffer.samples + 3 * 1024 * ch;
#if FF_API_OLD_ENCODE_AUDIO
if (!(avctx->coded_frame = avcodec_alloc_frame()))
goto alloc_fail;
#endif
return 0;
alloc_fail:
return AVERROR(ENOMEM);
@@ -774,6 +766,9 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
s->psypp = ff_psy_preprocess_init(avctx);
s->coder = &ff_aac_coders[s->options.aac_coder];
if (HAVE_MIPSDSPR1)
ff_aac_coder_init_mips(s);
s->lambda = avctx->global_quality ? avctx->global_quality : 120;
ff_aac_tableinit();
@@ -796,7 +791,11 @@ static const AVOption aacenc_options[] = {
{"auto", "Selected by the Encoder", 0, AV_OPT_TYPE_CONST, {.i64 = -1 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"ms_off", "Disable Mid/Side coding", 0, AV_OPT_TYPE_CONST, {.i64 = 0 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"ms_force", "Force Mid/Side for the whole frame if possible", 0, AV_OPT_TYPE_CONST, {.i64 = 1 }, INT_MIN, INT_MAX, AACENC_FLAGS, "stereo_mode"},
{"aac_coder", "", offsetof(AACEncContext, options.aac_coder), AV_OPT_TYPE_INT, {.i64 = 2}, 0, AAC_CODER_NB-1, AACENC_FLAGS},
{"aac_coder", "", offsetof(AACEncContext, options.aac_coder), AV_OPT_TYPE_INT, {.i64 = AAC_CODER_TWOLOOP}, 0, AAC_CODER_NB-1, AACENC_FLAGS, "aac_coder"},
{"faac", "FAAC-inspired method", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_FAAC}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{"anmr", "ANMR method", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_ANMR}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{"twoloop", "Two loop searching method", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_TWOLOOP}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{"fast", "Constant quantizer", 0, AV_OPT_TYPE_CONST, {.i64 = AAC_CODER_FAST}, INT_MIN, INT_MAX, AACENC_FLAGS, "aac_coder"},
{NULL}
};
@@ -816,6 +815,7 @@ static const int mpeg4audio_sample_rates[16] = {
AVCodec ff_aac_encoder = {
.name = "aac",
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
.type = AVMEDIA_TYPE_AUDIO,
.id = AV_CODEC_ID_AAC,
.priv_data_size = sizeof(AACEncContext),
@@ -827,6 +827,5 @@ AVCodec ff_aac_encoder = {
CODEC_CAP_EXPERIMENTAL,
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
AV_SAMPLE_FMT_NONE },
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
.priv_class = &aacenc_class,
};

Some files were not shown because too many files have changed in this diff Show More