Compare commits

...

4624 Commits

Author SHA1 Message Date
Michael Niedermayer
48d388b033 Update for 2.6.5
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-22 16:37:37 +01:00
Martin Storsjö
949f5dbcfb rtmpcrypt: Do the xtea decryption in little endian mode
The XTEA algorithm operates on 32 bit numbers, not on byte sequences.
The XTEA implementation in libavutil is written assuming big endian
numbers, while the rtmpe signature encryption assumes little endian.

This fixes rtmpe communication with rtmpe servers that use signature
type 8 (XTEA), e.g. crunchyroll.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit e7728319b92dbb4fb949155e33de7ff5358ddff3)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:40 +01:00
Michael Niedermayer
89612acc81 avformat/matroskadec: Check subtitle stream before dereferencing
Unrecognized streams are not allocated
Fixes: flicker-1.color1.vp91447030769.08.webm

Found-by: Chris Cunningham <chcunningham@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a5034b324c)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
7c3fc6bf06 avformat/utils: Do not init parser if probing is unfinished
Fixes assertion failure
Fixes: 136f8b8d47af7892306625e597dee655/signal_sigabrt_7ffff6ae7cc9_8941_ab11bea57c84796418f481f873dc31ba.dvr_ms

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 1ef336e912)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
b7d98b2fe7 avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 65d3359fb3)

Conflicts:

	libavcodec/jpeg2000dec.c
2015-11-19 03:51:39 +01:00
Michael Niedermayer
912dfe167f avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
Fixes potential integer overflows
Fixes: 03e0abe721b1174856d41a1eb5d6a896/signal_sigabrt_7ffff6ae7cc9_3813_e71bf3541abed3ccba031cd5ba0269a4.avi

This fix is choosen to be simple to backport, better solution
for master is planed

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6ef819c40b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
f869846537 avcodec/jpeg2000: Check comp coords to be within the supported size
Fixes assertion failure
Fixes: 03e0abe721b1174856d41a1eb5d6a896/signal_sigabrt_7ffff6ae7cc9_3813_e71bf3541abed3ccba031cd5ba0269a4.avi

This fix is choosen to be simple to backport, better solution
for master is planed

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a1a8cbcb35)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
8930b2d532 avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 016fd413f9)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
f288389031 avcodec/wmaprodec: Check for overread in decode_packet()
Fixes assertion failure
Fixes: 0256e92df2df7e933b43a2c70e4c8040/signal_sigabrt_7ffff6ae7cc9_1358_999ac18684788221490757582ce9af84.wma

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7ad698e24e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
cf2d26eacf avcodec/smacker: Check that the data size is a multiple of a sample vector
Fixes out of array access
Fixes: ce19e41f0ef1e52a23edc488faecdb58/asan_heap-oob_2504e97_4202_ffa0df1baed14022b9bfd4f8ac23d0cb.smk

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4a9af07a49)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
2d23cd42e3 avcodec/takdec: Skip last p2 sample (which is unused)
Fixes out of array read
Fixes: cb3f38b08b4541523974667c7d1eee9e/asan_heap-oob_2659e18_9838_021fd5cd635bf76cede6398cd9ecbcdd.tak

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 08b520636e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
9bccaf7cf2 avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
Fixes potential out of array read

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 76b6f4b7d9)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
3f4a4f174a avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
Fixes out of array read
Fixes: c50c4aa6cefda71b19a31ea12302980c/asan_heap-oob_12be5fd_7011_33ebd015a74976215934add72b9c8352.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9caa9414cc)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
cb060668f1 avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
The height of tables can be rounded up for MBAFF but this does not imply that is also true
for the previous frames

Fixes out of array reads
Fixes: c106b36fa36db8ff8f3ed0c82be7bea2/asan_heap-oob_32699f0_6321_467b9a1d7e03d7cfd310b7e65dc53bcc.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a105f52855)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
7ab1f5b0d4 avcodec/dpx: Move need_align to act per line
Fixes out of array read
Fixes: 61cf123c081ee2bb774d307c75bdb99e/asan_heap-oob_1224f76_5546_bee833ffae73f752b489b9eeaac52db7.dpx

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c8aaae8e0f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
1c73f9d84c avcodec/flashsv: Check size before updating it
Fixes out of array read
Fixes: 3c857d4d90365731524716e6d051e43a/signal_sigsegv_7f4f59bcc29e_1386_20abd2c8e655cb9c75b24368e65fe3b1.flv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 17705f5d4f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
c00d40095b avcodec/ivi: Check image dimensions
Fixes integer overflow
Fixes: 1e32c6c591d940337c20b197ec1c4d3d/asan_heap-oob_4a52e5_8946_0bb0d9e863def56005e49f1d89bdc94d.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit df91aa034b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
896c8e3891 avcodec/utils: Better check for channels in av_get_audio_frame_duration()
Fixes integer overflow
Fixes: 0c2625f236ced104d402b4a03c0d65c7/asan_generic_274e1ce_5990_9314e7a67c26aecf011b178ade9f217c.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4e16ad2868)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
53869b687c avcodec/jpeg2000dec: Check for duplicate SIZ marker
Fixes: 0231a17345734228011c6f35a64e4594/asan_heap-oob_1d92a72_3218_1213809a9e3affec77e4c191fdfdc0a9.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 44a7f17d0b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Simon Thelen
d9bff0843f doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b02201efb5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Simon Thelen
c3467bbc52 ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
Fixes a segfault when trying to write nonexistent rtp information.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 70fb5eadc5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Andreas Cadhalpun
bbeae2c690 jvdec: avoid unsigned overflow in comparison
The return type of strlen is size_t, i.e. unsigned, so if pd->buf_size
is 3, the right side overflows leading to a wrong result of the
comparison and subsequently a heap buffer overflow.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit db374790c7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
9f6e755272 avcodec/jpeg2000dec: Clip all tile coordinates
Fixes out of array access
Fixes: b877a6b788a25c70e8b1d014f8628549/asan_heap-oob_1da2c3f_2324_5a1b329b0b3c4bb6b1d775660ac56717.r3d

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 43492ff3ab)

Conflicts:

	libavcodec/jpeg2000dec.c
2015-11-19 03:51:39 +01:00
Michael Niedermayer
6a82ec8844 avcodec/hevc_ps: Check chroma_format_idc
Fixes out of array access
Fixes: 24d05e8b84676799c735c9e27d97895e/asan_heap-oob_1b70f6a_2955_7c3652a7f370f9f3ef40642bc2c99bb2.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 93f30f825c)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
a420cb8e45 avcodec/microdvddec: Check for string end in 'P' case
Fixes out of array read
Fixes: a9502b60f4cecc19475382aee255f73c/asan_heap-oob_1e87fba_2548_a8ad47f6dde36644fe9cdc444d4632d0.sub

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c719cd6cf7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
23c7dbc164 avcodec/dirac_parser: Fix undefined memcpy() use
Fixes: 9d375e415486edd1a0c826f2307d89a4/asan_generic_4a5159_1577_faa333e83dacdd9e4dd322380aeed537.iss

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit daefd8ab2f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
36b65f1c50 avformat/xmv: Discard remainder of packet on error
Fixes infinite loop
Fixes: 9c48ae2680c5f23bca3d20ff0f325fd8/asan_generic_4c254d_1374_993f1e5967dd6f844b8d72f978ce2a6c.pss

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 79c4a338e4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
0b3b993bae avformat/xmv: factor return check out of if/else
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9b6fac11da)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
371970e45f avcodec/mpeg12dec: Do not call show_bits() with invalid bits
Fixes assertion failure
Fixes: 63e50545709a6440d3d59f6426d58db9/signal_sigabrt_7ffff6ae7cc9_8189_3272a3010fd98ddf947c662bbde1ac13.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 973c3dba27)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:39 +01:00
Michael Niedermayer
cbafd8e1a7 libavutil/channel_layout: Check strtol*() for failure
Fixes assertion failure
Fixes: 4f5814bb15d2dda6fc18ef9791b13816/signal_sigabrt_7ffff6ae7cc9_65_7209d160d168b76f311be6cd64a548eb.wv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c9bfd6a8c3)

Conflicts:

	libavutil/channel_layout.c
2015-11-19 03:51:39 +01:00
Michael Niedermayer
139a96b6eb avcodec/ffv1dec: Check for 0 quant tables
Fixes assertion failure
Fixes: 07ec1fc3c1cbf2d3edcd7d9b52ca156c/asan_heap-oob_13624c5_491_ecd4720a03e697ba750b235690656c8f.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5745cf799a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
dd6274d904 avcodec/mjpegdec: Reinitialize IDCT on BPP changes
Fixes misaligned access
Fixes: dc9262a469f6f315f74c087a7b3a7f35/signal_sigsegv_2e95bcd_9_9c0f9f4a9ba82aa9b3ab2b91ce4d5277.jpg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cc35f6f476)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
4fec2df719 avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
Fixes: 04715144ba237443010554be0d05343f/asan_heap-oob_1eafc76_1737_c685b48041a563461839e4e7ab97abb8.jpg
Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d24888ef19)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Tobias Rapp
e0569172d6 avutil/file_open: avoid file handle inheritance on Windows
Avoids inheritance of file handles on Windows systems similar to the
O_CLOEXEC/FD_CLOEXEC flag on Linux.

Fixes file lock issues in Windows applications when a child process
is started with handle inheritance enabled (standard input/output
redirection) while a FFmpeg transcoding is running in the parent
process.

Links relevant to the subject:

https://msdn.microsoft.com/en-us/library/w7sa2b22.aspx

Describes the _wsopen() function and the O_NOINHERIT flag. File handles
opened by _wsopen() are inheritable by default.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx

Describes handle inheritance when creating new processes. Handle
inheritance must be enabled (bInheritHandles = TRUE) e.g. when you want
to pass handles for stdin/stdout via lpStartupInfo.

Signed-off-by: Tobias Rapp <t.rapp@noa-audio.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4746653466)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Kieran Kunhya
d52d5553b8 opusdec: Don't run vector_fmul_scalar on zero length arrays
Fixes crashes on fuzzed files
Fixes Ticket4969 part2

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b3e5f15b95)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
a456a5285d avcodec/ffv1: Initialize vlc_state on allocation
This ensures that they are always set to valid values
Fixes Ticket4939

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a878dfa4f5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
f8951f4c7a avcodec/ffv1dec: update progress in case of broken pointer chains
Fixes deadlock
Fixes Ticket4932

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5063a18f56)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
2da580a6bb avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
Fixes Ticket4931

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4c2d4e8700)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Andrey Utkin
289e74d72d avformat/httpauth: Add space after commas in HTTP/RTSP auth header
This fixes access to Grandstream cameras, which return 401 to ffmpeg
otherwise.
VLC sends Authorization: header with spaces between parameters, and it
is known to work with Grandstream devices and broad range of other HTTP
and RTSP servers, so author considers switching to such behaviour safe.
Just for record - RFC 2617 (HTTP Auth) does not specify the need in
spaces, so this is not a bug of FFmpeg.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fdb3283872)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
873938b83f avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
Fixes crash
Fixes: flicker-1.scout3d21443372922.28.m4a

Found-by: Dale Curtis <dalecurtis@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 1b82b934a1)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
53f11a47a3 avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
Fixes: invalid_read.nut
Found-by: Paul B Mahol <onemda@gmail.com>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2d221d9e06)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
17bbabc141 avcodec/ffv1dec: Explicitly check read_quant_table() return value
Forwards the error code, avoids potential integer overflow

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 10bbf6cf62)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
e77ad4b069 avcodec/rangecoder: Check e
Fixes hang.nut

Found-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b2955b6c5a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Simon Thelen
b096f16095 lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
Not requiring this can end up producing hilariously broken files
together with -c:s copy (e.g. a webvtt file containing binary subtitle data).

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b84232694e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
4ef257f702 avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 055e56e9f7)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Ganesh Ajjanagadde
a2d38168fd avfilter/af_asyncts: use llabs for int64_t
long may not be 64 bit on all platforms; so labs on int64_t is unsafe.
This fixes a warning reported in:
http://fate.ffmpeg.org/log.cgi?time=20150905071512&log=compile&slot=i386-darwin-clang-polly-3.7

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d74123d03e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
cb1bb8ca45 avcodec/g2meet: Also clear tile dimensions on header_fail
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fb04666995)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
9a90f61d99 avcodec/g2meet: Fix potential overflow in tile dimensions check
Fixes CID1322351

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 71ec8e1ed6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
a2e0602157 avcodec/svq1dec: Check init_get_bits8() for failure
Fixes: CID1322313

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a51d4246d8)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
75d186ab6e avcodec/tta: Check init_get_bits8() for failure
Fixes: CID1322319

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f1593e4ca5)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
719f17541f avcodec/vp3: Check init_get_bits8() for failure
Fixes CID1322316

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit cbd3cd8eb2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
3e9ccd0019 swresample/swresample: Fix integer overflow in seed calculation
Fixes CID1322333

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 32f53958b8)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
fb84d92079 avformat/mov: Fix integer overflow in FFABS
Fixes: unknown_unknown_19e_414_cov_764838672_bellhamlam.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 053e80f6ea)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
ca89c0afdb avutil/common: Add FFNABS()
This macro avoids the undefined corner case with the *_MIN values

Previous version Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d6cd614dac)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
3311efe2c2 avutil/common: Document FFABS() corner case
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 733511fb53)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
c23902b671 avformat/dump: Fix integer overflow in aspect ratio calculation
Fixes: unknown_unknown_19e_414_cov_764838672_bellhamlam.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit d1bdaf3fb2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
ba1715f52a avcodec/truemotion1: Check for even width
Fixes out of array access
Fixes: 87196d8bbc633629fc9dd851fce73e70/asan_heap-oob_26f6853_862_cov_585961513_sonic3dblast_intro-partial.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 63fb5a6aef)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
2d9f536cd9 avcodec/mpeg12dec: Set dimensions in mpeg1_decode_sequence() only in absence of errors
Fixes assertion failure
Fixes: 56dcafde14a8397161bb61a16c511179/signal_sigabrt_7ffff6ac8cc9_686_cov_1897408623_microsoft_new_way_to_shove_mpeg2_in_asf.dvr_ms

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b54e03c9dc)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:38 +01:00
Michael Niedermayer
c3ee01b9da avcodec/libopusenc: Fix infinite loop on flushing after 0 input
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6701c92fa4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
10870af7e4 avformat/hevc: Check num_long_term_ref_pics_sps to avoid potentially long loops
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ee155c18a2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Arthur Grant
d405a10743 avformat/hevc: Fix parsing errors
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 781efd0741)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
462c1dacae ffmpeg: Use correct codec_id for av_parser_change() check
No testcase known

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 45f3d4e63e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
9c3d814817 ffmpeg: Check av_parser_change() for failure
No testcase known

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ac0ba6f233)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
74ce026e68 ffmpeg: Check for RAWVIDEO and do not relay only on AVFMT_RAWPICTURE
The null muxer has AVFMT_RAWPICTURE set but can be fed with non-raw material

related to Ticket4778

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c8890941d6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
5062059c53 ffmpeg: check avpicture_fill() return value
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 15ff3f3fdf)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
dea4fd9446 avformat/mux: Update sidedata in ff_write_chained()
Fixes Ticket4777

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit db91e0edb6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
8e597b57d0 avcodec/flashsvenc: Correct max dimension in error message
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b1f59bb660)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
6c32c9e1ef avcodec/svq1enc: Check dimensions
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 88fe45e0fe)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Michael Niedermayer
dd19374ed7 avcodec/dcaenc: clear bitstream end
This avoids leaving uninitialized bits in the output

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e322b7061f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Emanuel Czirai
ec328dc461 libavcodec/aacdec_template: Use init_get_bits8() in aac_decode_frame()
related to ticket4749

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 7ab1c57a64)

Conflicts:

	libavcodec/aacdec_template.c
(cherry picked from commit dabb6dd98af52a22a922bca4a9196acf68b084dd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
wm4
da7d36ef80 rawdec: fix mjpeg probing buffer size check
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4c6beaed92)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
wm4
29fde41906 rawdec: fix mjpeg probing
There can be other headers than "Content-Type:" (in this case, a
"Content-Length:" header was following), so checking for a trailing
newline is wrong.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit bf51fcd304)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-19 03:51:37 +01:00
Ronald S. Bultje
743d6a2782 videodsp: don't overread edges in vfix3 emu_edge.
Fixes trac ticket 3226. Also see Andreas' analysis in
https://bugs.debian.org/801745, which was very helpful.
(cherry picked from commit 52f84d82bd)
2015-10-25 01:13:34 +02:00
Rodger Combs
e43e282512 lavf/matroskadec: Fully parse and repack MP3 packets
Fixes https://trac.ffmpeg.org/ticket/4776

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b4b2717ffe)
2015-10-09 21:48:25 +02:00
Michael Niedermayer
4afa762511 avcodec/h264_mp4toannexb_bsf: Reorder operations in nal_size check
Fixes Ticket4778

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2bb54b82b5)
2015-10-09 21:48:05 +02:00
Michael Niedermayer
bd4351b5d7 avformat/oggenc: Check segments_count for headers too
Fixes infinite loop and segfault in ogg_buffer_data()
Fixes Ticket4806

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 81a8701eb5)
2015-10-09 21:47:52 +02:00
Michael Niedermayer
108a971cd2 avformat/avidec: Workaround broken initial frame
Fixes Ticket4851

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3e2ef00394)
2015-10-09 21:47:07 +02:00
Hendrik Leppkes
3cc3d239f2 hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
Fixes ticket #4185.

Reviewed-By: Mickael Raulet <Mickael.Raulet@insa-rennes.fr>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
(cherry picked from commit 0118158efa)
2015-10-09 21:46:52 +02:00
Ronald S. Bultje
488041cfb0 hevc: fix wpp threading deadlock.
Fixes ticket 4258.
(cherry picked from commit 74e4948235)
2015-10-09 21:46:39 +02:00
Michael Niedermayer
ef6d6f8906 avcodec/ffv1: seperate slice_count from max_slice_count
Fix segfault with too large slice_count
Fixes Ticket4879

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit aa6c43f3fd)

Conflicts:
	libavcodec/ffv1enc.c
	libavcodec/ffv1.c
2015-10-09 21:46:03 +02:00
Przemysław Sobala
b0b37e018b lavf/img2dec: Fix memory leak
Fixes #4886

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 01dd7e025c)
2015-10-09 21:44:11 +02:00
wm4
281dce1a3e avcodec/mp3: fix skipping zeros
Commits 43bc5cf9 and c5371f77 add code for skipping initial zeros in mp3
packets. This code forgot to report to the user that data was skipped at
all.

Since audio codecs allow partial packet decoding, the user application
has to rely on the return value. It will remove the data reported as
consumed by the decoder, and feed it to the decoder again. This resulted
in the mp3 frame after the zero region to be decoded over and over
again, until the zero region was finally skipped by the application.

Fix this by including the amount of skipped bytes to the number of
consumed bytes returned by the decode call.

Fixes trac ticket #4890.
(cherry picked from commit cb1da9fb8d)
2015-10-09 21:43:56 +02:00
Clément Bœsch
d75a5fe4b9 avformat/srtdec: make sure we probe a number
Fixes regression since 7218352e02: WebVTT
files were matching the SRT probing.
(cherry picked from commit 40d9d6de90)
2015-10-09 21:43:37 +02:00
Clément Bœsch
6ed351c096 avformat/srtdec: more lenient first line probing
Fixes Ticket #4898
(cherry picked from commit 7218352e02)
2015-10-09 21:43:26 +02:00
James Almer
be9ec446a0 doc: mention libavcodec can decode Opus natively
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit fd9ac48dc8)
2015-09-20 23:28:32 -03:00
Michael Niedermayer
faed1deec9 MAINTAINERS: Remove myself as leader
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f2c58931e6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-31 18:35:30 +02:00
Michael Niedermayer
b17cec5262 update changelog
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 02:05:35 +02:00
Andreas Cadhalpun
088733414a imc: use correct position for flcoeffs2 calculation
flcoeffs2[pos] should be the log2 of flcoeffs1[pos].
flcoeffs1[0] can be 0 here, thus flcoeffs2[pos] gets set to -inf,
causing problems further down.

This seems to have been copied from imc_decode_level_coefficients in
commit 4eb4bb3 without updating the position.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:37:44 +02:00
Andreas Cadhalpun
44a9e2dbba hevc: check slice address length
It is used as get_bits argument and reading 0 bits isn't supported.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:37:36 +02:00
Andreas Cadhalpun
2d89356641 snow: remove an obsolete av_assert2
It asserts that the frame linesize is larger than 37, but it can be
smaller and decoding such frames works.

Before commit cc884a35 src_stride > 7*MB_SIZE was necessary, because the
blocks were interleaved in the tmp buffer and the last block was added
with an offset of 6*MB_SIZE.
It was changed for src_stride <= 7*MB_SIZE to write the blocks
sequentially, hence the larger tmp_step.
After that the assert was only necessary to make sure that the buffer
remained large enough.
Since commit bd2b6b33 s->scratchbuf is used as tmp buffer.
As part of commit 86e107a7 the minimal scratchbuf size was increased to
256*7*MB_SIZE, which is enough for any src_stride <= 7*MB_SIZE.

Also add a comment explaining the tmp_step calculation.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 3526a120f9)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 26cb351452)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:37:30 +02:00
Andreas Cadhalpun
3c96f21d6e webp: fix infinite loop in webp_decode_frame
The loop always needs at least 8 bytes for chunk_type and chunk_size.
If fewer are left, bytestream2_get_le32 just returns 0 without
reading any bytes, 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 0762152f7a)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 762a5878a6)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:37:17 +02:00
Andreas Cadhalpun
e812220a30 wavpack: limit extra_bits to 32 and use get_bits_long
More than 32 bits can't be stored in an integer and get_bits should not
be used with more than 25 bits.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit d0eff8857c)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f0af6e705f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:37:07 +02:00
Andreas Cadhalpun
7f84858dcf ffmpeg: only count got_output/errors in decode_error_stat
If threading is used, the first (thread_count - 1) packets are read
before any frame/error is returned. Counting this as successful decoding
is wrong, because it also happens when no single frame could be decoded.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:36:59 +02:00
Andreas Cadhalpun
32df1cd6ac ffmpeg: exit_on_error if decoding a packet failed
This is the second part of the fix for ticket #4370.

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

Conflicts:
	ffmpeg.c
(cherry picked from commit 1d1adf5ff4)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:36:10 +02:00
Andreas Cadhalpun
a0f50ddcb8 pthread_frame: forward error codes when flushing
This is the first part of the fix for ticket #4370.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:35:37 +02:00
Andreas Cadhalpun
dc85a75332 huffyuvdec: validate image size
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 9a345802ed)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 43f8a422b3)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:35:29 +02:00
Andreas Cadhalpun
21769e3884 wavpack: use get_bits_long to read up to 32 bits
get_bits should not be used for more than 25 bits.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:35:21 +02:00
Andreas Cadhalpun
a3d3e0a6bc nutdec: check maxpos in read_sm_data before returning success
Otherwise sm_size can be larger than size, which results in a negative
packet size.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:35:09 +02:00
Andreas Cadhalpun
fdf166c5d2 vc1dec: use get_bits_long and limit the read bits to 32
get_bits should not be used with more than 25 bits.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:33:48 +02:00
Andreas Cadhalpun
874b3117ed mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
This fixes a segfault when decoding multi-channel MP3onMP4 files.

This is similar to commit cb72230d for MPADSPContext.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-23 01:33:34 +02:00
Michael Niedermayer
827a8bfc64 Update for 2.6.4
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 11:10:34 +02:00
Michael Niedermayer
e8ce2770b1 avcodec/vp8: Check buffer size in vp8_decode_frame_header()
avoids null pointer dereference
Fixes: signal_sigsegv_d5de40_964_vp80-00-comprehensive-010.ivf with memlimit of 1048576

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 599d746e07)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
e3a521d817 avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
Fixes: signal_sigsegv_d5de23_967_vp80_00_comprehensive_010.ivf with memlimit 524288

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a84f0e8d8f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
0de6cf5fdd avcodec/diracdec: Check for hpel_base allocation failure
Fixes null pointer dereference
Fixes: signal_sigsegv_b02a96_280_RL_420p_ffdirac.drc with memlimit of 67108864

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 1c5b712c0a)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
620b3e680c avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
Avoids leaving stale pointers
Fixes: signal_sigabrt_7ffff70eccc9_819_sabtriple.rm with memlimit 536870912

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3197c0aa87)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
b7f1d51b9c avfilter/af_aresample: Check ff_all_* for allocation failures
Fixes: signal_sigabrt_7ffff70eccc9_498_divx502.avi with memlimit 1572864

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 2ea8a48083)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
ed6d8e185a avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
Fixes: b4b47bc2b3fb7ca710bfffe5aa969e37_signal_sigabrt_7ffff70eccc9_744_nc_sample2.avi with memlimit of 4194304

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f1a38264f2)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
fb47b6cb4b swscale/utils: Clear pix buffers
Fixes use of uninitialized memory
Fixes: a96874b9466b6edc660a519c7ad47977_signal_sigsegv_7ffff713351a_744_nc_sample.avi with memlimit 2147483648

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a5d44d5c22)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Zhang Rui
5db095793a avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fcbea93cf8)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
7dbfeeeb94 ffmpeg: Fix cleanup after failed allocation of output_files
Fixes: 39a25908b84604acdaa490138282d091_signal_sigsegv_7ffff713351a_331_WAWV.avi with memlimit of 262144

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6e80fe1ecd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
e604662d04 avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
Fixes: 260813283176b57b3c9974fe284eebc3_signal_sigsegv_7ffff713351a_991_xtrem_e2_m64q15_a32sxx.3gp with memlimit of 262144

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 15629129dd)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
77eddee375 ffmpeg: Fix crash with ost->last_frame allocation failure
Fixes: 1013dbde2c360d939cc2dfc33e4f275c_signal_sigsegv_a0500f_45_320vp3.nsv with memlimit of 536870912

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fd4c87fa3b)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
fca28d35e4 ffmpeg: Fix cleanup with ost = NULL
Fixes: 09e670595acbdafb226974b08dab66e3_signal_sigabrt_7ffff70eccc9_991_xtrem_e2_m64q15_a32sxx.3gp with memlimit of 1048576

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 503ec7139f)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
9d0f7a8d78 avcodec/pthread_frame: check avctx on deallocation
Fixes null pointer dereferences
Fixes: af1a5a33e67e479f439239097bd0d4fd_signal_sigsegv_7ffff713351a_152_Dolby_Rain_Logo.pmp with memlimit of 8388608

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 5d346feafa)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
df6f2daccf avcodec/sanm: Reset sizes in destroy_buffers()
Fixes crash in 1288a2fe8e9ae6b00ca40e089d08ca65_signal_sigsegv_7ffff71426a7_354_accident.san with allocation limit 65536

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 39bbdebb1e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
0cb600b7bf avcodec/alac: Clear pointers in allocate_buffers()
Fixes: 06a4edb39ad8a9883175f9bd428334a2_signal_sigsegv_7ffff713351a_706_mov__alac__ALAC_6ch.mov

Found-by: Samuel Groß, Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f7068bf277)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Anton Khirnov
c5c141bc69 bytestream2: set the reader to the end when reading more than available
This prevents possible infinite loops with the calling code along the
lines of while (bytestream2_get_bytes_left()) { ... }, where the reader
does not advance.

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

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
6c98d5e7c8 avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264
Fixes Assertion failure
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7ef6656b1e)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
27a88f9d45 avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
This ensures that no stale pointers leak through on any path

Fixes: signal_sigsegv_c3097a_991_xtrem_e2_m64q15_a32sxx.3gp

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Chris Watkins
77f5302465 oggparsedirac: check return value of init_get_bits
If init_get_bits fails the GetBitContext is invalid and must not be
used. Check the return value in dirac_header and propogate the error.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Andreas Cadhalpun
6d6ca8b82e wmalosslessdec: reset frame->nb_samples on packet loss
Otherwise a frame with non-zero nb_samples but without any data can be
returned.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Andreas Cadhalpun
1ca226989c wmalosslessdec: avoid reading 0 bits with get_bits
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f9020d514e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
a4cb97067b avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
the later is not optimal when the buffer size is well known at allocation time

This avoids a memcpy()
Overall 2.5% speedup with a random 1920x1080 video

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
4fad45ad14 avcodec/aacsbr: Assert that bs_num_env is positive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2e13a45b1a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
1674c5beaf avcodec/aacsbr: check that the element type matches before applying SBR
Fixes out of array access
Fixes: signal_sigsegv_3670fc0_2818_cov_2307326154_moon.mux

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
11142fb83b avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
Fixes out of array access
Fixes: asan_heap-oob_4d5bb0_682_cov_3124593265_Fraunhofer__a_driving_force_in_innovation__small.mp4

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

Conflicts:

	libavcodec/h264_slice.c
2015-07-20 04:43:41 +02:00
James Zern
002bbc3687 vp9/update_prob: prevent out of bounds table read
the max value of the lookup in expanded form is:
(((1 << 7) - 1) << 1) - 65 + 1 + 64 = 254

add one entry of padding to inv_map_table[] to prevent out of bounds
access with non-conforming / fuzzed bitstreams

Signed-off-by: James Zern <jzern@google.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e91f860ea7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
1ea58c6c6a avfilter/vf_transpose: Fix rounding error
Fixes out of array access
Fixes: asan_heap-oob_7f875d_3482_cov_1818465256_ssudec.mov

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
917544b2ea avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b54ac8403b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:41 +02:00
Michael Niedermayer
873b08f411 avcodec/pngdec: Require a IHDR chunk before fctl
This is required by the APNG spec

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

Conflicts:

	libavcodec/pngdec.c
2015-07-20 04:43:40 +02:00
Michael Niedermayer
63ef4014c5 avcodec/pngdec: Only allow one IHDR chunk
Multiple IHDR chunks are forbidden in PNG
Fixes inconsistency and out of array accesses

Fixes: asan_heap-oob_4d5c5a_1738_cov_2638287726_c-m2-8f2b481b7fd9bd745e620b7c01a18df2.png

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

Conflicts:

	libavcodec/pngdec.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
0324008de6 wmavoice: limit wmavoice_decode_packet return value to packet size
Claiming to have decoded more bytes than the packet size is wrong.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
49ad1658b2 swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
Fixes fate/dds-rgb16 on big endian

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

Conflicts:

	tests/ref/fate/dds-rgb16
2015-07-20 04:43:40 +02:00
Michael Niedermayer
3b136179a3 ffmpeg: Do not use the data/size of a bitstream filter after failure
Found-by: Rodger Combs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8f0f678f09)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
James Almer
48127e2ad6 swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit e22edbfd41)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
James Almer
860dc1e19b swscale/x86/rgb2rgb_template: add missing xmm clobbers
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 910eeab480)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Sebastien Zwickert
be6a569e3a vda: unlock the pixel buffer base address.
The pixel buffer base address is never unlocked this causes
a bug with some pixel format types that are produced natively
by the hardware decoder: the first buffer was always used.
Unlock the pixel buffer base address fixes the issue.
(cherry picked from commit c06fdacc3d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
e920af2cdf swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7604358018)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
12e166dacb swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit abb833c568)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
80cec4e496 swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
The function is specific to little endian

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
f2e3d5adb3 swr: Remember previously set int_sample_format from user
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d4325b2fea)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
5019f8d10c matroskadec: check audio sample rate
And default to 8000 if it is invalid.

An invalid sample rate can trigger av_assert2 in av_rescale_rnd.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
476cf3eb7e matroskadec: validate audio channels and bitdepth
In the TTA extradata re-construction the values are written with
avio_wl16 and if they don't fit into uint16_t, this triggers an
av_assert2 in avio_w8.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
47e9508485 avcodec/dpxenc: implement write16/32 as functions
Fixes undefined behavior and segfault

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
cd85dd1373 postproc: fix unaligned access
QP_store is only 8-bit-aligned, so accessing it as uint32_t causes
SIGBUS crashes on sparc.
The AV_RN32/AV_WN32 macros only do unaligned access in the
HAVE_FAST_UNALIGNED case.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
a5e8ca7e73 ffmpeg: Free last_frame instead of just unref
Fixes Ticket4611

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

Conflicts:

	ffmpeg.c
2015-07-20 04:43:40 +02:00
wm4
c049e979b6 avio: fix potential crashes when combining ffio_ensure_seekback + crc
Calling ffio_ensure_seekback() if ffio_init_checksum() has been called
on the same context can lead to out of bounds memory accesses and
crashes. The reason is that ffio_ensure_seekback() does not update
checksum_ptr after reallocating the buffer, resulting in a dangling
pointer.

This effectively fixes potential crashes when opening mp3 files.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
7b1c5fa5e5 examples/demuxing_decoding: use properties from frame instead of video_dec_ctx
This is more robust.

And only check if there is actually a frame returned.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
008229b7f9 h264: er: Copy from the previous reference only if compatible
Also use the frame pixel format instead of the one from the codec
context, which is more robust.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit fdc64a1044)

Conflicts:

	libavcodec/h264_slice.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
3ea15a4547 sonic: set avctx->channels in sonic_decode_init
Otherwise it can be 0 in sonic_decode_frame, causing SIGFPE crashes.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
31dd783631 vp8: change mv_{min,max}.{x,y} type to int
If one of the dimensions is larger than 8176, s->mb_width or
s->mb_height is larger than 511, leading to an int16_t overflow of
s->mv_max.{x,y}. This then causes av_clip to be called with amin > amax.

Changing the type to int avoids the overflow and has no negative
effect, because s->mv_max is only used in clamp_mv for clipping.
Since mv_max.{x,y} is positive and mv_min.{x,y} negative, av_clip can't
increase the absolute value. The input to av_clip is an int16_t, and
thus the output fits into int16_t as well.

For additional safety, s->mv_{min,max}.{x,y} are clipped to int16_t range
before use.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit 6fdbaa2b7f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
c10871aca8 vp9: change type of tile_size from unsigned to int64_t
Otherwise the check 'tile_size < size' treats a negative size as
unsigned, causing the check to pass. This subsequently leads to
segmentation faults.

This was originally fixed as part of Libav commit 72ca83, so the
original author is one of the following developers:
        Anton Khirnov <anton@khirnov.net>
        Diego Biurrun <diego@biurrun.de>
        Luca Barbato <lu_zero@gentoo.org>
        Martin Storsjö <martin@martin.st>

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit b18eac7ff2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
b477f97ab9 arm: only enable setend on ARMv6
Without this check it causes SIGILL crashes on ARMv5.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
c7ef69c23c libopenjpegdec: check existence of image component data
libopenjpeg can return images with components without data.

This fixes segmentation faults.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
274121179f mov: abort on EOF in ff_mov_read_chan
Otherwise the loop can take a lot of time if num_descr is very large.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit a5718863da)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Michael Niedermayer
1c5d25f2c0 ffmpeg_opt: Check for localtime() failure
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8e91d9652e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Deliang Fu
35e46e74bc avformat: Fix bug in parse_rps for HEVC.
Make the logic in libavformat/hevc.c parse_rps align with libavcodec/hevc_ps.c ff_hevc_decode_short_term_rps

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:40 +02:00
Andreas Cadhalpun
d15f4f5f22 takdec: ensure chan2 is a valid channel index
If chan2 is not smaller than the number of channels, it can cause
segmentation faults due to dereferencing a NULL pointer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 05c57ba2f4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
0afa8a6c85 avcodec/h264_slice: Use AVFrame diemensions for grayscale handling
The AVFrame values are closer to the AVFrame bitmap changed instead of
the AVCodecContext values, so this should be more robust

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

Conflicts:

	libavcodec/h264_slice.c
2015-07-20 04:43:39 +02:00
Michael Niedermayer
33ec70785f avdevice/lavfi: do not rescale AV_NOPTS_VALUE in lavfi_read_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 913685f552)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Simon Thelen
3c7e41df27 libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'.
Return layout when FF_API_GET_CHANNEL_LAYOUT_COMPAT is set even if the
layout itself is not in the deprecated style.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 83307a32eb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
6b4c6b7ff5 avcodec/jpeg2000dec: Check that coords match before applying ICT
This avoid potential out of array accesses

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
e21db6e339 avformat/ffmdec: Check ffio_set_buf_size() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit dc55477a64)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
e354ec95d6 avcodec/adpcm: Check for overreads
See: vlc ticket 14649
Reported-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3c803ed9cb)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
2b31264e1a avcodec/alsdec: Check for overread
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c265763318)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
c2595b4485 avcodec/atrac3plusdec: consume only as many bytes as available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6b6ae7c3ea)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Nedeljko Babic
c8377cc49b libavutil/softfloat: Fix av_normalize1_sf bias.
av_normalize1_sf doesn't properly address border case when mantis is
exactly -0x40000000.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
ed5bfeca04 swresample/swresample: Cleanup on init failure.
This avoids leaks if the user doest call swr_close() after a failed init

Found-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c3f87f7545)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
7050d07562 Revert "avformat/rtpenc: check av_packet_get_side_data() return, fix null ptr dereference"
This was simply wrong

Found-by: Martin Storsjö
This reverts commit 5d8e4f6da0.
(cherry picked from commit 3e34b7498f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
19cef664fe avformat/mxfenc: Accept MXF D-10 with 49.999840 Mbit/sec
This is the maximum rate possible based on the frame size limit of MXF D-10

Previous version reviewed by tim nicholson <nichot20@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d7a762553c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Ganesh Ajjanagadde
9d749d69b2 swresample/dither: check memory allocation
check memory allocation in swri_get_dither()

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Andreas Cadhalpun
d6d328c294 libopenjpegenc: add NULL check for img before accessing it
If opj_image_create fails to allocate an image it returns NULL, which
causes a segmentation fault at 'img->x0 = 0'.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
9591f2fe94 swresample: Check the return value of resampler->init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 02915602d9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Luca Barbato
b46ae71f29 h264: Make sure reinit failures mark the context as not initialized
(cherry picked from commit 0181ae9af2)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
c40aa4704f avfilter/x86/vf_fspp: Fix invalid combination of opcode and operands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5bc2c39527)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
3ea2ffc284 ffmpeg_opt: Set the video VBV parameters only for the video stream from -target
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2ce6e41911)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
9e3723b848 avcodec/bitstream: Assert that there is enough space left in avpriv_copy_bits()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 291ad5cc9c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
63716cebb7 avcodec/put_bits: Assert that there is enough space left in skip_put_bytes()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8f5ffed183)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
665b34df73 avcodec/mpegvideo_enc: Update the buffer size as more slices are merged
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 561d3a57aa)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
4947158b1f avcodec/put_bits: Update size_in_bits in set_put_bits_buffer_size()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e4c2ec879b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Rodger Combs
308bcf53f9 avformat/wavdec: Increase dts packet threshold to fix more misdetections
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 40a3e1e9c5)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
4db46cf520 avformat/wavdec: Increase probe_packets limit
Fixes DTS detection of b2429e5ba9.dts

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Andreas Cadhalpun
cb921dd47f nutdec: abort if EOF is reached in decode_info_header/read_sm_data
These loops can take a lot of time if count is very large.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Andreas Cadhalpun
9c3d306ba4 nutdec: stop skipping bytes at EOF
This can unnecessarily waste a lot of time.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Andreas Cadhalpun
d4d8c3553d nutdec: fix infinite resync loops
nut->last_syncpoint_pos doesn't necessarily change between resync
attempts, so find_any_startcode can return the same startcode again.

Thus remember where the last resync happened and don't try to resync
before that.

This can't be done locally in nut_read_packet, because this wouldn't
prevent infinite resync loops, where after the resync a packet is
returned and while reading a following packet the resync happens again.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
bd9313d9f8 avformat/nutdec: Check X in 2nd branch of index reading
Prevents read of uninitialized variable

Based on patch by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ebb0ca3d70)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:39 +02:00
Michael Niedermayer
6270401561 avformat/nutdec: Fix recovery when immedeately after seeking a failure happens
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b3496b4a33)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:38 +02:00
Michael Niedermayer
862ba8b4b4 avformat/nutdec: Return error on EOF from get_str()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6bbb2f8f4d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:38 +02:00
Martin Storsjö
94a3d2e49c rtsp: Make sure we don't write too many transport entries into a fixed-size array
(cherry picked from commit b90adb0aba)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:38 +02:00
Andrey Utkin
4c2a1e673b rtpenc_jpeg: handle case of picture dimensions not dividing by 8
This fixes the calculation of the number of needed blocks to make
sure that ALL pixels are represented by the result.

Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7f64a7503b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:38 +02:00
Michael Niedermayer
3bb17d2692 avcodec/golomb: get_ur_golomb_jpegls: Fix reading huge k values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c720b9ce98)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-20 04:43:38 +02:00
Michael Niedermayer
a5e18e900f avformat/swfdec: Do not error out on pixel format changes
Instead print an error and continue

Fixes Ticket4702

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6a1204a1a4)
2015-07-08 12:42:36 +02:00
Michael Niedermayer
8c5d196f50 avformat/mov: Mark avio context of decompressed atoms as seekable
Fixes Ticket4329

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8ce564ea28)
2015-06-19 10:57:07 +02:00
Michael Niedermayer
678a189e5d avcodec/mjpegenc_common: Use ff_mpv_reallocate_putbitbuffer()
Fixes assertion failure
Fixes Ticket4396

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c50904fd78)
2015-06-19 10:55:06 +02:00
Michael Niedermayer
e2054a8b55 avcodec/mpegvideo: Factor ff_mpv_reallocate_putbitbuffer() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 00f3bb2ef2)
2015-06-19 10:55:02 +02:00
Michael Niedermayer
ecd3cce0ec avfilter/x86/vf_hqdn3d: Fix register types
Fixes Ticket4301

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 52fc3e372f)
2015-06-19 10:52:35 +02:00
Paul B Mahol
81d923f14b avcodec/exr: fix crash caused by merge
Various header informations need to be reset when decoding next frame.
Regression since: 95582b5c

Fixes ticket #4597.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
(cherry picked from commit a03b69478b)
2015-06-19 10:37:30 +02:00
Michael Niedermayer
a6bdfd9b46 avcodec/x86/h264_weight: handle weight1=128
Fix ticket4596

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e100966575)
2015-06-19 10:34:33 +02:00
banastasov
df408d213a avcodec/dvbsubdec: Fix buf_size check in dvbsub_parse_display_definition_segment()
Fixes Ticket4326

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit debf4d6e67)
2015-06-19 10:32:20 +02:00
Michael Niedermayer
7e5a298bce avcodec/hevc_ps: Only discard overread VPS if a previous is available
Fixes Ticket4621

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 57078e4d25)
2015-06-19 10:27:32 +02:00
George Boyle
d9dd0cbe63 avcodec/flacenc: Fix Invalid Rice order
Fixes ticket #4628.

The problem arose, in the sample file at least, in the last block where the
minimum and maximum Rice partition orders were both 0. In that case, and any
other where pmax == pmin, the original UINT32_MAX placeholder value for
bits[opt_porder] was getting overwritten before the comparison to check if the
current partition order is a new optimal, so the correct partition order and
RiceContext params were not being set.

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

Conflicts:
	libavcodec/flacenc.c
2015-06-19 10:26:41 +02:00
Nicolas George
1f7343c814 lavd/xcbgrab: fix comparison with screen size.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7971fa9ce0)
2015-05-19 11:29:26 +02:00
Michael Niedermayer
af5917698b avformat/avidec: add mp2 to the list of exceptions instead of generally treating dshow_block_align==1 special
Fixes Ticket4552

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-17 02:16:39 +02:00
Michael Niedermayer
b58cbb07bc avformat/mov: Fix parsing short loci
Fixes Ticket4557

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 21:36:48 +02:00
Michael Niedermayer
dd9789ab6d avformat/mov: Print reason of loci parsing failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9e4f0cfc8f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 21:36:36 +02:00
Michael Niedermayer
aded27a30b Update for 2.6.3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-16 00:41:10 +02:00
Michael Niedermayer
a1f68d9518 avcodec/hevc: Fix typo in num_entry_point_offsets check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3051e7fa71)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 23:56:52 +02:00
Michael Niedermayer
2612b69d3f avcodec/libtheoraenc: Check for av_malloc failure
Fixes CID1257799

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 23:55:29 +02:00
Michael Niedermayer
88217c40b6 avcodec/dcadec: Check active_bands
Fixes CID1297594 part2

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 20:40:26 +02:00
Michael Niedermayer
001cc6d27a avcodec/dcadec: Check scale table index
Fixes CID1297594 part 1

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 20:33:04 +02:00
Michael Niedermayer
ea6bd45885 avcodec/sonic: More completely check sample_rate_index and channels
Fixes CID1271783

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:52:47 +02:00
Michael Niedermayer
51850d9a2c avcodec/sonic: check memory allocations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c131a9fead)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:52:26 +02:00
Michael Niedermayer
211ec9196d avcodec/smvjpegdec: check avcodec_decode_video2() return code
Fixes CID1271810

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:52:07 +02:00
Michael Niedermayer
e4318f6875 avcodec/shorten: More complete pred_order check
Fixes CID1239055

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:45:06 +02:00
Michael Niedermayer
008c1debb9 avcodec/shorten: Check skip_bytes()
Fixes CID1210526

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:44:31 +02:00
Michael Niedermayer
f33bd39d27 avcodec/shorten: Fix code depending on signed overflow behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2d15588124)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 17:41:47 +02:00
Michael Niedermayer
0337770352 avcodec/proresdec2: Reset slice_count on deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c4c6aea397)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 16:30:11 +02:00
Michael Niedermayer
ab8f686bbc avcodec/dvbsubdec: Clear w/h/size on region buffer allocation failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9f0b898e82)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:52 +02:00
Carl Eugen Hoyos
b5a942685f lavf/matroskaenc: List subtitle codecs with fake codec_tags to allow remuxing.
Fixes remuxing of DVBSUB to mkv.
2015-05-15 10:04:52 +02:00
Michael Niedermayer
7e2ea1cb70 ffmpeg_opt: Fix -timestamp parsing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 107e4da476)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:52 +02:00
Michael Niedermayer
10e1108732 avcodec/dcadec: Check subsubframes
Fixes: CID1239152

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:52 +02:00
Michael Niedermayer
3da0395b34 avcodec/dcadec: Check nchans
Fixes CID1239110

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
wm4
25d50ad814 hevc: make avcodec_decode_video2() fail if get_format() fails
Personally, I need the decoder to back out if get_format() returns no
usable pixel format. This didn't work because the error code was not
propagated down the call chain. This in turn happened because the
variable declaration removed in this patch shadowed the variable, whose
value is returned at the end of the function. Consequently, failures of
decode_nal_unit() were ignored in this place.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
fb564cd21d avcodec/cavsdec: Use ff_set_dimensions()
Fixes CID1239111 part2

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
10609d8864 avcodec/cavsdec: Check esc_code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 139e1c8009)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
dbc48ba1cd avcodec/on2avc: Check run more carefully
Fixes CID1239106

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
19ffa15d2d avcodec/mpeg4audio: add some padding/alignment to MAX_PCE_SIZE
This avoids potential accesses over the end

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Rainer Hochecker
531ea97b89 swr: fix alignment issue caused by 8ch sse functions
Fix crash when doing 8 ch conversion from apps compiled with MSVS
Thanks to Ronald for giving this hint:
https://ffmpeg.org/pipermail/ffmpeg-devel/2015-May/173049.html

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit adb7372f74)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
0a5b242422 avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 81cf910856)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
f43fb74ad4 avcodec/jpeg2000dec: fix boolean operator
Fixes CID1271791 #7-6

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
0463e9d6da avcodec/hevc_ps: Explicitly check num_tile_* for negative values
This fixes nothing but maybe helps coverity which does not see that this is failing later

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
e8784ec5f5 avcodec/hevc_ps: Check vps_num_hrd_parameters
Fix CID1239052 part2

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
0a93dc83d2 avcodec/hevc_ps: More completely check vps_num_layer_sets
Fixes CID1239052  part1

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
bced2ad1bd avcodec/hevc: Check num_entry_point_offsets
Fixes CID1239099 part 2

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
fe22d0d7c6 avcodec/hevc: Check offset_len
Fixes CID1239099 part 1

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Nick Lewycky
a5167b4d66 libswscale/x86/hscale_fast_bilinear_simd.c: Include BX in the clobber list on x86_64, because it isn't implicitly included when PIC is on.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 48e9f68384)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
3123cb5d0b avcodec/hevc_sei: Check num_sps_ids_minus1 value
Fixes CID1271794

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
375a97bb70 avcodec/vqavideo: Check chunk size
Fixes CID1239154

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
0fc6a95116 avformat/hevc: Check num_negative_pics and num_positive_pics
Fixes CID1238994

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
f93412406f avformat/hevc: Check cpb_cnt_minus1
Fixes CID1239014

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
05eddbbc05 avformat/matroskadec: Cleanup error handling for bz2 & zlib
Fixes CID703652

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
75b21eb8f8 avformat/nutdec: Fix use of uinitialized value
Fixes CID1041175

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
1933fa5daa avformat/rtpenc_jpeg: Check remaining buffer size for SOS
Fixes CID1238818

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
bd05ac1df8 avformat/rtpdec_xiph: Check upper bound on len in xiph_handle_packet()
Larger packets are not supported and would cause problems later

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
8d0f079c45 tools/graph2dot: use larger data types than int for array/string sizes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit acf4925f44)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
889a4779eb avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()
Its currently guaranteed to be smaller but its safer to check anyway

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
a9d3baff03 avformat/oggenc: Check ff_vorbiscomment_length in ogg_write_vorbiscomment()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0db5b2b9f8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
f4ce752f22 avformat/flacenc: Check length in flac_write_block_comment()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 40a7700b82)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
02532e1162 avformat/subtitles: Use size_t for len
string length could theoretically be larger than int

Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a633928d47)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
b1652fbb9e avformat/url: Use size_t for len from strlen()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 95efc65129)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
39236d5618 avutil/avstring: Use size_t in av_strlcatf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ae4eea8be4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
38e628fd6d avformat/vorbiscomment: Check entry length in ff_vorbiscomment_write()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit eca38864a6)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:51 +02:00
Michael Niedermayer
cf6cbcca7e avutil/dict: Use size_t for appending strings
the string length is not constrained to INT_MAX

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

Conflicts:

	libavutil/dict.c
2015-05-15 10:04:51 +02:00
Michael Niedermayer
df9eca44f8 libavutil/mem: use size_t for the length in av_strdup()
the string length is not constrained to INT_MAX

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Giorgio Vazzana
a563a1468f lavd/v4l2: fix typo
This was introduced in cde6e328de

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
fd17e34217 avcodec/mpeg12dec: use the correct dimensions for checking SAR
Fixes Ticket4533

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
ec17706e5c avcodec/ffv1dec: Check chroma shift parameters
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d43cd6b08e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
e0f85f10c8 avcodec/wavpack: Check L/R values before use to avoid harmless integer overflow and undefined behavior in fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 042260cde4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Luca Barbato
9ccaeff67a xcbgrab: Validate the capture area
And notify why the capture is impossible.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Luca Barbato
4a46a29b07 xcbgrab: Do not assume the non shm image data is always available
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 82a10225f8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
22ef88ee30 avfilter/lavfutils: disable frame threads when decoding a single image
The image decoding code does expect the image to be decoded immedeatly

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
48e53620e0 avformat/mov: Do not read ACLR into extradata for H.264
Fixes regression decoding AVCI
Fixes Ticket4493

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
8a7748e1de 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-05-15 10:04:50 +02:00
Maneesh Gupta
86a360e349 OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
The opt_opencl_bench function copied the device name using strcpy without checking if the source string was larger.
This patch fixes this by replacing the strcpy with av_strlcpy, with the string copy size capped to the destination buffer size.

Signed-off-by: Maneesh Gupta <maneesh.gupta@amd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit cf234552b8)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
James Zern
07ad029d1b libvpxenc: only set noise reduction w/vp8
this quiets a warning:
Failed to set VP8E_SET_NOISE_SENSITIVITY codec control: Unspecified
internal error

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Zern <jzern@google.com>
(cherry picked from commit 238ec505e2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Ronald S. Bultje
b53b6a25e2 vp9: remove another optimization branch in iadst16 which causes overflows.
See sample vp90-2-14-resize-fp-tiles-16-8.webm from the vp9 test vector
set to reproduce the issue.
(cherry picked from commit 3de13d5212)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
83ee63e7f8 avcodec/dvbsubdec: Do not return a value from a function returning void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e06dde52d7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Vittorio Giovara
536093824d 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-05-15 10:04:50 +02:00
Vittorio Giovara
485f53548b network: Do not leave context locked on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 45340f9fc7)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Ronald S. Bultje
2ac7a0d999 vp9: remove one optimization branch in iadst16 which causes overflows.
See sample vp90-2-14-resize-fp-tiles-16-8-4-2-1.webm from the vp9 test
vector set which reproduces the issue. This probably costs a few cycles,
but I don't think there's an easy way to workaround that.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Timothy Gu
b35d67fa51 fate: Include branch information in the payload header
The server is properly equiped not to choke on that now.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
b942813a41 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-05-15 10:04:50 +02:00
Michael Niedermayer
a75f293264 avformat/img2dec: do not rewind custom io buffers
Fixes double free with some applications

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
33862c1f6d 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-05-15 10:04:50 +02:00
Michael Niedermayer
89fbae7686 avcodec/atrac3plusdsp: fix on stack alignment
Fixes fate failure on ARM
(cherry picked from commit 38f6726068)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
3f9ecaf886 swresample/swresample-test: Randomly wipe out channel counts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ff50b1b13b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
50dc37f281 swresample: Check channel layouts and channels against each other and print human readable error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3c77bb5f23)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
6c39528a3a swresample: Allow reinitialization without ever setting channel layouts
(cherry picked from commit 80a28c7509)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
Michael Niedermayer
9b0c9261cc swresample: Allow reinitialization without ever setting channel counts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d7b9cb2f7a)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-15 10:04:50 +02:00
James Almer
9fc45b313c dashenc: replace attribute id with contentType for the AdaptationSet element
id should be an integer, not a string. It is also optional, so use
contentType instead which is the proper attribute for these values.

This addresses ticket #4545, fixing an MPD validation error.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 32a4177a62)
2015-05-14 20:57:24 -03:00
Michael Niedermayer
d9390b9d64 avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts
This reduces the number of cases where timestamps need to be shifted

Fixes Ticket4487

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9d4fdfe24c)
2015-05-14 19:52:02 -03:00
Michael Niedermayer
5a8b43285b avformat/mux: Add avoid_negative_ts_use_pts
This allows using pts instead of dts for negative TS avoidance

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7ac5c38ec5)
2015-05-14 19:51:55 -03:00
Michael Niedermayer
8e94e5d339 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)
2015-05-14 19:51:39 -03:00
Andreas Cadhalpun
73cf5d9a28 cafdec: free extradata before allocating it
This fixes a memleak if read_kuki_chunk is executed more than once.

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit cb7c4f73e5)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:14:32 +02:00
Andreas Cadhalpun
ac83399281 cafdec: check avio_read return value
If avio_read fails, the buffer can contain uninitialized values.

Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit a3ede6b742)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:14:19 +02:00
Andreas Cadhalpun
9bcaf90378 imgutils: initialize palette padding bytes in av_image_alloc
av_image_fill_pointers always aligns the palette, but the padding
bytes don't (and can't) get initialized in av_image_copy.

Thus initialize them in av_image_alloc.

This fixes 'Syscall param write(buf) points to uninitialised byte(s)'
valgrind warnings.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 51f6455285)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:14:10 +02:00
Andreas Cadhalpun
d9249b5582 aacdec: don't return frames without data
Since commit 676a395a aac->frame->data is not necessarily allocated at
the end of aac_decode_frame_int if avctx->channels is 0.

In this case a bogus frame without any data, but non-zero nb_samples is
returned.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ec38a1ba40)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:13:58 +02:00
Andreas Cadhalpun
66b95ee4df id3v2: catch avio_read errors in check_tag
Since len is an unsigned int, the comparison is currently treated as
unsigned and thus ignores all errors from avio_read.

Thus cast len to int, which is unproblematic, because at that point len
is between 0 and 4.

This fixes 'Conditional jump or move depends on uninitialised value'
valgrind warnings in is_tag.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0382c94f13)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:13:49 +02:00
Andreas Cadhalpun
0f7e67be3a avi: Validate sample_size
And either error out or set it to 0 if it is negative.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 4d0ee4962b)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>

Conflicts:
	libavformat/avidec.c
2015-05-14 19:13:13 +02:00
Andreas Cadhalpun
0856eea770 aacsbr: break infinite loop in sbr_hf_calc_npatches
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 584cc1ade1)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:10:49 +02:00
Andreas Cadhalpun
04f80ed3f8 diracdec: check that block length is valid
In init_planes p->xblen and p->yblen are set to:
            p->xblen = s->plane[0].xblen >> s->chroma_x_shift;
            p->yblen = s->plane[0].yblen >> s->chroma_y_shift;

These are later used as block_w and block_h arguments of
s->vdsp.emulated_edge_mc. If one of them is 0 it triggers an av_assert2
in emulated_edge_mc:
    av_assert2(start_x < end_x && block_w > 0);
    av_assert2(start_y < end_y && block_h > 0);

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 75fc81c831)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:10:32 +02:00
Andreas Cadhalpun
c6f6be93ac diracdec: check if reference could not be allocated
s->ref_pics[i] is later used as ref argument of interpolate_refplane,
where it is dereferenced.

If it is NULL, it causes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d93181ef3e)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:10:23 +02:00
Andreas Cadhalpun
c6418be043 diracdec: avoid overflow of bytes*8 in decode_lowdelay
If bytes is large enough, bytes*8 can overflow and become negative.

In that case 'bufsize -= bytes*8' causes bufsize to increase instead of
decrease.

This leads to a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 9e66b39aa8)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:10:16 +02:00
Andreas Cadhalpun
f78d7e6a03 diracdec: prevent overflow in data_unit_size check
buf_idx + data_unit_size can overflow, causing the '> buf_size' check to
wrongly fail.

This causes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 984f50deb2)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:10:06 +02:00
Andreas Cadhalpun
0cb8d786f2 avidec: check for valid bit_rate range
If bit_rate is negative, it can trigger an av_assert2 in av_rescale_rnd.

Since av_rescale returns int64_t, but st->codec_bit_rate is int, it can
also overflow into a negative value.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0eec40b713)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:09:47 +02:00
Michael Niedermayer
c74846388b avformat/matroskadec: Use tracks[k]->stream instead of s->streams[k]
The later is not correct

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5d309d3091)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:09:37 +02:00
Andreas Cadhalpun
35013fa23a matroskadec: check s->streams[k] before using it
This fixes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit e54540655f)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:09:32 +02:00
Andreas Cadhalpun
33d77bc384 matroskadec: use uint64_t instead of int for index_scale
index_scale is set to matroska->time_scale of type uint64_t.

When index_scale is int, the assignment can overflow and e.g. result
in index_scale = 0. This causes a floating point exception due to the
division by index_scale.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit eb9fb508b0)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:09:19 +02:00
Andreas Cadhalpun
e6a5023d1f pngdec: don't use AV_PIX_FMT_MONOBLACK for apng
AV_PIX_FMT_MONOBLACK has the AV_PIX_FMT_FLAG_BITSTREAM flag, i.e.
linesize can be smaller than width.

Since x_offset is only check against the width, this can lead to
x_offset * bpp >= image_linesize.

In this case ptr could be set to a position outside the image_buf in
png_handle_row, leading to memory corruption and thus crashes.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 372aa0777a)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:09:10 +02:00
Andreas Cadhalpun
99e737a7c7 pngdec: return correct error code from decode_frame_common
During the loop ret can get changed. Since it is not set on all failure
paths, decode_frame_common can return 0 even though an error occurred.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8f760be4d3)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:09:00 +02:00
Andreas Cadhalpun
835037506b pngdec: check s->last_picture.f->data[0] before using it
This check was removed in commit 08aec6f6, but
s->last_picture.f->data[0] is still used in handle_p_frame_apng
unconditionally.

This fixes a segmentation fault.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 287dbb0771)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:08:54 +02:00
Andreas Cadhalpun
2f290cf881 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:08:38 +02:00
Andreas Cadhalpun
2523bdcd67 nutdec: fix memleaks on error in nut_read_header
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 361702660d)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:08:26 +02:00
Andreas Cadhalpun
9b87d15ca8 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:08:02 +02:00
Andreas Cadhalpun
a13a288ec8 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:07:55 +02:00
Andreas Cadhalpun
9f2c8734b9 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:07:47 +02:00
Andreas Cadhalpun
d35086d715 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:07:42 +02:00
Rong Yan
be1b665dec swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong
GCC tool had a bug of PPC intrinsic interpret, which has been fixed in GCC 4.9.1. This bug lead to
errors in two of our previous patches. We found this when we update our GCC tools to 4.9.1 and by
reading the related info on GCC website. We fix our previous error in two separate commits

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 603c839398)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:07:33 +02:00
Andreas Cadhalpun
47f5f6b230 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:07:21 +02:00
Andreas Cadhalpun
01291b4e2f 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:07:13 +02:00
Andreas Cadhalpun
787e094ed0 bink: check vst->index_entries before using it
This fixes a NULL pointer dereference if vst->duration is 0.

The problem was introduced in commit 0588acaf.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 86d00ede4f)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:07:01 +02:00
Andreas Cadhalpun
2f8f4351b8 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)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:06:54 +02:00
Andreas Cadhalpun
f77cb3d4a6 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)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:06:42 +02:00
Andreas Cadhalpun
3258e12d8c aacpsy: correct calculation of minath in psy_3gpp_init
The minimum of the ath(x, ATH_ADD) function depends on ATH_ADD.
This patch uses the first order approximation to determine it.

For ATH_ADD = 4 this results in the value at 3407.06812 (-5.24241638)
not the one at 3410 (-5.24237967).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Approved-by: Claudio Freire <klaussfreire@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit ca9849eecd)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:06:36 +02:00
Andreas Cadhalpun
84cd276d0e 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:06:24 +02:00
Andreas Cadhalpun
a298e13c2c alsdec: limit avctx->bits_per_raw_sample to 32
avctx->bits_per_raw_sample is used in get_sbits_long, which only
supports up to 32 bits.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4c2b88678b)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:06:16 +02:00
Andreas Cadhalpun
50fb69c737 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:06:01 +02:00
Andreas Cadhalpun
9c826d8d51 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:05:54 +02:00
Andreas Cadhalpun
4aa4c78dae 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:05:48 +02:00
Andreas Cadhalpun
7b13aef5d2 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:05:41 +02:00
Andreas Cadhalpun
aebafed24f 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:05:32 +02:00
Andreas Cadhalpun
4ea7ff4354 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: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:05:11 +02:00
wm4
262c678357 matroskadec: export cover art correctly
Generally, libavformat exports cover art pictures as video streams with
1 packet and AV_DISPOSITION_ATTACHED_PIC set. Only matroskadec exported
it as attachment with codec_id set to AV_CODEC_ID_MJPEG.

Obviously, this should be consistent, so change the Matroska demuxer to
export a AV_DISPOSITION_ATTACHED_PIC pseudo video stream.

Matroska muxing is probably incorrect too. I know that it can create
broken files with an audio track and just 1 video frame when e.g.
remuxing mp3 with APIC to mkv. But for now this commit does not change
anything about muxing, and also continues to write attachments with
AV_CODEC_ID_MJPEG should the muxer application have special knowledge
that the Matroska is broken in this way.

Fixes trac #4423.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 511585ce7f)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:04:55 +02:00
Andreas Cadhalpun
763ab41f77 mxfenc: don't try to write footer without header
This fixes a crash, when trying to mux h264 into mxf_opatom.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Previous version reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

(cherry picked from commit b61cb61ab8)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:04:33 +02:00
Andreas Cadhalpun
76ee9fdb61 mxfenc: fix memleaks in mxf_write_footer
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 39ddda12f1)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:04:17 +02:00
Martin Storsjö
692fd5635f rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
By making sure we at each time only have one pointer set, either a
local variable or one in the context, we avoid potential double frees
in the cleanup routines. If chain->rtp_ctx is set, it is closed by
calling avformat_write_trailer, but that shouldn't be called unless
avformat_write_header succeeded.

This issue was pointed out by Andreas Cadhalpun.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit cf402d6fa8)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:04:05 +02:00
Martin Storsjö
c3b1261afa rtpenc_mpegts: Free the right ->pb in the error path in the init function
This fixes a typo from 8e32b1f096.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit c83dd2d2a4)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-05-14 19:03:26 +02:00
James Almer
04fd0250e1 doc: add aarch64 cpuflags to fftools documentation
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 9fc45681e0)
2015-04-11 16:21:31 -03:00
James Almer
6f236d3774 doc: add missing arm cpuflags to fftools documentation
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 666ec9bd09)
2015-04-11 16:21:24 -03:00
James Almer
c1c245e1a3 doc: add missing x86 cpuflags to fftools documentation
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 410c93cfd5)
2015-04-11 16:21:02 -03:00
Michael Niedermayer
369f46aae3 Update for 2.6.2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:31:01 +02:00
Michael Niedermayer
05b448082a avcodec/h264: Do not fail with randomly truncated VUIs
Fixes Ticket4445

Tested-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit bc48c88918)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Michael Niedermayer
b4bfbbfb95 avcodec/h264_ps: Move truncation check from VUI to SPS
This more completely checks for truncation

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Michael Niedermayer
e6d9094fd3 avcodec/h264: Be more tolerant to changing pps id between slices
Fixes Ticket4446

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

Conflicts:

	libavcodec/h264.c
2015-04-11 22:01:46 +02:00
Michael Niedermayer
bcc4c360aa 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-11 22:01:46 +02:00
Michael Niedermayer
8be177e048 avcodec/h264: reset the counts in the correct context
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Michael Niedermayer
7d5908d5c8 avcodec/h264_slice: Dont reset mb_aff_frame per slice
Fixes null pointer dereference
Fixes Ticket4440

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

Conflicts:

	libavcodec/h264_slice.c
2015-04-11 22:01:46 +02:00
Michael Niedermayer
3550d239a6 avcodec/h264: finish previous slices before switching to single thread mode
Fixes null pointer dereference
Fixes Ticket4438

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

Conflicts:

	libavcodec/h264.c
2015-04-11 22:01:46 +02:00
Michael Niedermayer
d3f96c1e3c avcodec/h264: Fix race between slices where one overwrites data from the next
Fixes non deterministic crash in ticket4408/fuzz2.264
Likely fixes other samples as well

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

Conflicts:

	libavcodec/h264.h
	libavcodec/h264_slice.c
2015-04-11 22:01:46 +02:00
Michael Niedermayer
ac07ab7db7 avformat/utils: avoid discarded streams in av_find_default_stream_index()
Fixes Ticket2010

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Michael Niedermayer
9bff35abde ffmpeg: Fix extradata allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4d02dfbde4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Michael Niedermayer
9ee7fcdcd0 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-11 22:01:46 +02:00
Michael Niedermayer
f1b4a71ddf avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
Fixes Ticket4408

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Michael Niedermayer
fa538f1a8c Revert "avcodec/exr: fix memset first arg in reverse_lut()"
This reverts commit 586ba24ff2.

Fixes Ticket 4386

Found-by: Martin Vignali <martin.vignali@gmail.com>
(cherry picked from commit 5dd5b7d531)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Rainer Hochecker
7689fe5cfd h264: avoid unnecessary calls to get_format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 22:01:46 +02:00
Michael Niedermayer
f597b9f04e 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-11 22:01:46 +02:00
James Almer
037d6cf580 avutil/cpu: add missing check for mmxext to av_force_cpu_flags
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 1f5d1eed78)
2015-03-28 22:10:34 -03:00
Carl Eugen Hoyos
8bd7bf1a3c lavc/dnxhd: Fix pix_fmt change.
Fixes ticket #4400.
(cherry picked from commit dcac15a84c)
2015-03-28 20:01:22 +01:00
Micah Galizia
f90c9bbbca avformat/http: replace cookies with updated values instead of appending forever
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c59654d67d)
Signed-off-by: Micah Galizia <micahgalizia@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:59:35 +01:00
Micah Galizia
f2abcdedfe avformat/hls: refactor repeated HLS option updates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fca0851879)
Signed-off-by: Micah Galizia <micahgalizia@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:59:24 +01:00
Micah Galizia
eebd161e76 avformat/hls: store cookies returned in HLS key response
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7859618aff)
Signed-off-by: Micah Galizia <micahgalizia@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:59:09 +01:00
Michael Niedermayer
6a4d1325e2 avformat/rmdec: fix support for 0 sized mdpr
Fixes Ticket4393

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:59:05 +01:00
Michael Niedermayer
dfce316c12 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-03-28 11:59:05 +01:00
Michael Niedermayer
87e2a689a8 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-03-28 11:59:04 +01:00
Anton Khirnov
e9eb9839bd hevc: make the crop sizes unsigned
(cherry picked from commit c929659bdd)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:59:04 +01:00
Michael Niedermayer
c3be71001c avcodec/dnxhddec: Reset is_444 if format is not 444
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d3bd943108)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:59:04 +01:00
Michael Niedermayer
f3deed98ec 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-03-28 11:59:04 +01:00
James Cowgill
7439ed2f39 mips/float_dsp: fix vector_fmul_window_mips on mips64
Commit dfa9208074 ("mips/float_dsp: fix a bug in vector_fmul_window_mips")
fixed vector_fmul_window_mips by unrolling the loop only 4 times, but also
removed the outer C loop and replaced it with assembly branches and pointer
arithmetic. When submitting my 64-bit porting patch I missed this new
assembly which also needed porting.

This patch fixes a bus error in the fate-float-dsp test when run on 64-bit
mips.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit f8323744a0)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-28 11:59:04 +01:00
Carl Eugen Hoyos
40607290c9 doc: Remove non-existing decklink options.
Reported-by: Bostjan Hamler
(cherry picked from commit c5d0148c7e)
2015-03-24 09:58:11 +01:00
Carl Eugen Hoyos
a9e683bb7a doc: Fix alphabetic ordering for decklink input device.
(cherry picked from commit a47c2a1d5f)
2015-03-24 09:58:08 +01:00
Ronald S. Bultje
0edf9c6907 vp9: make above buffer pointer 32-byte aligned.
Fixes ticket #4383

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 1fd1f58bd6)
2015-03-21 14:28:01 -03:00
Michael Niedermayer
b2c9cd36d3 Changelog: update for 2.6.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 20:09:11 +01:00
Michael Niedermayer
b3e6d3ee78 update for 2.6.1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-16 19:45:24 +01:00
Michael Niedermayer
f6327e5fa6 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-03-16 04:01:58 +01:00
Clément Bœsch
b80c486fb3 avfilter/palettegen: make sure at least one frame was sent to the filter
Fix FPE.

(cherry picked from commit 84da9339c2)
2015-03-15 19:10:20 +01:00
Michael Niedermayer
37469af294 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-03-14 21:59:47 +01:00
Michael Niedermayer
350054e8e2 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-03-14 21:58:26 +01:00
Christophe Gisquet
7ff46a20d5 eac3dec: fix scaling
This is the remaining error, the output on the SPX samples,
respectively csi_miami_stereo_128_spx.eac3 and
csi_miami_5.1_256_spx.eac3, goes from:
stddev:    8.71 PSNR: 77.52 MAXDIFF:  235
stddev:24270.51 PSNR: 22.17 MAXDIFF:47166
to:
stddev:    0.12 PSNR:114.12 MAXDIFF:    1
stddev:    0.12 PSNR:114.73 MAXDIFF:    1

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 14:26:28 +01:00
Christophe Gisquet
7edd380668 ac3_fixed: fix computation of spx_noise_blend
It was set to 1 instead of sqrt(3)

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 14:26:10 +01:00
Christophe Gisquet
26bed98d64 ac3_fixed: fix out-of-bound read
Should also improve decoding, but actually doesn't...

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 14:21:27 +01:00
Andreas Cadhalpun
480e18e6ff ac3dec_fixed: always use the USE_FIXED=1 variant of the AC3DecodeContext
The AC3DecodeContext has a float (USE_FIXED=0) and an integer
(USE_FIXED=1) variant, both of which can be present in the same binary.
This is not only very confusing, but it also breaks horribly, when one
variant is used by code expecting the other.

This currently happens, because eac3dec.c is only compiled for the float
variant, but also used from ac3dec_fixed.c, which uses the integer
variant.

The result is memory corruption, leading to crashes.

So compile eac3dec.c once for each variant and adapt it, so that it
works with the integer variant.

A loss of precission and scaling bug has been fixed by the committer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 7b05b5093e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 04:42:15 +01:00
James Almer
742bc7eea8 hevcdsp: fix compilation for arm and aarch64
Also add av_cold to ff_hevcdsp_init_arm.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d5addf1555)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:32 +01:00
James Cowgill
c58edf52f9 mips/asmdefs: use _ABI64 as defined by gcc
Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header,
the easiest way around this is to just use the preprocessor definitions from
gcc / clang.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:32 +01:00
Rainer Hochecker
ea52c0614c 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-03-13 13:04:32 +01:00
Michael Niedermayer
5e84ab838c 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-03-13 13:04:31 +01:00
Michael Niedermayer
3f7b89937d 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-03-13 13:04:31 +01:00
Andreas Cadhalpun
39c9b47bb6 asfenc: fix leaking asf->index_ptr on error
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2c8cff2be4)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Andreas Cadhalpun
016bf7cb81 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-03-13 13:04:31 +01:00
Michael Niedermayer
bb00821f62 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-03-13 13:04:31 +01:00
Andreas Cadhalpun
d9dbd2362d 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-03-13 13:04:31 +01:00
Arwa Arif
ec684aa58a Add dependencies to configure file for vf_fftfilt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b4ec6afd3d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Andreas Cadhalpun
a613dd627c 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)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Andreas Cadhalpun
1903d6d2b0 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-03-13 13:04:31 +01:00
Andreas Cadhalpun
2319fddfd3 ffmdec: initialize f_cprv, f_stvi and f_stau
They are used in a switch statement, but it is not guaranteed that the
COMM case (where they are set to 0) is reached before the other cases.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Martin Storsjö
5a6ef7d7cb configure: Move the .object_arch check to the right place
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit b77e335e44)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Martin Storsjö
47e8d17132 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)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Michael Niedermayer
a156f86e91 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-03-13 13:04:31 +01:00
Andreas Cadhalpun
3586314147 doc: avoid the incorrect phrase 'allow to'
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 10fd7ff814)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Martin Storsjö
28e17ba220 mxfdec: Fix the error handling for when strftime fails
The str variable is a char ** here.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Michael Niedermayer
998173ed94 avcodec/opusdec: Fix delayed sample value
Fixes out of array access
Fixes: ffmpeg_opus_crash1.ogg

This solution is likely not optimal in terms of error concealment but
its simple and fixes the out of array access.

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 6c583e9048)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Michael Niedermayer
bffed1d9d0 avcodec/opusdec: Clear out pointers per packet
This is safer than to assume that all error pathes cleared them and
nothing will use uncleared pointers.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Michael Niedermayer
52bf144ad9 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-03-13 13:04:31 +01:00
Xiangyu Liu
6fc8c72c7d ChangeLog: Remove the redundant VP9 RTP entry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit b1e9634c10)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 13:04:31 +01:00
Carl Eugen Hoyos
77621ca311 lavfi/boxblur: Fix colourspace list.
Fixes ticket #4363.
(cherry picked from commit 0637b59c2c)
2015-03-13 09:46:10 +01:00
Carl Eugen Hoyos
1a89aab3c0 lavf: Do not list mov-only codecs in riff.c.
Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.
Fixes a regression similar to the one described in ticket #4307.
(cherry picked from commit 2e0b5f5c90)
2015-03-13 09:14:26 +01:00
Carl Eugen Hoyos
c43e5faf03 lavc/hevcdsp: Fix compilation for arm with --disable-neon.
(cherry picked from commit 1d523ea89a)
2015-03-10 15:00:08 +01:00
James Cowgill
876d2d8db8 mips/asmdefs: change include guard to read AVUTIL_ instead of AVCODEC_
Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 3499a1c0a9)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 11:34:35 +01:00
Ronald S. Bultje
1caad74533 vp9: fix segmentation map retention with threading enabled.
Fixes ticket 4359.

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 10:38:07 +01:00
Michael Niedermayer
28950d1f8c Revert "avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit"
Fixed build with opencl enabled
Found-by:  WJ Liu

This reverts commit 0f2359b869.
(cherry picked from commit ebd59d271c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 10:38:07 +01:00
Reynaldo H. Verdejo Pinochet
791e085634 RELEASE_NOTES: small grammar fixes and improvements
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-03-06 22:15:47 -03:00
Clément Bœsch
3dc88e1fd6 Add release notes 2015-03-06 22:32:18 +01:00
Andreas Cadhalpun
4e2cab5a79 fix spelling errors
opttimizations -> optimizations
 grabing        -> grabbing
 many resource  -> many resources
 isnt           -> isn't
 silcense       -> silence

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 482c86f231)
2015-03-06 22:26:53 +01:00
Clément Bœsch
1dab67b647 avcodec/samidec: make sure to properly restore parsing context after a tag
(cherry picked from commit 70082a1e53)
2015-03-06 20:42:43 +01:00
Michael Niedermayer
0d4549c2d6 Add 2.6 to maintained releases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 0bcb6ac150)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 17:49:22 +01:00
Michael Niedermayer
c741eb7d88 Update for 2.6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 17:32:52 +01:00
Michael Niedermayer
0b48ddc5f2 doc/APIchanges: Fill in the xx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 16:39:50 +01:00
Michael Niedermayer
34300866a8 doc/APIchanges: Add 2.6 cut marker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 16:20:52 +01:00
Michael Niedermayer
4034e146ba Changelog: rename next to 2.6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 16:19:58 +01:00
Srikanth G
0f2359b869 avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit
When OpenCL kernels are compiled, is_compiled flag is being set for each
kernel. But, in opencl uninit, this flag is not being cleared.
This causes an error when an OpenCL kernel is tried on different OpenCL
devices on same platform.

Here is the patch with a fix

Reviewed-by; Wei Gao <highgod0401@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 15:20:12 +01:00
James Cowgill
d6f5b3eee3 changelog: add mips 64-bit port
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 14:38:20 +01:00
James Cowgill
157d6f0d5b mips: port optimizations to mips n64
This mainly consists of replacing all the pointer arithmatic 'addiu'
instructions with PTR_ADDIU which will handle the differences in pointer
sizes when compiled on 64 bit mips systems.

The header asmdefs.h contains the PTR_ macros which expend to the correct mips
instructions to manipulate registers containing pointers.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 14:37:44 +01:00
James Cowgill
eae13eae9d configure, mips: remove MIPS32R2, merging it with MIPSFPU
There are no independant uses of mips32r2 instructions except for the
FPU parts. Due to the heavy use of mips32r2 specifc fpu extensions, I
am guessing the original author intended MIPSFPU to imply MIPS32R2 anyway.

Since these fpu instructions are available on mips64 (non-r2), enable them
there as well.

Also remove the last occurence of HAVE_MIPS32R2 (which is coupled to
HAVE_MIPSFPU anyway).

mips32r2 is left in the list of options form compatability so that using
--disable-mips32r2 doesn't break anything.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 14:01:31 +01:00
James Cowgill
a99de50ec7 mips/aacdec: remove uses of mips32r2 specific ext instructions
Removing these removes the dependency of this code on mips32r2 which would
allow it to be used on processors which have FPU instructions, but not r2
instructions (like the mips64el debian port for instance).

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 13:59:39 +01:00
Claudio Freire
6dbbb981b5 AAC: Add support for 7350Hz sampling rates, no error on too hight bitrate.
Instead, warn that bitrate will be clamped down to the maximum allowed.

Patch is mostly work of Kamendo2 in issue #2686, quite tested within that issue.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 13:36:25 +01:00
Michael Niedermayer
b32cae1cc2 Merge commit '5aef535a64350b7bc06c5bdda8c26c9efec9443b'
* commit '5aef535a64350b7bc06c5bdda8c26c9efec9443b':
  dashenc: Update extradata for mov muxer

See: f5668e614b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 12:13:25 +01:00
Michael Niedermayer
c3f64a2233 Merge commit '6cf7f30655e95e27fd0394b5a80970d6f9517015'
* commit '6cf7f30655e95e27fd0394b5a80970d6f9517015':
  dashenc: Simplify code by using a local variable

See: f5668e614b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 11:58:08 +01:00
Michael Niedermayer
39becc949c Merge commit '25c29d32835f38cdc5f0c84fa27dfc489a228770'
* commit '25c29d32835f38cdc5f0c84fa27dfc489a228770':
  libopenh264enc: Add support for building with OpenH264 1.4

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 11:31:29 +01:00
Michael Niedermayer
dbd6ba24a8 MAINTAINERS: Remove 1.2 from the maintained releases
The only distribution which still uses it according to
https://trac.ffmpeg.org/wiki/Downstreams is "gentoo stable", but
http://packages.gentoo.org/package/media-video/ffmpeg lists stable as shipping 1.2.6 which is 6 point
releases behind. Also gentoos ffmpeg maintainer stated "don't worry about gentoo: we're in the process
of moving to latest 2.2 for stable."

CC: Alexis Ballier <aballier@gentoo.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 11:24:45 +01:00
Timo Rothenpieler
5aef535a64 dashenc: Update extradata for mov muxer
The mov muxer already supports picking up extradata that wasn't
present during the avformat_write_header call - we just need to
propagate it. Since the dash muxer uses delay_moov, we have time
up until the first segment is written to get extradata filled in.

Also update the codec description string when the extradata becomes
available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:07:17 +02:00
Timo Rothenpieler
6cf7f30655 dashenc: Simplify code by using a local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:07:11 +02:00
Martin Storsjö
25c29d3283 libopenh264enc: Add support for building with OpenH264 1.4
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:02:47 +02:00
Andreas Cadhalpun
c089e720c1 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>
2015-03-06 03:45:42 +01:00
Michael Niedermayer
f455c8fdef Merge commit '88b160a457e491cb9e014630ef5387ad3500258e'
* commit '88b160a457e491cb9e014630ef5387ad3500258e':
  avfilter: Return more meaningful error codes

Conflicts:
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 01:16:47 +01:00
John Robinson
98d19ca8f1 lavd/avfoundation: Add support for 24 and 32bit integer input.
Tested on Mac Mini soundflower and built-in line input.

Reviewed-by: Thilo Borgmann
2015-03-06 01:10:16 +01:00
Carl Eugen Hoyos
23e483269d lavd/avfoundation: Add support for 16bit integer input.
Reviewed-by: Thilo Borgmann
2015-03-06 01:06:57 +01:00
selsta
6c8a158989 hls: detect SAMPLE-AES encryption
SAMPLE-AES encryption is not commonly used yet, but without this patch
ffmpeg is thinking that the hls segments are not encrypted which
produces broken files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 23:08:38 +01:00
Clément Bœsch
d75a73b5fc Drop outdated RELEASE_NOTES
A new RELEASE_NOTES specific to the release will be added.
2015-03-05 22:25:10 +01:00
Michael Niedermayer
22ad0546c8 Merge commit 'ad786dd450f26ecfbd35bb26e8b149664ecde049'
* commit 'ad786dd450f26ecfbd35bb26e8b149664ecde049':
  h264: remove a now redundant error check

Conflicts:
	libavcodec/h264_slice.c

See: 64591f8f86
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 20:55:56 +01:00
Michael Niedermayer
777179edb5 Merge commit 'c73c3c34fe72bb06966450207917ce902146b172'
* commit 'c73c3c34fe72bb06966450207917ce902146b172':
  avformat/adxdec: set avctx->channels in adx_read_header

See: 7faa40af98
See: 64ea4a0598
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 20:36:06 +01:00
Michael Niedermayer
be07270bca Merge commit 'bb4edddd9389cc1601db618ed3c1375b62628d04'
* commit 'bb4edddd9389cc1601db618ed3c1375b62628d04':
  rmenc: limit packet size

Conflicts:
	libavformat/rmenc.c

See: 08728f400b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 20:24:58 +01:00
Michael Niedermayer
6af5bf604c Merge commit '4f2ee9daeedec636fb4fe953a1e0990a7102d5eb'
* commit '4f2ee9daeedec636fb4fe953a1e0990a7102d5eb':
  webp: validate the distance prefix code

See: 5de2dab12b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:53:40 +01:00
Michael Niedermayer
31559723ab Merge commit '66624ed6319cb1a959256fe1a717fec5b748fbfa'
* commit '66624ed6319cb1a959256fe1a717fec5b748fbfa':
  rv10: check size of s->mb_width * s->mb_height

Conflicts:
	libavcodec/rv10enc.c

See: 2578a54618
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:43:25 +01:00
Michael Niedermayer
8c013a9e55 avformat/avidec: Check avio_read() return before using the results for meta-data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:38:20 +01:00
Himangi Saraogi
88b160a457 avfilter: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-05 19:36:39 +01:00
Michael Niedermayer
8a048fe6f8 avformat/avidec: initialize header array
Fixes use of uninitialized memory in case read fails

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 18:41:03 +01:00
Anton Khirnov
ad786dd450 h264: remove a now redundant error check
It was only relevant when data partitioning was in use.
2015-03-05 16:10:11 +01:00
Clément Bœsch
1cded1f8d7 avfilter/vf_paletteuse: indent fix after 7ccc5848 2015-03-05 16:04:20 +01:00
Michael Niedermayer
7ccc584824 avfilter/vf_paletteuse: Use int where AVERROR can be returned
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 16:00:44 +01:00
Andreas Cadhalpun
c73c3c34fe avformat/adxdec: set avctx->channels in adx_read_header
It is used in adx_read_packet, which currently depends on the
decoder/parser setting this value between reading the file header and
demuxing the first packet.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 15:57:48 +01:00
Andreas Cadhalpun
bb4edddd93 rmenc: limit packet size
The chunk size is limited to UINT16_MAX (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>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 15:51:05 +01:00
Andreas Cadhalpun
4f2ee9daee 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: Anton Khirnov <anton@khirnov.net>
2015-03-05 14:49:16 +01:00
Andreas Cadhalpun
66624ed631 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: Anton Khirnov <anton@khirnov.net>
2015-03-05 14:49:16 +01:00
Michael Niedermayer
6d7e57e88b avutil/opt: Do not print inf in selftest
This fixes fate failures on windows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 13:50:22 +01:00
Michael Niedermayer
d48c8540a2 fate-aac-aref-encode: increase FUZZ to 5, needed for ppc64be
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 13:41:51 +01:00
Nedeljko Babic
dfa9208074 mips/float_dsp: fix a bug in vector_fmul_window_mips
Loop was unrolled eight times although in heder there is assumption
that len is multiple of 4.
This is fixed, and assembly code is rewritten to be more optimal and
to simplify clobber list.

Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:31:44 +01:00
Kevin Wheatley
45555a20c6 avformat/movenc: Add support for writing 'gama' atom to QuickTime .mov files.
As this is depricated it should not be on by default, it is only
supported for MOV containers, depends on avpriv_get_gamma_from_trc()

Enable by:

-movflags +write_gama

This will use the color_trc to supply a gamma value, if desired an
explicit value may be supplied using the -mov_gamma option supplying
a suitable floating point value, values <=1e-6 will not be written.

Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:26:37 +01:00
Kevin Wheatley
86b59e6a50 avutil: Extract gamma determination from PNG encoder for future use. Adds private avpriv_get_gamma_from_trc() function to libavutil.
Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:26:22 +01:00
Stefano Sabatini
6db20926c3 doc/protocols/tcp: fix units of listen_timeout option value, from microseconds to milliseconds
s->listen_timeout is passed to ff_listen_bind(), which accepts a timeout
value expressed in milliseconds.

The unit was incorrectly set in 1b4da43ce0.
2015-03-05 12:13:25 +01:00
Vilius Grigaliūnas
2af260e3a8 avformat/mxfdec: Detect XYZ pixel format for digital cinema files
While the native jpeg2000 decoder can determine pixel format correctly
from the codestream, libopenjpeg wrapper cannot. To make sure that
the output is correct when using libopenjpeg to decode digital
cinema files, we do detection from the metadata included in the MXF
wrapper.

If the container has "JPEG 2000 Coding Parameters" metadata element
with Rsiz value set to one of digital cinema profiles, we can safely
assume that the given input file is DCI compliant, therefore the
pixel format should be XYZ.

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 11:47:11 +01:00
Timo Rothenpieler
f5668e614b avformat/dashenc: Update extradata for mov muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 10:33:03 +01:00
Michael Niedermayer
63ea3a86b7 Merge commit '9c09fbd8053292267cdc4b542913ceced43ea3a9'
* commit '9c09fbd8053292267cdc4b542913ceced43ea3a9':
  rtpdec: experimental VP9 depacketizer (draft 0)

Conflicts:
	libavformat/rtpdec.c
	libavformat/rtpdec_vp9.c
	libavformat/version.h

See: e4a6486c17
See: f966ac2b6e
See: 629a03a912
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 10:12:53 +01:00
Thomas Volkert
9c09fbd805 rtpdec: experimental VP9 depacketizer (draft 0)
The code was tested with live555 server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 10:05:44 +02:00
Michael Niedermayer
dcf7924f4d Merge commit 'f3b74d944bdef9bbe81f7690f8d837d843ec13a6'
* commit 'f3b74d944bdef9bbe81f7690f8d837d843ec13a6':
  pcxenc: Return more meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 02:17:01 +01:00
Michael Niedermayer
4574f11e4d Merge commit 'b72b212a4c43563f1b9fc3ce9a5ff91f89b857ac'
* commit 'b72b212a4c43563f1b9fc3ce9a5ff91f89b857ac':
  rdt: Use a separate variable to clarify the different value namespaces

Conflicts:
	libavformat/rdt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:40:03 +01:00
Michael Niedermayer
2eb890aab2 Merge commit 'c13ab42a0a3979b2c292b2315487f5f5e14ba26b'
* commit 'c13ab42a0a3979b2c292b2315487f5f5e14ba26b':
  rtpdec_qt: Use a local variable instead of RTP_FLAG_KEY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:20:25 +01:00
Michael Niedermayer
9575d8a652 Merge commit '15621cbbe4ed88409ef40257afaf239487964e98'
* commit '15621cbbe4ed88409ef40257afaf239487964e98':
  rtpdec_asf: Don't set RTP_FLAG_KEY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:12:19 +01:00
Reimar Döffinger
7c2e35d1d0 avformat/avformat: improve the text about headerless formats in avformat_flush()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 00:09:26 +01:00
wm4
cca44764b9 avformat: add avformat_flush()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 00:09:26 +01:00
Carl Eugen Hoyos
83808ee7e9 Allow AVFoundation compilation on OS X 10.7.
Fixes ticket #4238.

Reviewed-by: Thilo Borgmann
2015-03-04 23:54:10 +01:00
Carl Eugen Hoyos
63c9b6e431 lavf/mxf: Support ProRes decoding.
Fixes ticket #4349.
2015-03-04 23:48:41 +01:00
Himangi Saraogi
f3b74d944b pcxenc: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-03-04 23:44:01 +01:00
Martin Storsjö
b72b212a4c rdt: Use a separate variable to clarify the different value namespaces
The original flags variable contains rtpdec flags, while the
rmflags variable contains RM flag bits which have a completely
different definition.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:42 +02:00
Martin Storsjö
c13ab42a0a rtpdec_qt: Use a local variable instead of RTP_FLAG_KEY
The only case where RTP_FLAG_KEY actually is needed is
in RDT, where such a flag needs to be passed via the
rtpdec parse function's flags parameter.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:42 +02:00
Martin Storsjö
15621cbbe4 rtpdec_asf: Don't set RTP_FLAG_KEY
Nothing in the framework nor in the rest of the depacketizer actually
uses this flag - the chained demuxer sets the keyframe flag properly on
demuxed packets already.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:24 +02:00
Michael Niedermayer
4ad7b8f64a avformat/movenc: mark write_colr as experimental
This way the flag can be flipped to a nowrite_colr, if people prefer that

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 22:36:23 +01:00
Peter Cordes
46235f0e02 libx264: update AQ options help for x264 build 144
Regular autovariance is no longer "experimental", and a version of it with
bias towards dark scenes is now in mainline x264.

Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Peter Cordes
9e5687adf2 pixelutils: Comment on (lack of) sad_8x8_sse2
Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Peter Cordes
4da3a14f3c pixelutils: indent comments in pixdesc.h to be clearer
Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:58:53 +01:00
Peter Cordes
44d3477264 vf_showinfo: minimum widths for some early fields
Depending on FPS, the pts_time string often changes length:
... pts_time:36.1 ...
... pts_time:36.1333 ...
etc.

 The length changes make the output bounce around horribly, making it
hard to scan down a column farther right than pts_time.

The solution is to set minimum widths for n, pts, pts_time, and pos.
This patch doesn't touch any of the fields in mean / stddev.

 The widths aren't intended to be wide enough that they're never
exceeded, but you'll see only an occasional ripple to a new alignment,
rather than bouncing.  (Some fields, like pos, increase monotonically,
which is why I left the minimum width for the field be smaller than it
often gets to.)

Signed-off-by: Peter Cordes <peter@cordes.ca>
2015-03-04 21:43:42 +01:00
Michael Niedermayer
735ab7c5e0 Merge commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5'
* commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5':
  flv: Validate and reject unsupported codecs

Conflicts:
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 20:47:14 +01:00
Michael Niedermayer
b5ca158935 Merge commit '87e85a133f3ce2f037b90e9c7bbca99951df6c15'
* commit '87e85a133f3ce2f037b90e9c7bbca99951df6c15':
  aac: Relax reserved_bit validation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:49:05 +01:00
Michael Niedermayer
87db7e7772 Merge commit '25f613f8be3b51e4396b93cda131e4631ba54302'
* commit '25f613f8be3b51e4396b93cda131e4631ba54302':
  dca: Move syncword definitions to a separate header

Conflicts:
	libavcodec/dca_parser.c
	libavformat/dtsdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:28:53 +01:00
Michael Niedermayer
634ce8ddad Merge commit '1dc19729e92a96620000e09eba8e58cb458c9486'
* commit '1dc19729e92a96620000e09eba8e58cb458c9486':
  rtpdec_asf: Don't free the payload context in the .close function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:14:48 +01:00
Michael Niedermayer
1c9f2ebdcd Merge commit '62139b14e621f096d0f8ed90920d042b92867e40'
* commit '62139b14e621f096d0f8ed90920d042b92867e40':
  fate: Specify the idct to use for the aic-oddsize test

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:05:28 +01:00
Luca Barbato
e767c9e8f2 flv: Validate and reject unsupported codecs
And provide a more informative message in case of failure.

CC: libav-stable@libav.org
2015-03-04 18:28:40 +01:00
Vittorio Giovara
87e85a133f aac: Relax reserved_bit validation
Although the specification mandates this bit to zero, it may happen
that software tools incorrectly flip it to one, invalidating a possibly
valid stream.

Relax this restriction, by failing only when AV_EF_BITSTREAM is set.
This behaviour is similar to aac decoders in Firefox and Quicktime.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-04 16:36:16 +00:00
Diego Biurrun
25f613f8be dca: Move syncword definitions to a separate header 2015-03-04 13:29:33 +01:00
Mark Reid
ec5a4af560 libavformat/mxfdec: refactor reading strong ref array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 12:14:19 +01:00
Martin Storsjö
1dc19729e9 rtpdec_asf: Don't free the payload context in the .close function
This was missed in bb4a310bb. This fixes a double free on close.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 13:12:09 +02:00
Martin Storsjö
62139b14e6 fate: Specify the idct to use for the aic-oddsize test
This fixes fate on all architectures that have an optimized
but not bitexact idct available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 13:11:58 +02:00
Michael Niedermayer
5dce723715 Merge commit '2a66a580678dd9401f4d95e01e0958ca51864b6f'
* commit '2a66a580678dd9401f4d95e01e0958ca51864b6f':
  rtpdec_mpa_robust: Fix incrementing split_pos

Conflicts:
	libavformat/rtpdec_mpa_robust.c

See: ebf1f512e9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 11:31:55 +01:00
Martin Storsjö
2a66a58067 rtpdec_mpa_robust: Fix incrementing split_pos
This fixes an oversight in 96084251, in a refactoring done on top
of Gilles' original patch.

Pointed out by Gilles Chanteperdrix.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 09:34:14 +02:00
Michael Niedermayer
7da7d269b8 ffplay: Switch to show waves mode if allocation/init of RDFT fails
Fixes null pointer dereference

Found-by: Paweł <pantrombka@gmail.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 03:04:04 +01:00
Michael Niedermayer
f6f1e2b3be avcodec/pngenc: Remove outer () from macro
The macro is implemented as a do{}while()
enclosing this is () appears to be a GNU extension (6.1 Statements and Declarations in Expressions)
the () is also unneeded and wrong as the macro returns no
value

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 02:06:08 +01:00
Michael Niedermayer
0d20896775 Merge commit 'db5cc75f8b5620e7cd2d05762c3b087ab16d8c24'
* commit 'db5cc75f8b5620e7cd2d05762c3b087ab16d8c24':
  wma.h: #include "avcodec.h"

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 01:23:54 +01:00
Tobias Rapp
b4fbad2634 libavformat/avienc: Fix duration of audio segment in OpenDML master index
Fixes the duration field of the OpenDML master index "indx" chunk to
contain the number of samples instead of the number of packets for
(linear/PCM) audio streams.

This matches the OpenDML V1.02 standard text which states that the
duration field shall contain "time span in stream ticks".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 00:08:53 +01:00
Vilius Grigaliūnas
ff6b08141a acvodec/lipopenjpeg: Fix pixel value shift for 12-bit pixel formats
This fixes pixel values not being properly shifted in
libopenjpeg_copyto16 and libopenjpeg_copy_to_packed16 methods.

Pixel formats like xyz12le need to be shifted by AVComponentDescriptor::shift
to get the correct values.

Reviewed-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 23:20:51 +01:00
James Cowgill
37ffe7f90a mips/aaccoder: use variables instead of using register names directly
On mips64, the registers t[4-7] do not exist. Instead of using a lot of #ifdef
or defines to handle differing register names, use variables and let GCC
allocate the registers automatically (like in the other mips assembly files).

In get_band_cost_ESC_mips, t4 and t5 were renamed to t6 and t7 to avoid a
variable name conflict.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:58:36 +01:00
James Cowgill
de4f59b536 mips: use float* to hold pointer instead of int
This is obviously needed for 64-bit support.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:36:33 +01:00
Michael Niedermayer
0dd53e14f9 Merge commit '0af3b65880573aa9b3375362eaab4f84140c7dde'
* commit '0af3b65880573aa9b3375362eaab4f84140c7dde':
  asf: do not export XMP metadata by default

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:16:31 +01:00
Michael Niedermayer
b7d3fbc69b Merge commit '994d8f3095180ba1b2c6040a97718e931a782b34'
* commit '994d8f3095180ba1b2c6040a97718e931a782b34':
  fate: Add AIC test with odd sizes

Conflicts:
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:03:58 +01:00
Anton Khirnov
db5cc75f8b wma.h: #include "avcodec.h"
It's required for at least AVCodecContext.

Fixes make checkheaders.
2015-03-03 20:57:56 +01:00
Michael Niedermayer
75dbe4c1fa Merge commit 'e878ec0d47cd6228c367b2f3128b76d7523f7255'
* commit 'e878ec0d47cd6228c367b2f3128b76d7523f7255':
  aic: Fix decoding files with odd dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 20:41:44 +01:00
Clément Bœsch
c285937ccc ffmpeg: comment mpeg4 hack
See 3734c3ea51
2015-03-03 20:25:28 +01:00
Mark Reid
81a91269a2 libavformat/avio: added avio_put_str16be
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 17:49:15 +01:00
Vittorio Giovara
0af3b65880 asf: do not export XMP metadata by default
Similarly to what has been done for MOV, display XMP metadata only when
users explicitly require it.

The Extensible Metadata Platform tag can contain various kind of data
which are not strictly related to the video file, such as history of
edits and saves from the project file.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-03 15:30:52 +00:00
Vittorio Giovara
994d8f3095 fate: Add AIC test with odd sizes 2015-03-03 15:08:45 +00:00
Vittorio Giovara
e878ec0d47 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
2015-03-03 15:08:15 +00:00
Claudio Freire
6394acaf36 AAC: Fix M/S stereo encoding
This patch fixes a pointer arithmetic bug in adjust_frame_information that resulted in heavily corrupted audio when using M/S encoding. Also, a backup copy of untransformed coefficients has to be kept around or attempts at re-processing the frame (which happens when hevavily overspending bits during transients) will result in re-encoding of the coefficients and subsequent corruption of the resulting stream.

A/B testing shows the bug as corrected, but still cannot prove that M/S coding is a win at least in numbers. Limited listening tests do show improvement on M/S encoded samples in lower bitrates, but they're hidden among the other artifacts that remain to be corrected in the encoder.

Some of the regressions flagged in the report do show poor stereo image (but not buggy), so M/S encoding is clearly not good enough yet to be defaulted to auto.

In numbers, Patched against Unpatched, stereo_mode auto:

  Files: 114
  Bitrates: 6
  Tests: 683

  Serious Regressions: 0 (0%)
  Regressions: 0 (0%)
  Improvements: 227 (33%)
  Big improvements: 92 (13%)
  Worst regression - mybloodrusts.wv - 256k
    - StdDev: 28.61       pSNR: -0.43     maxdiff: 1372.00
  Best improvement - 60.wv - 384k
    - StdDev: -369.57     pSNR: 45.02     maxdiff: -13322.00
  Average          - StdDev: -80.56       pSNR: 2.49      maxdiff: -8858.00

Patched against Unpatched stereo_mode ms_off shows no difference.

Patched stereo_mode auto vs Unpatched stereo_mode ms_off shows a small average improvement, just not too significant:

  Serious Regressions: 0 (0%)
  Regressions: 10 (1%)
  Improvements: 45 (6%)
  Big improvements: 2 (0%)
  Worst regression - Illinois.wv - 256k
    - StdDev: 33.20       pSNR: -2.03     maxdiff: 477.00
  Best improvement - song_of_circomstances.flac - 384k
    - StdDev: -3.97       pSNR: 7.61      maxdiff: -826.00
  Average          - StdDev: -10.25       pSNR: 0.20      maxdiff: -281.00

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 13:57:42 +01:00
Steve Lhomme
4851db80a4 fix VP9 packet decoder returning 0 instead of the used data size
See https://trac.videolan.org/vlc/ticket/14022#comment:6

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 13:48:51 +01:00
Andreas Cadhalpun
2578a54618 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>
2015-03-03 12:36:36 +01:00
Robert Krüger
618021ea58 avformat/mxfenc: adjust product name when opatom muxer is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 12:13:21 +01:00
Andreas Cadhalpun
5de2dab12b 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>
2015-03-03 00:37:36 +01:00
Clément Bœsch
da2a49ac9a avcodec/proresenc_kostya: fix coded_frame handling 2015-03-02 22:52:49 +01:00
Michael Niedermayer
bf691e1d39 Merge commit '33d412eb4a2a083c1514ddbe69295b37e1918a8c'
* commit '33d412eb4a2a083c1514ddbe69295b37e1918a8c':
  dashenc: Simplify code by using a local variable

Conflicts:
	libavformat/dashenc.c

See: b86af8da31
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:53:14 +01:00
Timo Rothenpieler
6cfd536675 avformat/dashenc: Update codec_str on extradata_size change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:40:26 +01:00
Timo Rothenpieler
b86af8da31 avformat/dashenc: Use local variable instead of duplicated dereferences
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:40:26 +01:00
Clément Bœsch
f5cbb2c55e avfilter/vf_tblend: use av_frame_free for freeing an AVFrame 2015-03-02 21:27:21 +01:00
Clément Bœsch
17cb05fe06 avfilter/lavfutils: use av_frame_free for freeing an AVFrame 2015-03-02 21:27:21 +01:00
Clément Bœsch
546d69eb43 avcodec: use av_frame_free() for coded_frame 2015-03-02 21:27:21 +01:00
Michael Niedermayer
cb39fe9336 Merge commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42'
* commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42':
  Revert "mov: Change DTS-based seek into CTS-based seek."

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:52:34 +01:00
Michael Niedermayer
82fe4072ea Revert "avformat/mov: Bypass av_add_index_entry()"
Next commit will revert the PTS seeking so this is not needed anymore

This reverts commit 38e641a060.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:46:17 +01:00
Michael Niedermayer
f2e01b693f Merge commit '9a26ba971387a348e14f363ddcdcb5bba0b413d1'
* commit '9a26ba971387a348e14f363ddcdcb5bba0b413d1':
  v4l2: Add support for h264

Conflicts:
	libavdevice/v4l2.c

See: 0fb79f30db
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:30:54 +01:00
Michael Niedermayer
cde6e328de Merge commit '619d5e7db88941cadb8136f805564e885c6c6434'
* commit '619d5e7db88941cadb8136f805564e885c6c6434':
  v4l2: Use the codec descriptor facility

Conflicts:
	libavdevice/v4l2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:16:22 +01:00
Michael Niedermayer
ada512f91d Merge commit 'dbc1163b203b175d246b7454c32ac176f84006d1'
* commit 'dbc1163b203b175d246b7454c32ac176f84006d1':
  prores: Extend the padding check to 16bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:01:28 +01:00
Martin Storsjö
33d412eb4a dashenc: Simplify code by using a local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-02 20:34:43 +02:00
Christophe Gisquet
efd3f407e5 hevc/sao: use unaligned copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 19:32:23 +01:00
Andreas Cadhalpun
08728f400b 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>
2015-03-02 16:57:57 +01:00
Michael Niedermayer
7c9e7bd425 avcodec/pngenc: replace round by lrint()
Avoids passing double to AV_WB32()

Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 15:02:20 +01:00
Clément Bœsch
9b1755bce7 configure/help: consistently use "autodetect" 2015-03-02 14:56:05 +01:00
Claudio Freire
84f4be424d avcodec/aacpsy: Fix AAC Psy PE reduction calculation when multiple iterations are required
This is a small change, but it does have a big impact on bit allocation.

all the regressions marked in the report have no audible
difference (I didn't check them all though), but the improvements can
be heard.

This affects mostly high bit rates. It's related to issue #2686.

In the report, A is the patched version, B is unpatched, all
comparisons show deltas in the form (A-B), so a positive pSNR delta
means a better quality in the patched version, and negative a
regression. Regressions are only considered for pSNR deltas below
-1db, they're considered serious below -6db.

All measurements were done with tiny_psnr.

The summary of the report inline for quick reading:

Files: 58
Bitrates: 6
Tests: 347
Serious Regressions: 0 (0%)
Regressions: 10 (2%)
Improvements: 54 (15%)
Big improvements: 26 (7%)
Worst regression - sine_tester.flac - 384k
  - StdDev: 1.68        pSNR: -3.05     maxdiff: -178.00
Best improvement - 07 - Bound.flac - 384k
  - StdDev: -1700.05    pSNR: 20.64     maxdiff: -29595.00
Average          - StdDev: -55.67       pSNR: 1.20      maxdiff: -1593.00

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 13:31:31 +01:00
Martin Storsjö
91eee2af87 Revert "mov: Change DTS-based seek into CTS-based seek."
This reverts commit 4abfa387b8.

This commit broke playback of fragmented mp4 files with b-frames.
While investigating this, it turned out that the general framework
isn't ready for a PTS-based index yet. Revert this change until
a better thought out solution is in place.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-02 14:15:12 +02:00
Luca Barbato
9a26ba9713 v4l2: Add support for h264 2015-03-02 12:07:59 +01:00
Gilles Chanteperdrix
bfdd15c4e8 MAINTAINERS: add myself as rtpdec_mpa_robust maintainer
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 11:58:49 +01:00
Gilles Chanteperdrix
ebf1f512e9 avformat/rtpdec_mpa_robust: fix commit 96084251e5
Commit 96084251e5 introduced a change in
the parser implementation which broke it. Restore the original
implementation.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 11:58:42 +01:00
Luca Barbato
619d5e7db8 v4l2: Use the codec descriptor facility
The encoder or decoder might be disabled but the format would be
supported for at least remuxing.
2015-03-02 11:27:57 +01:00
Luca Barbato
dbc1163b20 prores: Extend the padding check to 16bit
Some files produced by the official encoder have up to 16bit of
padding instead of the expected padding to the byte.

Use a self-explanatory macro instead of a simple number.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-03-02 11:27:57 +01:00
Michael Niedermayer
f27d5bd3d2 tests/fate: Add S302M test
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 11:09:08 +01:00
Michael Niedermayer
34b13dbadf avfilter/af_aphaser: Change type to int as its accessed as int via AVOptions
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:32 +01:00
Michael Niedermayer
e8c1eb09c7 avfilter/af_biquads: Change width_type to int as its accessed as int via AVOptions
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:26 +01:00
Michael Niedermayer
d545668e25 avfilter/af_volume: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:22 +01:00
Michael Niedermayer
27a5d09c6a avfilter/avf_avectorscope: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:18 +01:00
Michael Niedermayer
7ff296be9f avfilter/avf_showspectrum: Change enums to int, which are accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:14 +01:00
Michael Niedermayer
cf729b2489 avcodec/libfdk-aacdec: Change conceal_method to int, its accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:08:09 +01:00
Michael Niedermayer
fd8c3277c4 ffprobe: Change string_validation to int, its accessed via AVOption as int
This fixes depending on implementation defined behavior

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 04:06:39 +01:00
Michael Niedermayer
047fd986bf avfilter/vf_drawbox: Fix handling of max values
Fixes Ticket4332

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 02:32:55 +01:00
Michael Niedermayer
85108195c5 avutil/common: minor simplification in av_clip_intp2_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 01:07:50 +01:00
James Almer
5c8f747085 x86/hevc_sao: use unaligned movs for sao_{band,filter} with width 8
Suggested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-03-01 20:02:43 -03:00
Michael Niedermayer
88ec5435bb avutil/opt: also test av_opt_show2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:45:32 +01:00
Michael Niedermayer
e9c85ae648 avutil/opt: Remove odd trailing whitespace bytes from flags help description
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:29:33 +01:00
Michael Niedermayer
c1e93cdc9e avutil/opt: Also test/compare the av_log output i the selftest
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 17:04:12 +01:00
Michael Niedermayer
e72f8ceabd avformat/mpegenc: Ignore max_delay if no other options remain
Fixes assertion failure
Fixes Ticket4335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 16:47:36 +01:00
Michael Niedermayer
2b4041661a avcodec/mips/Makefile: Build fmtconvert_mips only if CONFIG_FMTCONVERT is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:48:44 +01:00
Gilles Chanteperdrix
071f3e1c6e Revert "rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA"
This reverts commit 26524e3581.

If we want the T.140 codec to have the AV_CODEC_ID_TEXT codec id,
its type needs to be AVMEDIA_TYPE_SUBTITLE, so, keep interpreting
the text media type as AVMEDIA_TYPE_SUBTITLE.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:40:20 +01:00
Gilles Chanteperdrix
c95c039ec3 avformat: map T.140 RTP codec to text
This makes more sense than mapping to AV_CODEC_ID_SUBRIP. Nothing
indicates that a T.140 track contains subrip sub-titles.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:40:10 +01:00
Michael Niedermayer
9564375dee avutil/ppc/intreadwrite: remove AV_??64 overriding code
The code has undefined behavior and makes no difference when optimizations
are enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:15:19 +01:00
Gilles Chanteperdrix
dcf19008a6 avfilter/af_volume: fix precision=fixed and volume=0 case
When precision is fixed and volume is 0, filter_frame does not
perform any operation on the output buffer. This works if the
output buffer has been allocated and zeroed with ff_get_audio_buffer
but not if the input buffer is used as output buffer.

Fix this by not using the input buffer as output buffer if
precision is fixed and volume is 0.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 02:37:56 +01:00
Michael Niedermayer
5cb6b53050 Merge commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f'
* commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f':
  rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:31:49 +01:00
Michael Niedermayer
78c59f3f0c Merge commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2'
* commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2':
  rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Conflicts:
	libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:31:26 +01:00
Michael Niedermayer
769b473a41 Merge commit 'd4c7fc02f9f59e721e76debf4a595df529707545'
* commit 'd4c7fc02f9f59e721e76debf4a595df529707545':
  rtpenc: Skip redundant initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:24:27 +01:00
Michael Niedermayer
a2c4c30b5f Merge commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2'
* commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2':
  rtpenc: Always do the default initialization regardless of codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:23:37 +01:00
Michael Niedermayer
9e09931fb6 Merge commit '11edeaea3293c41ecf577a330422eabba35f76a2'
* commit '11edeaea3293c41ecf577a330422eabba35f76a2':
  rtpenc_xiph: Don't exclude headers from max_payload_size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:17:27 +01:00
Michael Niedermayer
7e53009588 Merge commit '7c1e2e64667421f931ab48141517f19d309c7eea'
* commit '7c1e2e64667421f931ab48141517f19d309c7eea':
  rtpenc_xiph: Use AV_WB16 instead of manual bitshifts

Conflicts:
	libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:17:10 +01:00
Michael Niedermayer
41b8d154aa Merge commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8'
* commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8':
  rtpenc_aac: Use AV_WB16 instead of manual bitshifts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:08:07 +01:00
Michael Niedermayer
635403e078 Merge commit '9c9b0218e85fcd969308632f75af48a4ce229541'
* commit '9c9b0218e85fcd969308632f75af48a4ce229541':
  rtpenc_aac: Merge a definition with a declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:07:46 +01:00
Michael Niedermayer
cfe33c98b7 Merge commit '1fc64e2e07787bbca82a72c146588e850e6d098a'
* commit '1fc64e2e07787bbca82a72c146588e850e6d098a':
  rtpenc: Write conditional statements on separate lines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:01:01 +01:00
Michael Niedermayer
ba069e08bd Merge commit '0662440b991361fdb5e732712d997a73e4692e34'
* commit '0662440b991361fdb5e732712d997a73e4692e34':
  rtpenc_aac: Set a default value for max_frames_per_packet at init

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:00:44 +01:00
Michael Niedermayer
6f0a82966d Merge commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37'
* commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37':
  rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:48:28 +01:00
Michael Niedermayer
f6f1e1a7a1 Merge commit '98563953442560dd83aab938f86de3e5a22a891f'
* commit '98563953442560dd83aab938f86de3e5a22a891f':
  rtpenc_aac: Fix sending fragmented frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:48:04 +01:00
Michael Niedermayer
e73b3dba3e Merge commit '990e4a6639d0714198583c2812b1074b5751898f'
* commit '990e4a6639d0714198583c2812b1074b5751898f':
  Add a QSV decoding example.

Conflicts:
	configure
	doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:30:20 +01:00
Michael Niedermayer
2ab3088dda Merge commit 'ea1d0b7ece1881c2f1360f8c1e2116791105af21'
* commit 'ea1d0b7ece1881c2f1360f8c1e2116791105af21':
  avcodec/utils: use correct printf specifier in ff_set_sar

See: 732c3ebffa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:18:38 +01:00
Michael Niedermayer
8a77672645 Merge commit '802987f8c7033ec8b82b35438d3822cf7f761166'
* commit '802987f8c7033ec8b82b35438d3822cf7f761166':
  x11grab: Unbreak building

Conflicts:
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:17:36 +01:00
Michael Niedermayer
7fce8c752d Merge commit '71f1ad37d858b810b71a4af1c25771beaa50b27b'
* commit '71f1ad37d858b810b71a4af1c25771beaa50b27b':
  lavc: do not compile fmtconvert unconditionally

Conflicts:
	configure
	libavcodec/ppc/Makefile
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:06:42 +01:00
Michael Niedermayer
5c17377e28 Merge commit 'd74a8cb7e42f703be5796eeb485f06af710ae8ca'
* commit 'd74a8cb7e42f703be5796eeb485f06af710ae8ca':
  fmtconvert: drop unused functions

Conflicts:
	libavcodec/arm/fmtconvert_vfp_armv6.S
	libavcodec/x86/fmtconvert.asm
	libavcodec/x86/fmtconvert_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:58:29 +01:00
Michael Niedermayer
e82b0e6126 Merge commit 'ee964145b5d229571e00bf6883a44189d02babe2'
* commit 'ee964145b5d229571e00bf6883a44189d02babe2':
  lavc: remove unused traces of fmtconvert usage

Conflicts:
	libavcodec/aac.h
	libavcodec/aacdec.c
	libavcodec/atrac3.c
	libavcodec/vorbisdec.c
	libavcodec/wma.c
	libavcodec/wma.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:41:36 +01:00
Michael Niedermayer
ca6fee7606 Merge commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919'
* commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919':
  tls: Pass AVOptions dictionaries through to the chained protocol

Conflicts:
	libavformat/tls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:32:33 +01:00
Michael Niedermayer
c5c4e5839a Merge commit 'e14f98c62fdf8744b07419314095d1b3248cce75'
* commit 'e14f98c62fdf8744b07419314095d1b3248cce75':
  tcp: Clarify the units for the timeout avoptions

Conflicts:
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:20:39 +01:00
Michael Niedermayer
1fb3642317 Merge commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31'
* commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31':
  avio: Rename avclass symbols relating to avio

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:02:42 +01:00
Andreas Cadhalpun
e8565d21c2 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>
2015-02-28 22:53:12 +01:00
Andreas Cadhalpun
732c3ebffa avcodec/utils: use correct printf specifier in ff_set_sar
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 22:40:40 +01:00
Michael Niedermayer
5705dc5276 avutil/imgutils: correctly check for negative SAR components
These could trigger assert failures previously

Found-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 21:57:11 +01:00
Martin Storsjö
4f6cd883f0 rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate
Instead check the timestamps while muxing, to avoid buffering a
too long timestamp range into one single packet.

This makes the AMR and AAC packetization slightly less efficient,
since we set a possibly unnecessarily high max_frames_per_packet.
(These packetizers end up doing a memmove of the TOC bytes if
sending a packet before max_frames_per_packet is achieved, and
we end up setting max_frames_per_packet to a value that should
be high enough for most uses.)

All packetizers that use max_frames_per_packet now set it either
to a default value, or to a value calculated based on other
parameters, so none of them rely on the previous default setting.

For iLBC, copy one frame at a time, to allow checking the timestamp
range for each of them - basically doing potentially multiple
loops to simplify the code instead of trying to calculate the
number of frames to buffer while honoring s1->max_delay.

This is in preparation for reducing the coupling between libavformat
and libavcodec, by not having the muxers use the encoder field
frame_size (which may not be available during e.g. stream copy).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:31 +02:00
Martin Storsjö
bde2bba45c rtpenc: Restructure if statements in packetizers to simplify adding more conditions
Factorize out the s->num_frames check at the start of the if statements,
simplifying adding more alternative causes for sending the buffered
frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:26 +02:00
Martin Storsjö
d4c7fc02f9 rtpenc: Skip redundant initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:22 +02:00
Martin Storsjö
f8c01257f9 rtpenc: Always do the default initialization regardless of codecs
This avoids having to jump to the defaultcase in the switch. Manually
override the stream time base back to 90 kHz for the few audio codecs
that don't use the sample rate as time base (mp2, mp3).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:11 +02:00
Martin Storsjö
11edeaea32 rtpenc_xiph: Don't exclude headers from max_payload_size
This makes things more consistent by using the variable in the same
way as in all other packetizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:04 +02:00
Martin Storsjö
7c1e2e6466 rtpenc_xiph: Use AV_WB16 instead of manual bitshifts
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:00 +02:00
Martin Storsjö
d16c8d28d4 rtpenc_aac: Use AV_WB16 instead of manual bitshifts
This makes the code slightly more readable and understandable.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:57 +02:00
Martin Storsjö
9c9b0218e8 rtpenc_aac: Merge a definition with a declaration
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:54 +02:00
Martin Storsjö
1fc64e2e07 rtpenc: Write conditional statements on separate lines
Intentionally keeping some conditional statements on single lines
in rtpenc_h263.c.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:51 +02:00
Martin Storsjö
0662440b99 rtpenc_aac: Set a default value for max_frames_per_packet at init
This avoids having to conditionally set the default within the
packetizer function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:46 +02:00
Martin Storsjö
12b3459979 rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf
This doesn't fix any bug, but makes the code simpler for later
patches, and more straightforward to read as is.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:42 +02:00
Martin Storsjö
9856395344 rtpenc_aac: Fix sending fragmented frames
After sending a fragmented frame, len (s->buf_ptr - s->buf) isn't
zero, while s->num_frames is zero as intended. Using s->num_frames
makes it work as intended, and is less convoluted than keeping track
of (resetting) s->buf_ptr.

This avoids sending stray data after sending a fragmented aac packet.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:38 +02:00
Anton Khirnov
990e4a6639 Add a QSV decoding example. 2015-02-28 21:51:24 +01:00
Andreas Cadhalpun
ea1d0b7ece avcodec/utils: use correct printf specifier in ff_set_sar
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-28 21:51:24 +01:00
Christian Hujer
802987f8c7 x11grab: Unbreak building
The correct macro is DEC not D. Broken in
b31328d008

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-28 21:51:24 +01:00
Anton Khirnov
71f1ad37d8 lavc: do not compile fmtconvert unconditionally
Only ac3dec and dcadec use it.
2015-02-28 21:51:24 +01:00
Anton Khirnov
d74a8cb7e4 fmtconvert: drop unused functions 2015-02-28 21:51:24 +01:00
Anton Khirnov
ee964145b5 lavc: remove unused traces of fmtconvert usage
Those decoders have been switched to float output and so do not use
fmtconvert anymore.
2015-02-28 21:51:24 +01:00
Martin Storsjö
b9d2d6843a tls: Pass AVOptions dictionaries through to the chained protocol
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:08:19 +02:00
Martin Storsjö
e14f98c62f tcp: Clarify the units for the timeout avoptions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:07:24 +02:00
Martin Storsjö
c86d8aed74 avio: Rename avclass symbols relating to avio
Don't prefix them ffio_url, which is misleading, sounding too
much like the urlprotocol layer (like ffurl_*).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:07:04 +02:00
Michael Niedermayer
5f1ea0bfc5 avcodec/ppc/fdctdsp: fix const warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 18:40:42 +01:00
zhaoxiu.zeng
94f5ac93d7 avcodec/vc1_block: Optimize vc1_decode_i_block_adv()
9127 -> 8936 decicycles (fate-suite/vc1/SA10143.vc1)
13855 -> 10976 decicycles  (fate-suite/vc1/SA20021.vc1)
tests done by the author over this function but with the whole
patchset applied not just this commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 17:06:10 +01:00
zhaoxiu.zeng
21581182ca avcodec/vc1_block: Optimize vc1_decode_i_block()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 17:00:04 +01:00
zhaoxiu.zeng
80a0daa0f6 avcodec/vc1_block: cosmetics
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:51:35 +01:00
zhaoxiu.zeng
137fbab11b avcodec/vc1_block: move early exit code up in ff_vc1_pred_dc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:51:17 +01:00
zhaoxiu.zeng
9914502264 avcodec/vc1_block: Use av_clip_uintp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:29:51 +01:00
zhaoxiu.zeng
ec908ce427 avcodec/vc1_block: Optimize vc1_decode_ac_coeff()
Avoid branches in sign handling
Move local variables to where they are used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:25:03 +01:00
zhaoxiu.zeng
ccad34e3ca avcodec/vc1_block: Simplify dcdiff initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:14:36 +01:00
zhaoxiu.zeng
bd55f01c96 avcodec/vc1_block: Simplify dir_ptr / pred initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 15:09:57 +01:00
zhaoxiu.zeng
f6b195cfb9 avcodec/vc1: Simplify pred/mc loops
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:57:46 +01:00
zhaoxiu.zeng
d8e030c3cc avcodec/vc1: Simplify dmv_y initialization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:52:57 +01:00
zhaoxiu.zeng
751883c602 avcodec/vc1: Simplify code setting and using extend_x/y
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:42:15 +01:00
zhaoxiu.zeng
71de5542bb avcodec/vc1: Make init_block_index() inline
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:36:07 +01:00
zhaoxiu.zeng
e2edb10f8e avcodec/vc1: use uint8_t for size_table
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:32:27 +01:00
zhaoxiu.zeng
53cb0babb4 avcodec/vc1: simplify offset table and access
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 14:31:40 +01:00
Michael Niedermayer
5ee3a40f1c ffmpeg: Fix -vstats when coded_frame is not set
There are several encoders which do not set coded_frame

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 12:33:44 +01:00
Niklas Haas
888a33c070 lavc/pngenc: Support writing colorspace tags.
These are defined in http://www.w3.org/TR/PNG/#11addnlcolinfo.
2015-02-28 03:34:57 +01:00
Michael Niedermayer
0a23129bfc avformat: Add prefix to get_codec_guid()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:25:27 +01:00
Michael Niedermayer
ae20682f6b swscale: Add prefix to updateMMXDitherTables()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:23:46 +01:00
Michael Niedermayer
4d00860ac7 swresample: Add prefix to soxr_resampler
also move declaration to header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:20:43 +01:00
Michael Niedermayer
bf6102044d avcodec/dvdec: Make dv_iweight_720_c static
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:17:23 +01:00
Michael Niedermayer
23a90768a8 avcodec/v210dec: Add ff prefix to v210_x86_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 19:08:09 +01:00
Michael Niedermayer
b37c3396cd avcodec/h264: Add ff_ prefix to the shared h264_init_dequant_tables() function
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 18:46:02 +01:00
Christophe Gisquet
60bdc868b9 lavf/mov: correct printf specifier
The type is int64_t.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:55:34 +01:00
Michael Niedermayer
0e699676f9 avcodec/snow: mark dwt init as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:53:37 +01:00
Michael Niedermayer
22a80272ae avcodec/diracdsp: Mark ff_diracdsp_init() as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:53:37 +01:00
Michael Niedermayer
f8b743b9e6 avcodec/mjpegenc: Mark ff_mjpeg_encode_close() as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:53:25 +01:00
Michael Niedermayer
78cd9c5671 postproc: mark alloc/free context functions as av_cold
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 16:15:31 +01:00
Derek Buitenhuis
a22032281c movenc: Write 'colr' box correctly for MP4
This also restricts it to MOV and MP4, since it is only
defined for those formats.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-27 14:06:02 +00:00
Clément Bœsch
3e0ae19f86 avfilter/palettegen: fix frame mem leak 2015-02-27 14:18:53 +01:00
Michael Niedermayer
d490b26fcb avformat/ffmenc: Use ffio_free_dyn_buf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 13:38:43 +01:00
Michael Niedermayer
629a03a912 avformat/rtpdec_vp9: Use ffio_free_dyn_buf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-27 13:38:43 +01:00
Paul B Mahol
aa7a2fa58f avcodec/hqx: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-27 09:30:13 +00:00
Paul B Mahol
5440076303 avcodec/hqx: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-27 08:38:14 +00:00
Michael Niedermayer
007498fc1a 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>
2015-02-27 03:13:14 +01:00
Andreas Cadhalpun
d0b8640f75 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>
2015-02-26 23:19:39 +01:00
Andreas Cadhalpun
eeda2c3de8 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>
2015-02-26 23:19:31 +01:00
Michael Niedermayer
19dbe89f03 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  ffmpeg: notify when the thread message queue blocks.
  ffmpeg: allow to set the thread message queue size.
  lavd/alsa: set frame_size field.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 21:38:52 +01:00
Dyami Caliri
50833c9f7b 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.
2015-02-26 20:14:00 +01:00
Michael Niedermayer
b851bc20c6 avformat/mp3dec: Check for avcodec_alloc_context3() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 20:11:19 +01:00
Michael Niedermayer
6ad42b3e15 avformat/mp3dec: properly allocate dummy AVCodecContext
Fixes (harmless) use of uninitialized variable

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 20:02:23 +01:00
Michael Niedermayer
51b7ab2ee7 Merge commit '82b6e451161f19ab90bfb9565b710021caf5dcbd'
* commit '82b6e451161f19ab90bfb9565b710021caf5dcbd':
  configure: Move the cross_prefix setting after the toolchain one

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 19:36:28 +01:00
Vittorio Giovara
43e5e3c077 colormatrix: Accept bt601 aliases as input
As far as matrix coefficients are concerned, BT470BG and SMPTE170M
match BT601. This is similar to the check performed in vf_scale.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-26 19:26:05 +01:00
Nicolas George
d92c6d82c0 ffmpeg: notify when the thread message queue blocks.
This can help finding the source of A-V desync with live input.
2015-02-26 19:19:56 +01:00
Nicolas George
508d6a23b4 ffmpeg: allow to set the thread message queue size. 2015-02-26 19:19:56 +01:00
Nicolas George
a92193f247 lavd/alsa: set frame_size field.
The value tells the typical size of a packet from the demuxer.
2015-02-26 19:19:56 +01:00
James Cowgill
b9de1303a6 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>
2015-02-26 16:40:34 +01:00
James Cowgill
f6bf745c5c mips/aacdec: refactor out duplicated assembly code
The float_copy and fmul_and_reverse functions are refactored out from the
multiple copies in this file.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 16:14:41 +01:00
James Cowgill
83589e6918 mips/sbrdsp: remove sbr_neg_odd_64_mips
The optimized C version of this code actually runs faster than this
version, so remove it.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 16:13:06 +01:00
James Cowgill
d6f66aec50 mips/fft: remove some useless assembly
Remove some assembly that the compiler can easily handle optimally on its own.
GCC produces almost identical assembly.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 15:46:46 +01:00
James Cowgill
390771481a mips/aacpsdsp: fix definition of ps_decorrelate_mips
Q_fract should have be declared as 'const float*'.
Also fix the constness of some local variables affected by this.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 15:46:14 +01:00
James Cowgill
213e823dc6 mips/mathops: remove 64-bit code
GCC is perfectly happy generating optimized multiplication code on its own for
64-bit arches. GCC refuses to optimize the loongson code when in 32-bit mode,
so I've left that.

Signed-off-by: James Cowgill <james410@cowgill.org.uk>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 15:44:35 +01:00
Luca Barbato
82b6e45116 configure: Move the cross_prefix setting after the toolchain one
Makes passing to configure
--toolchain=gcc-asan --cross-prefix=armv7a-hardfloat-linux-gnueabi-
work as intended.
2015-02-26 15:11:16 +01:00
Clément Bœsch
a6a2da2f32 tests: add paletteuse test 2015-02-26 14:20:03 +01:00
Clément Bœsch
e0f03de8f5 tests: add palettegen test 2015-02-26 14:20:02 +01:00
Clément Bœsch
4629993d99 avfilter/paletteuse: use AV_QSORT()
See previous commit for a rationale.
2015-02-26 14:20:02 +01:00
Clément Bœsch
321de03492 avfilter/palettegen: use AV_QSORT()
This makes the sorting of the colors along an axis (r, g or b)
predictible, and thus testable under FATE. The performance is not really
an issue here since the function is called only once at the end and will
need to sort very small number of entries, so an alternative would be to
make the sorting functions (see DECLARE_CMP_FUNC()) fallback on another
axis in case of equality. This approach was actually simpler.

I don't know if there is any advantage in using a multidimensional sort,
but it will affect the final palette one way or another.
2015-02-26 14:20:02 +01:00
Clément Bœsch
30f4e9d3d9 avfilter/palettegen: consistently use the same frame for dimensions 2015-02-26 14:20:02 +01:00
Clément Bœsch
4216968f85 avfilter/palettegen: use a logging context for the dupped color warning 2015-02-26 14:20:02 +01:00
Clément Bœsch
ab093bdeef avfilter/palettegen: export color quantization ratio 2015-02-26 14:20:02 +01:00
Andreas Cadhalpun
7faa40af98 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>
2015-02-26 12:25:29 +01:00
Andreas Cadhalpun
64ea4a0598 avformat/adxdec: set avctx->channels in adx_read_header
It is used in adx_read_packet, which currently depends on the decoder/parser setting this value between reading the file header and demuxing the first packet.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 12:25:29 +01:00
Michael Niedermayer
111d79aa88 avformat/dss: implement seeking
This assumes CBR (which is true for all samples i have)

Previous version reviewed by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 02:06:10 +01:00
Michael Niedermayer
626904b777 avformat/dss: set bitrate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 01:29:28 +01:00
Michael Niedermayer
5634ca6d37 avformat/dss: set packet duration
Value taken from the decoder implementation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 01:03:12 +01:00
Michael Niedermayer
8064265a38 avformat/dss: correct sample rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-26 00:54:10 +01:00
James Almer
bc65abc8d7 libavutil: add x86 optimized av_popcount
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-25 19:58:00 -03:00
Michael Niedermayer
701c965a76 avcodec/hevc_ps: Check that log2_ctb_size is not smaller than the bounds of all profiles
Fixes: unaligned memory access
Fixes: signal_sigsegv_3344165_576_cov_3406448105_DBLK_A_MAIN10_VIXS_2.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Suggested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 22:30:25 +01:00
Michael Niedermayer
dd369c9adb avcodec/snow: Initialize spatial_decomposition_count to a valid value
Fixes undefined behavior
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>
2015-02-25 21:30:08 +01:00
Michael Niedermayer
6d66e1a113 avutil/common: Fix integer overflow in av_clip_int8/16_c
Fixes: signal_sigsegv_30420a5_2388_cov_1489993561_integra_lavf.mp4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 20:56:00 +01:00
Seppo Tomperi
63ca0fe828 avcodec/hevcdsp: ARM NEON optimized qpel functions
uses comma as macro parameter separator

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 18:39:51 +01:00
Michael Niedermayer
d1e2d59f23 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Allow muxing h264 into ts with startcode "001" instead of "0001".
  lavfi/fade: Do not overread input buffer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 17:49:36 +01:00
Michael Niedermayer
205b2ba3d6 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>
2015-02-25 17:40:47 +01:00
Clément Bœsch
5c11f5b4a2 avfilter/palettegen: move longest variable to a local scope
Also drop initialization since it is initialized later on before any
usage.
2015-02-25 17:25:27 +01:00
Carl Eugen Hoyos
56ffde3f61 Allow muxing h264 into ts with startcode "001" instead of "0001".
Fixes ticket #2220.
Fixes ticket #4324.
2015-02-25 15:08:33 +01:00
Carl Eugen Hoyos
ab3ff19f08 lavfi/fade: Do not overread input buffer. 2015-02-25 15:07:18 +01:00
Michael Niedermayer
bbbc8c6188 avformat/mov: Check ctts_count before use
Fixes out of array read
Fixes: asan_heap-oob_ae74b5_3610_cov_1739568095_test.3g2

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 13:31:34 +01:00
Michael Niedermayer
1f5c7781e6 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>
2015-02-25 12:30:04 +01:00
Michael Niedermayer
7296716e35 avcodec/h264: Clear last_pic_for_ec on seeks and reinits
Fixes out of array read
Fixes: asan_heap-oob_2ff30d2_3479_cov_3803648058_src13_hrc7_525_420_2.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 03:23:25 +01:00
Michael Niedermayer
390c57781f avcodec/arm/hevcdsp_idct_neon: drop ".code 32"
gas-preprocessor and armasm fail otherwise

Tested-by: Timotius Margo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 02:30:35 +01:00
Michael Niedermayer
a1b5cf0181 Merge commit '85b3b1c4ba7af9c2658442b0aafd27d613e1854b'
* commit '85b3b1c4ba7af9c2658442b0aafd27d613e1854b':
  xcbgrab: Unbreak parsing filename options

Conflicts:
	libavdevice/xcbgrab.c

See: db442c8736
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 01:44:49 +01:00
Michael Niedermayer
2fbdf30efe Merge commit 'b31328d008985f87f0a7c83c700847cef1a4f08c'
* commit 'b31328d008985f87f0a7c83c700847cef1a4f08c':
  xcbgrab: Provide better names for the y and x option

Conflicts:
	doc/indevs.texi
	libavdevice/x11grab.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 01:12:50 +01:00
Michael Niedermayer
53dd75e911 Merge commit 'da7e561964ee833678dc24fae0b0265358126d1e'
* commit 'da7e561964ee833678dc24fae0b0265358126d1e':
  matroskaenc: Allow writing track "forced" flag

See: d88d0b6db6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 01:09:00 +01:00
Michael Niedermayer
3130e5be92 Merge commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd'
* commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd':
  rtpdec: Rename the free method to close

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:58:39 +01:00
Michael Niedermayer
7f03f75ce7 Merge commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a'
* commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a':
  libavformat: Use ffio_free_dyn_buf where applicable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:48:50 +01:00
Michael Niedermayer
7d9b06eb17 Merge commit '199fb40278146c5bb162990c66ad3cd561abc780'
* commit '199fb40278146c5bb162990c66ad3cd561abc780':
  rtpdec: Use ffio_free_dyn_buf

Conflicts:
	libavformat/rtpdec_latm.c
	libavformat/rtpdec_svq3.c
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:42:14 +01:00
Michael Niedermayer
6e9bbaca6c Merge commit '8a273a746061a112e5e35066a8fd8e146d821a62'
* commit '8a273a746061a112e5e35066a8fd8e146d821a62':
  avio: Add an internal utility function for freeing dynamic buffers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:33:09 +01:00
Michael Niedermayer
79052cd4ce Merge commit '078d43e23a7a3d64aafee8a58b380d3e139b3020'
* commit '078d43e23a7a3d64aafee8a58b380d3e139b3020':
  rtpdec: Free depacketizers if the init function failed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:32:06 +01:00
Michael Niedermayer
fa80b76b11 Merge commit 'bb4a310bb85f43e62240145a656b1e5285b14239'
* commit 'bb4a310bb85f43e62240145a656b1e5285b14239':
  rtpdec: Don't free the payload context in the .free function

Conflicts:
	libavformat/rtpdec_latm.c
	libavformat/rtpdec_mpeg4.c
	libavformat/rtpdec_mpegts.c
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:25:12 +01:00
Michael Niedermayer
64f58d20b2 Merge commit 'f4b59334bd898c47c9ac30999a346176548630a8'
* commit 'f4b59334bd898c47c9ac30999a346176548630a8':
  rtpdec: Remove the now unused .alloc field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:17:48 +01:00
Michael Niedermayer
f966ac2b6e avformat/rtpdec_vp9: remove alloc/free functions
Simplify code

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:17:38 +01:00
Michael Niedermayer
d52bf89d21 Merge commit '78791c086bcaf9eb084c27555b31fea8bbb7624a'
* commit '78791c086bcaf9eb084c27555b31fea8bbb7624a':
  rtpdec: Use .init instead of .alloc to set default values

Conflicts:
	libavformat/rdt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 00:03:52 +01:00
Michael Niedermayer
99c76902cd Merge commit '88434f9725e7c9484dcbcf323566ae88a2904f32'
* commit '88434f9725e7c9484dcbcf323566ae88a2904f32':
  rtpdec: Remove unnecessary inline attributes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:44:45 +01:00
Michael Niedermayer
d2a5c6f210 Merge commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74'
* commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74':
  rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:44:25 +01:00
Michael Niedermayer
499da717b8 Merge commit 'ac0e54fda9305cc7d149007f5b512bb8619f7c78'
* commit 'ac0e54fda9305cc7d149007f5b512bb8619f7c78':
  rtpdec: Add const to string parameters in internal fmtp parsing functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:38:19 +01:00
Michael Niedermayer
1c5d9dd2b7 Merge commit '12251f997bbc0abb93be39c51021e6d404ca385f'
* commit '12251f997bbc0abb93be39c51021e6d404ca385f':
  rtpdec: Remove unnecessary checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:37:54 +01:00
Michael Niedermayer
cf95877474 Merge commit 'c82bf15dca00f67a701d126e47ea9075fc9459cb'
* commit 'c82bf15dca00f67a701d126e47ea9075fc9459cb':
  rtpenc: Merge the h264 and hevc packetizers

Conflicts:
	libavformat/rtpenc_hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:30:51 +01:00
Michael Niedermayer
17773f49b7 Merge commit '3567b91e49c6ae101c9a35c90f46b8ad9890ac15'
* commit '3567b91e49c6ae101c9a35c90f46b8ad9890ac15':
  rtpdec_hevc: Share the implementation of fragmented packets with h264

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:23:26 +01:00
Michael Niedermayer
0f8de2b5f1 Merge commit 'f3449062a8d100ac4f703647336c32b126aa99f1'
* commit 'f3449062a8d100ac4f703647336c32b126aa99f1':
  rtpdec_hevc: Reduce indentation level by returning early on errors

Conflicts:
	libavformat/rtpdec_hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:16:46 +01:00
Michael Niedermayer
29f9d82d23 Merge commit '8633fb47db2ec39eb8bd1bd65302af75a94ff5d0'
* commit '8633fb47db2ec39eb8bd1bd65302af75a94ff5d0':
  rtpdec_hevc: Share the implementation of parsing a=framesize with h264

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:03:12 +01:00
Michael Niedermayer
df38883607 Merge commit '5956f489d0452ff6dea6b6b81b4fa8e596fc5684'
* commit '5956f489d0452ff6dea6b6b81b4fa8e596fc5684':
  rtpdec_hevc: Add asterisks at the start of each long comment line

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:55:55 +01:00
Michael Niedermayer
3804d73e46 Merge commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8'
* commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8':
  rtpdec: Get rid of all trivial .alloc/.free functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:55:20 +01:00
Michael Niedermayer
48e3cd4fcd Merge commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd'
* commit 'e72605f80bf5cbe32053a554ccc137e0a99cf3dd':
  rtpdec: Allow allocating and freeing the private data without explicit functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:42:04 +01:00
Michael Niedermayer
11fb625858 Merge commit '2b982e92f42a6e661d90b12b6592cd13cae496d4'
* commit '2b982e92f42a6e661d90b12b6592cd13cae496d4':
  rtpdec: Set need_parsing via a handler field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:34:08 +01:00
Michael Niedermayer
4c8a556a77 Merge commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6'
* commit 'b7a4c319fda22aa91ce29692d728ec6103b514f6':
  rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:33:49 +01:00
Luca Barbato
85b3b1c4ba xcbgrab: Unbreak parsing filename options
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-24 22:31:20 +01:00
Luca Barbato
b31328d008 xcbgrab: Provide better names for the y and x option
Incidentally `-y` also collides with avconv global options.

Update x11grab to match and document the option.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-24 22:31:20 +01:00
John Stebbins
da7e561964 matroskaenc: Allow writing track "forced" flag
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-24 22:28:51 +01:00
Michael Niedermayer
2bedcbf822 Merge commit 'b651c9139e1ab222d5aab9151dcd7d6e40e49885'
* commit 'b651c9139e1ab222d5aab9151dcd7d6e40e49885':
  rtpdec_mpa_robust: Move .enc_name to the start of the struct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:26:42 +01:00
Michael Niedermayer
a51b192f3b Merge commit 'db158f0dd217cf839be8af195d66cf49a76537a8'
* commit 'db158f0dd217cf839be8af195d66cf49a76537a8':
  rtpdec: Remove unnecessary _if_needed suffixes on functions

Conflicts:
	libavformat/rtpdec_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:26:15 +01:00
Michael Niedermayer
8c6651a14d Merge commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202'
* commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202':
  rtpdec: Change enc_name to a pointer instead of a fixed-size buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:19:33 +01:00
Michael Niedermayer
a4f50ec9dd Merge commit '0752f700d63f6b15ffd5369ac7615414cce71247'
* commit '0752f700d63f6b15ffd5369ac7615414cce71247':
  rtpdec_h264: Remove an unnecessary include

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:19:06 +01:00
Michael Niedermayer
ae2a8d8742 Merge commit '247764a592f83521f9c1ccdc900b00a8b84f3c87'
* commit '247764a592f83521f9c1ccdc900b00a8b84f3c87':
  rtpdec_h264: Remove unnecessary struct padding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:12:16 +01:00
Michael Niedermayer
5d06b6e984 Merge commit 'fe414059ec1fe8237574bed34cdaa8ac3893917b'
* commit 'fe414059ec1fe8237574bed34cdaa8ac3893917b':
  rtpdec_amr: Use the common indentation style

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:11:58 +01:00
Martin Storsjö
d594dbecce rtpdec: Rename the free method to close
Many of these functions were named foo_free_context, and since
the functions no longer should free the context itself, only
allocated elements within it, the previous naming was slightly
misleading.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:50 +02:00
Martin Storsjö
8e32b1f096 libavformat: Use ffio_free_dyn_buf where applicable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:47 +02:00
Martin Storsjö
199fb40278 rtpdec: Use ffio_free_dyn_buf
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:44 +02:00
Martin Storsjö
8a273a7460 avio: Add an internal utility function for freeing dynamic buffers
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:41 +02:00
Martin Storsjö
078d43e23a rtpdec: Free depacketizers if the init function failed
This is different from how it is handled in codecs/demuxers/muxers
though (where the close function isn't called if the open function
failed), but since the number of depacketizers that have an .init
function is quite limited, this is easy to change.

The main point is that if the init function failed, we shouldn't
try to use that depacketizer at all - this makes sure that the
parse function doesn't need to check for the things that were
initialized in the init function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:39 +02:00
Martin Storsjö
bb4a310bb8 rtpdec: Don't free the payload context in the .free function
This makes it more consistent with depacketizers that don't have any
.free function at all, where the payload context is freed by the
surrounding framework. Always free the context in the surrounding
framework, having the individual depacketizers only free any data
they've specifically allocated themselves.

This is similar to how this works for demuxer/muxers/codecs - a
component shouldn't free the priv_data that the framework has
allocated for it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:35 +02:00
Martin Storsjö
f4b59334bd rtpdec: Remove the now unused .alloc field
Always use the .priv_data_size field instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:32 +02:00
Martin Storsjö
78791c086b rtpdec: Use .init instead of .alloc to set default values
The ugly error handling in rdt gets improved in a later commit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:28 +02:00
Martin Storsjö
88434f9725 rtpdec: Remove unnecessary inline attributes
These functions are far from performance critical, so there's no
point in marking them as inline.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:25 +02:00
Martin Storsjö
ec96a89c3e rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions
This makes it clear that the individual parsing functions can't
touch the parsed out value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:22 +02:00
Martin Storsjö
ac0e54fda9 rtpdec: Add const to string parameters in internal fmtp parsing functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:18 +02:00
Martin Storsjö
12251f997b rtpdec: Remove unnecessary checks
The free function of a depacketizer won't be called if data is NULL.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 23:07:14 +02:00
Michael Niedermayer
eb24186b45 Merge commit '74d318f138f2a3f1b2fe81aea826d80d1e60f54c'
* commit '74d318f138f2a3f1b2fe81aea826d80d1e60f54c':
  rtsp: Fix the indentation of a linewrapped statement

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:03:57 +01:00
Michael Niedermayer
30c863fdfa Merge commit '3cd5828fc0007e6d056067444de053a34ddedd02'
* commit '3cd5828fc0007e6d056067444de053a34ddedd02':
  rtpdec: Add missing trailing commas

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 22:03:19 +01:00
Michael Niedermayer
8c1c069371 Merge commit '04a1be8e28e81f3967eace7705343c450616cc95'
* commit '04a1be8e28e81f3967eace7705343c450616cc95':
  libavformat: add T.140 RTP depacketization (RFC 4103)

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

See: af940e6cb1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 21:55:46 +01:00
Michael Niedermayer
c6792275f4 Merge commit '26524e358147aade6e9dd18fff42d61b966bbc70'
* commit '26524e358147aade6e9dd18fff42d61b966bbc70':
  rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA

See: afb0e5a810
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 21:43:13 +01:00
Michael Niedermayer
c23a0e77dd 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>
2015-02-24 21:21:22 +01:00
Tobias Rapp
f34aca8a16 doc/filters.texi: add reference link to video size syntax description
Update the filter option documentation text to link to ffmpeg-utils
documentation for video size syntax description.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-02-24 18:24:42 +01:00
Kevin Wheatley
3664703780 avformat/movenc: Fix writing ACLR atoms for DNxHD
Using the copy codec ACLR atoms where incorrectly written

During the creation of the ACLR atom we are assuming the vos_data
contains the DNxHD header. This change makes this explicit and
ensures we don't over write the stream with the extra_data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 16:54:02 +01:00
Michael Niedermayer
847daac5c0 avformat/dss: Set packet position correctly
pos previously was set but then overwritten

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 15:41:02 +01:00
Martin Storsjö
c82bf15dca rtpenc: Merge the h264 and hevc packetizers
They share a great deal of common structure; only a few minor
bits in the headers differ.

This also fixes an off-by-one in sending of the last fragment
of large HEVC nals (where it previously sent len+2 bytes, even
if it should have been len+RTP_HEVC_HEADERS_SIZE aka len+3).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:43 +02:00
Martin Storsjö
3567b91e49 rtpdec_hevc: Share the implementation of fragmented packets with h264
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:28 +02:00
Martin Storsjö
f3449062a8 rtpdec_hevc: Reduce indentation level by returning early on errors
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:21 +02:00
Martin Storsjö
8633fb47db rtpdec_hevc: Share the implementation of parsing a=framesize with h264
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:36 +02:00
Martin Storsjö
5956f489d0 rtpdec_hevc: Add asterisks at the start of each long comment line
This is the common style for such comments.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:27 +02:00
Martin Storsjö
5d8cae4573 rtpdec: Get rid of all trivial .alloc/.free functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:19 +02:00
Martin Storsjö
e72605f80b rtpdec: Allow allocating and freeing the private data without explicit functions
This can reduce the amount of boilerplate in simple depacketizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:23:37 +02:00
Martin Storsjö
2b982e92f4 rtpdec: Set need_parsing via a handler field
This avoids implementing a full function just to set this one
field.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:41 +02:00
Martin Storsjö
b7a4c319fd rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler
This allows getting rid of quite a bit of boilerplate in depacketizers.

The default value (initializing need_parsing to 0, aka
AVSTREAM_PARSE_NONE) is the same as it is initialized to by default
in AVStream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:21 +02:00
Martin Storsjö
b651c9139e rtpdec_mpa_robust: Move .enc_name to the start of the struct
This makes it match the other depacketizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:04 +02:00
Martin Storsjö
db158f0dd2 rtpdec: Remove unnecessary _if_needed suffixes on functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:21:54 +02:00
Martin Storsjö
353b492d0f rtpdec: Change enc_name to a pointer instead of a fixed-size buffer
This avoids allocating space for a too large buffer for all the
name strings.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:21:18 +02:00
Martin Storsjö
0752f700d6 rtpdec_h264: Remove an unnecessary include
Nothing in this file use any network functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:54 +02:00
Martin Storsjö
247764a592 rtpdec_h264: Remove unnecessary struct padding
There's no point in adding padding in the allocation of a depacketizer
specific context struct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:44 +02:00
Martin Storsjö
fe414059ec rtpdec_amr: Use the common indentation style
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:23 +02:00
Martin Storsjö
74d318f138 rtsp: Fix the indentation of a linewrapped statement
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:10 +02:00
Martin Storsjö
3cd5828fc0 rtpdec: Add missing trailing commas
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:02 +02:00
Gilles Chanteperdrix
04a1be8e28 libavformat: add T.140 RTP depacketization (RFC 4103)
Map this to AV_CODEC_ID_TEXT.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:19:44 +02:00
Martin Storsjö
26524e3581 rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:19:37 +02:00
Paul B Mahol
418be7ceb4 avcodec/mss4: check return value of init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-24 13:17:34 +00:00
Christophe Gisquet
e87e20613b lavc/pthread_slice: release entries
When calling ff_alloc_entries, a number of entries are created.
They are never freed, as running fate with slice threading and
several frames on e.g. fate-hevc-conformance-ENTP_A_Qualcomm_1
would show.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 12:07:20 +01:00
Clément Bœsch
cc69ccb6d4 avformat/nutdec: fix isom and mpa build deps
Fixes the following link error:
  nutdec.c:(.text+0x2d47): undefined reference to `ff_codec_movvideo_tags'
  isom.c:(.text+0x332): undefined reference to `avpriv_mpeg4audio_get_config'
  isom.c:(.text+0x39e): undefined reference to `avpriv_mpa_freq_tab'
2015-02-24 11:22:47 +01:00
Michael Niedermayer
721c916dd5 avcodec/snow: Free all planes and bands independent of the last count
Fixes memleak
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>
2015-02-24 03:22:20 +01:00
Michael Niedermayer
8f4cbf9402 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>
2015-02-24 03:15:42 +01:00
Michael Niedermayer
fb8e5044b4 swscale/utils: add asserts to check filterpos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 01:00:24 +01:00
Michael Niedermayer
1895d414aa 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>
2015-02-24 01:00:24 +01:00
Michael Niedermayer
4d1b017c38 avformat/mov: Check av_add_index_entry() return value
Fixes NULL pointer dereference
Fixes: signal_sigsegv_b060e0_3794_cov_1293954059_vc1-wmapro.ism

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 22:48:35 +01:00
James Almer
03616af2c9 Revert "takdec: pad filter coeff buffer for DSP functions"
This reverts commit e0c7ba40cf.

Valgrind complains about invalid reads, which generate segfaults in some
systems.
2015-02-23 18:22:37 -03:00
Michael Niedermayer
8f140a8ec3 Merge commit 'ce52869c22738ad584995d48103ce3aa2301736b'
* commit 'ce52869c22738ad584995d48103ce3aa2301736b':
  fate: Rename fate-dts test to fate-dca-core

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:59:34 +01:00
Michael Niedermayer
9ad8f55eda Merge commit 'cb4cb7b0ea12b791dde587b1acd504dbb4ec8f41'
* commit 'cb4cb7b0ea12b791dde587b1acd504dbb4ec8f41':
  qsv: Skip qsv.h compilation if qsv is not enabled

Conflicts:
	libavcodec/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:49:51 +01:00
Michael Niedermayer
83f18410bd Merge commit 'cdcc370293a159c321e41af7f0eef141c62d698d'
* commit 'cdcc370293a159c321e41af7f0eef141c62d698d':
  rtsp: punch holes again after pause

See: 22bb5bd7a3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:43:18 +01:00
Michael Niedermayer
cce8f750d9 Merge commit '061c489895d29049a88dc6118e4b639a273b31d6'
* commit '061c489895d29049a88dc6118e4b639a273b31d6':
  eamad: check for out of bounds read

Conflicts:
	libavcodec/eamad.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:29:35 +01:00
Michael Niedermayer
92ec34707f Merge commit '161442ff2c4b0dd8a5072c6bbe6bf55303fffccf'
* commit '161442ff2c4b0dd8a5072c6bbe6bf55303fffccf':
  mdec: check for out of bounds read

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:19:00 +01:00
Michael Niedermayer
596f81c75b Merge commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc'
* commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc':
  rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units

Conflicts:
	libavformat/rtpdec_hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:01:44 +01:00
Michael Niedermayer
34a8de866f avcodec/snowenc: Allocate and reference coded_frame correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 19:47:04 +01:00
Michael Niedermayer
96e7c9cbfc avcodec/roqvideoenc: Allocate and reference coded_frame correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 19:45:23 +01:00
Michael Niedermayer
6c9537b807 avformat/hlsenc: Warn if a non file protocol is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 16:53:36 +01:00
Diego Biurrun
ce52869c22 fate: Rename fate-dts test to fate-dca-core
The codec is referred to as DCA in other parts of libav.
2015-02-23 16:26:32 +01:00
Diego Biurrun
cb4cb7b0ea qsv: Skip qsv.h compilation if qsv is not enabled 2015-02-23 16:26:32 +01:00
Paul B Mahol
665916ffa2 avcodec/hqx: remove superfluous log message
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-23 15:04:15 +00:00
Gilles Chanteperdrix
cdcc370293 rtsp: punch holes again after pause
When a client behind a NAT issues a pause command, and stay paused for a
long time, the router may stop the RTP/RTCP port redirection. Resend the
hole punching packets before each PLAY command to cause the router to
restart the port redirection in that case.

Move the existing code for sending the packets from the SETUP phase
to the PLAY phase.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-23 16:55:56 +02:00
Federico Tomassetti
061c489895 eamad: check for out of bounds read
Bug-Id: CID 1257500
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-23 15:06:18 +01:00
Federico Tomassetti
161442ff2c 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>
2015-02-23 15:06:18 +01:00
Martin Storsjö
fe208ca54b rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units
Only the first aggregation unit has 2 bytes (DONL) prepended, if
such a field is in use.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-23 15:33:20 +02:00
Clément Bœsch
c3d40e305c avfilter/palette{gen,use}: add Copyright 2015-02-23 14:00:13 +01:00
Michael Niedermayer
2cf521718d Merge commit '35c6ce76b107225a19eb33aea38857d2405882af'
* commit '35c6ce76b107225a19eb33aea38857d2405882af':
  Canopus HQX decoder

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 12:19:26 +01:00
Michael Niedermayer
c0f02b2201 Merge commit '36a6fb989b017898041703025ef20028146675a8'
* commit '36a6fb989b017898041703025ef20028146675a8':
  hevc_deblock: Fix compilation with nasm

See: c75fdee747
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:53:51 +01:00
Michael Niedermayer
96b495f443 Merge commit 'e570f895cdccf2535a71fec1c607751ddb94fd5a'
* commit 'e570f895cdccf2535a71fec1c607751ddb94fd5a':
  libschroedinger: Check memory allocations

Conflicts:
	libavcodec/libschroedinger.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:42:16 +01:00
Michael Niedermayer
0425e16d96 Merge commit '521979e6b1e7a89751aebc285a40d6508f8af48f'
* commit '521979e6b1e7a89751aebc285a40d6508f8af48f':
  configure: Properly fail when libcdio/cdparanoia is not found

Conflicts:
	configure

See: f514b5dff7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:26:49 +01:00
Michael Niedermayer
69c32456a0 Merge commit 'f7cc6627c01ad3f5bc6ea2d0e6f8adb3a0b490d7'
* commit 'f7cc6627c01ad3f5bc6ea2d0e6f8adb3a0b490d7':
  configure: Use pkg-config for libdc1394 discovery

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 11:10:56 +01:00
Clément Bœsch
92b7f56193 avfilter/paletteuse: add diff_mode 2015-02-23 09:56:22 +01:00
Clément Bœsch
b0f5227558 avfilter/paletteuse: fix error dithering accuracy 2015-02-23 09:56:22 +01:00
Michael Niedermayer
29bbc1be48 avcodec/a64multienc: Assert that the Packet size does not grow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 02:16:00 +01:00
Michael Niedermayer
4da351ff0c avcodec/a64multienc: simplify frame handling code
This also fixes a memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 02:15:38 +01:00
Andreas Cadhalpun
87513d6545 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>
2015-02-23 01:49:23 +01:00
Andreas Cadhalpun
ab759f8f4a avcodec/a64multienc: initialize mc_meta_charset to zero
This fixes the use of uninitialized values in avpriv_do_elbg.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 01:49:23 +01:00
Michael Niedermayer
d96142e9af 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>
2015-02-23 01:49:23 +01:00
Andreas Cadhalpun
39e4ed7c1d 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>
2015-02-23 00:46:00 +01:00
Michael Niedermayer
fab8b88a5e Merge commit 'a388e72d1a6b0888cc1591cb699f61a9c1089cf4'
* commit 'a388e72d1a6b0888cc1591cb699f61a9c1089cf4':
  rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 00:29:50 +01:00
Michael Niedermayer
17c52d746c Merge commit 'e2220e734f3d01145ef9aefbd7b6ff29a89ae159'
* commit 'e2220e734f3d01145ef9aefbd7b6ff29a89ae159':
  rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 00:13:23 +01:00
Michael Niedermayer
db4a2976f6 Merge commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7'
* commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7':
  rtpdec: DV depacketizer (RFC 6469)

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

See: cbe508553a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 23:54:34 +01:00
Vittorio Giovara
35c6ce76b1 Canopus HQX decoder
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.
2015-02-22 22:42:27 +00:00
Carl Eugen Hoyos
36a6fb989b hevc_deblock: Fix compilation with nasm
CC: libav-stable@libav.org
Bug-Id: 795
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-22 22:34:20 +00:00
Vittorio Giovara
e570f895cd libschroedinger: Check memory allocations 2015-02-22 22:32:18 +00:00
Vittorio Giovara
521979e6b1 configure: Properly fail when libcdio/cdparanoia is not found 2015-02-22 22:31:54 +00:00
Vittorio Giovara
f7cc6627c0 configure: Use pkg-config for libdc1394 discovery
Since not all systems need the libraw1394 dependency, let pkg-config
provide the list of libraries actually needed.

The libdc1394-2.pc file has been included since version 2 (2008-01-05),
so it should be safe to use.
2015-02-22 22:30:35 +00:00
Michael Niedermayer
0a32a1b4bb tools/graph2dot: Check for av_malloc() failure
Fixes CID1271047

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 22:51:13 +01:00
Michael Niedermayer
704c980294 avcodec/aacenc: Fix sample rate check
Fixes out of array read
Fixes CID1257803, CID1257797, CID1257789, CID1257786

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 22:29:09 +01:00
Martin Storsjö
a388e72d1a rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:27:03 +02:00
Martin Storsjö
e2220e734f rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:26:57 +02:00
Michael Niedermayer
a6baef6517 avcodec/mpegvideo: Fix memleak of mvs
Fixes CID1271053

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 22:18:26 +01:00
Thomas Volkert
c99915f7c7 rtpdec: DV depacketizer (RFC 6469)
(tested with live555 RTSP server)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:01:55 +02:00
Michael Niedermayer
2234a1cd16 avcodec/vorbisdec: Fix memleak, call cleanup on memory allocation failure
Fixes CID1258478, CID1258476, CID1258475
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 21:27:09 +01:00
Michael Niedermayer
8559a71415 avcodec/wmaenc: Check extradata allocations
Fixes CID1257842

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 21:23:39 +01:00
Christophe Gisquet
e0c7ba40cf takdec: pad filter coeff buffer for DSP functions
Currently, a part of the loop has to be handled in plain C, because of DSP
function requirements of having batches of 16 elements to process.

Instead, pad the buffer with 0 where the DSP functions are overreading.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-22 16:35:32 -03:00
Michael Niedermayer
b7e7ee6231 avfilter/buffer: Check for qp_table allocation failure
Fixes CID1271048
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 20:27:11 +01:00
Michael Niedermayer
3518925a91 avformat/movenc: Check for memory allocation failures
Fixes CID1271049
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 20:20:13 +01:00
Michael Niedermayer
40adcf576f avformat/oggdec: Check for ost allocation failure
Fixes CID1257798
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 19:21:53 +01:00
Paul B Mahol
586ba24ff2 avcodec/exr: fix memset first arg in reverse_lut()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-22 17:30:50 +00:00
Michael Niedermayer
9b8152bf04 avformat/oggdec: Check for av_malloc() failure and forward the error code
Fixes CID1257805

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 17:53:35 +01:00
Michael Niedermayer
5683810302 avformat/rmenc: Check for av_malloc() failure
Fixes CID1257832

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 17:47:40 +01:00
Michael Niedermayer
ca86e91dd6 tools/trasher: Check fseek returns
Fixes CID733726

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 16:49:56 +01:00
Michael Niedermayer
c3b6454d80 avutil/fixed_dsp: Check for av_malloc() failure
Fixes CID1271051

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 16:27:28 +01:00
Gilles Chanteperdrix
22bb5bd7a3 avformat/rtsp: punch holes again after pause
When a client behind a NAT issues a pause command, and stay paused for a
long time, the router may stop the RTP/RTCP port redirection. Resend the
hole punching packets after each PLAY command to cause the router to
restart the port redirection in that case.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 14:09:26 +01:00
Michael Niedermayer
642c49c983 avcodec/libaacplus: Check for av_malloc() failure
Fixes CID1271046

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 14:00:53 +01:00
Michael Niedermayer
48214956b2 avcodec/jpeglsenc: Check for memory allocation failures
Fixes CID1271044

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 13:45:19 +01:00
Michael Niedermayer
f9d24ee1dc postproc/postprocess: Check for av_malloc() failure
Fixes CID1271052

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:19:05 +01:00
Michael Niedermayer
ac424b23e4 postproc/postprocess: Check for av_mallocz() failure
Fixes CID1271050

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:11:08 +01:00
Michael Niedermayer
45e0aa46ca postproc/postprocess: use av_mallocz()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 03:09:47 +01:00
Michael Niedermayer
066dc04373 avcodec/libx264: Check for av_malloc() failure
Fixes CID1257813
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:55:51 +01:00
Michael Niedermayer
21518f5a0a avcodec/libvpxenc: Check for av_malloc() failure
Fixes CID1271045

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:40:16 +01:00
Michael Niedermayer
67d4d5f5db avcodec/libtheoraenc: Check for av_fast_realloc() failure
Fixes CID1257799
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:18:35 +01:00
Michael Niedermayer
27216bf314 avcodec/libtheoraenc: Check for stats allocation failure
Fixes CID1257785

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 02:11:27 +01:00
Michael Niedermayer
20f5a17956 Merge commit '44dc138ed29c4dfbaf57ebc774da4c75ef113ca4'
* commit '44dc138ed29c4dfbaf57ebc774da4c75ef113ca4':
  rtpdec_mpeg4: reassemble fragmented AAC frames

Conflicts:
	libavformat/rtpdec_mpeg4.c

See: fee2cc39be
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:59:44 +01:00
Michael Niedermayer
abf357a9fb Merge commit 'dcf969e98d3f596006a0ddaf077870408b9c09c3'
* commit 'dcf969e98d3f596006a0ddaf077870408b9c09c3':
  rtpdec_mpeg4: add more verbose error logging

Conflicts:
	libavformat/rtpdec_mpeg4.c

See: fee2cc39be
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:49:37 +01:00
Michael Niedermayer
1186e7cf95 Merge commit '96084251e57d1738fde02a2b0d37ca609d9efd71'
* commit '96084251e57d1738fde02a2b0d37ca609d9efd71':
  libavformat: add robust MPEG audio depacketization (RFC 5219)

Conflicts:
	Changelog
	libavformat/version.h

See: 22470510d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:30:17 +01:00
Michael Niedermayer
dedbefee60 Merge commit '5cbae5651d7c1ce9b0691dfbf2d474cb2b0ebb9a'
* commit '5cbae5651d7c1ce9b0691dfbf2d474cb2b0ebb9a':
  mpegaudio_parser: add MP3 ADU headers parser

Conflicts:
	libavcodec/mpegaudio_parser.c
	libavcodec/mpegaudiodecheader.c
	libavcodec/version.h

See: 8ca098f444
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:08:28 +01:00
Gilles Chanteperdrix
fee2cc39be avformat/rtpdec_mpeg4: reassemble fragmented AAC frames
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:56:18 +01:00
Michael Niedermayer
17384b1719 Merge commit '5e5583efe41662294c5e1b76499ba338557f808d'
* commit '5e5583efe41662294c5e1b76499ba338557f808d':
  libavformat: add AC3 RTP depacketization (RFC 4184)

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

See: 3eec775b21
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:48:27 +01:00
Michael Niedermayer
285eea0001 Merge commit '4438d1c6ede3190d7920513272fb9dc5371648f2'
* commit '4438d1c6ede3190d7920513272fb9dc5371648f2':
  rtsp: parse lang attribute in SDP

Conflicts:
	libavformat/rtsp.h
	libavformat/version.h

See: c7ad1f562b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:36:53 +01:00
Michael Niedermayer
1fa2d95f6b Merge commit '1ec28a66f2c853a7e4aeb21495c0b4d9478f17db'
* commit '1ec28a66f2c853a7e4aeb21495c0b4d9478f17db':
  rtpdec: fix issue with conversion from unsigned to signed

See: 73029abddc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:22:02 +01:00
Michael Niedermayer
b0b7571a52 Merge commit 'ff394ca087d41941d2157e7a4e356e3ad312494e'
* commit 'ff394ca087d41941d2157e7a4e356e3ad312494e':
  rtpdec_h264: Add a missing closing paren in a log message

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:15:10 +01:00
Michael Niedermayer
db3f6465a6 Merge commit '12655c48049f9a52e5504bde90fe738862b0ff08'
* commit '12655c48049f9a52e5504bde90fe738862b0ff08':
  libavresample: NEON optimized FIR audio resampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:06:23 +01:00
Michael Niedermayer
52a1a55f30 Add coverity model file
The comments/header of the file are taken from qemu, they provide some
basic documentation
The code from the examples

Ive no means to test this except uploading to coverity for FFmpeg, so each
commit should stay simple, making it easy to revert.

Also please help making this a useful and effective file by contributing
changes/code to it and reviewing contributions.
I am happy to upload changes but i cannot really maintain this (alone) as
i cannot test changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 23:45:08 +01:00
Gilles Chanteperdrix
44dc138ed2 rtpdec_mpeg4: reassemble fragmented AAC frames
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:38:07 +02:00
Gilles Chanteperdrix
dcf969e98d rtpdec_mpeg4: add more verbose error logging
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:58 +02:00
Gilles Chanteperdrix
96084251e5 libavformat: add robust MPEG audio depacketization (RFC 5219)
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:50 +02:00
Gilles Chanteperdrix
5cbae5651d mpegaudio_parser: add MP3 ADU headers parser
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:42 +02:00
Gilles Chanteperdrix
5e5583efe4 libavformat: add AC3 RTP depacketization (RFC 4184)
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:32 +02:00
Gilles Chanteperdrix
4438d1c6ed rtsp: parse lang attribute in SDP
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:24 +02:00
Gilles Chanteperdrix
1ec28a66f2 rtpdec: fix issue with conversion from unsigned to signed
When receiving an RTCP packet, the difference between the last RTCP
timestamp and the base timestamp may be negative. As these timestamps
are of the uint32_t type, the result becomes a large integer. Cast
the difference to int32_t to avoid this issue.

The result of this issue is very large start times for RTSP
streams, and difficulty to restart correctly after a pause.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:15 +02:00
Martin Storsjö
ff394ca087 rtpdec_h264: Add a missing closing paren in a log message
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:36:56 +02:00
Thomas Volkert
7a459be8e7 avformat/rtpdec_dv: fix bundled audio typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 22:36:18 +01:00
Peter Meerwald
12655c4804 libavresample: NEON optimized FIR audio resampling
modelled after aarch64 code

on Cortex-A8, s16 and s32 code is about 2x faster,
float code about 7x faster

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 22:08:39 +02:00
Michael Niedermayer
f848a66009 avcodec/adpcm: use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:41:36 +01:00
Michael Niedermayer
d1c705087f avcodec/hevc_mvs: Use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:40:17 +01:00
Michael Niedermayer
d74c8d3ada avcodec/adxenc: Use av_clip_intp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 20:38:13 +01:00
Michael Niedermayer
03f39fbb2a 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>
2015-02-21 16:05:41 +01:00
Michael Niedermayer
fbae0ac3e4 avcodec/ffv1enc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:50:19 +01:00
Michael Niedermayer
114a2eb272 avcodec: Use av_clip_uintp2() where possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:50:03 +01:00
Michael Niedermayer
d301a13427 avcodec/snowenc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 15:44:34 +01:00
Supraja Meedinti
daebe6319e tools: added twofish support
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:59:30 +01:00
Michael Niedermayer
1f1ef843b5 avfilter/vf_perspective: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:51:07 +01:00
Michael Niedermayer
6660c598cd avfilter/vsrc_mptestsrc: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:50:23 +01:00
Michael Niedermayer
03bffb68f6 swscale: Use av_clip_uintp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:49:17 +01:00
Michael Niedermayer
b20426398c swscale/yuv2rgb: Use av_clip_uint8()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:44:47 +01:00
Michael Niedermayer
2af5fb2f8c avformat/flacenc: Use av_clip_uintp2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:43:28 +01:00
Gilles Chanteperdrix
73029abddc libavformat/rtpdec: fix issue with conversion from unsigned to signed
When receiving an RTCP packet, the difference between the last RTCP
timestamp and the base timestamp may be negative. As these timestamps
are of the uint32_t type, the result becomes a large integer. Cast
the difference to int32_t to avoid this issue.

The result of this issue is very large start times for RTSP
streams, and difficulty to restart correctly after a pause.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 14:18:52 +01:00
Michael Niedermayer
e3cc93aacf Merge commit 'cbdd1806ead8758949f22b4e4f214b035c78e2b9'
* commit 'cbdd1806ead8758949f22b4e4f214b035c78e2b9':
  rtpdec_hevc: Implement parsing of aggregated packets

Conflicts:
	libavformat/rtpdec_hevc.c

See: b6f577dbb2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 13:22:02 +01:00
Michael Niedermayer
2b2b6d1e3c Merge commit 'b878ba03e7e088777cc5083766e0b2a293e716ee'
* commit 'b878ba03e7e088777cc5083766e0b2a293e716ee':
  rtpdec_hevc: Initialize variables to silence false positive compiler warnings

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 13:09:24 +01:00
Michael Niedermayer
5402a22845 Merge commit '10e2d8b5562d8729e4eefbcec63a11eb8a0c502c'
* commit '10e2d8b5562d8729e4eefbcec63a11eb8a0c502c':
  rtpdec_hevc: Use a shared function for parsing parameter sets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 13:02:42 +01:00
Michael Niedermayer
a10529a319 Merge commit '0de07510844517b615ef2a2e2916f6391ad88687'
* commit '0de07510844517b615ef2a2e2916f6391ad88687':
  rtpdec_h264: Make reusable functions non-static

Conflicts:
	libavformat/rtpdec_formats.h
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:56:08 +01:00
Michael Niedermayer
7fd732b758 Merge commit '16163e6bf2d446c06d4dd053c0852074bb50508d'
* commit '16163e6bf2d446c06d4dd053c0852074bb50508d':
  rtpdec_h264: Fix nal type counting after refactoring

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:44:09 +01:00
Michael Niedermayer
34c58618be Merge commit 'a3cc519d1f43bf93cc29fd53284a2b8aa6189a9a'
* commit 'a3cc519d1f43bf93cc29fd53284a2b8aa6189a9a':
  rtpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevc

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:32:28 +01:00
Michael Niedermayer
621450e786 Merge commit '48183b3ad45c95e386a4cb02e1a68b53e6835ac5'
* commit '48183b3ad45c95e386a4cb02e1a68b53e6835ac5':
  rtpdec_h264: Generalize parse_sprop_parameter_sets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:25:09 +01:00
Michael Niedermayer
9b41bf5c3d Merge commit 'a982c5d74fbc7ff5bd2f2f73af61ae48e9b1bcc6'
* commit 'a982c5d74fbc7ff5bd2f2f73af61ae48e9b1bcc6':
  tests: drop bc dependency

Conflicts:
	tests/fate-run.sh

See: d47eeff274
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 12:08:31 +01:00
Michael Niedermayer
4b55a7e1ce Merge commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5'
* commit 'a06b0b1295c51d100101e0ca0434e199ad6de6b5':
  h264: initialize H264Context.avctx in init_thread_copy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:53:00 +01:00
Michael Niedermayer
6458e4750f Merge commit '0dea4c77ccf5956561bb8991311b3d834bb5fa40'
* commit '0dea4c77ccf5956561bb8991311b3d834bb5fa40':
  h264: only ref cur_pic in update_thread_context if it is initialized

Conflicts:
	libavcodec/h264_slice.c

See: 0fc01ae33c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:45:42 +01:00
Michael Niedermayer
66d79aa2e1 Merge commit '9abc80f1ed673141326341e26a05c3e1f78576d0'
* commit '9abc80f1ed673141326341e26a05c3e1f78576d0':
  libavcodec: Make use of av_clip functions

Conflicts:
	libavcodec/takdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:27:24 +01:00
Michael Niedermayer
1253091d6f Merge commit '76ce9bd8e26dcb3652240a1072840ff4011d7cdc'
* commit '76ce9bd8e26dcb3652240a1072840ff4011d7cdc':
  libavutil: Add ARM av_clip_intp2_arm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:15:32 +01:00
Michael Niedermayer
88d850ecb3 Merge commit 'bf07d813f6c88b5a76980f321cf7272d799c4216'
* commit 'bf07d813f6c88b5a76980f321cf7272d799c4216':
  libavutil: Add av_clip_intp2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 11:13:34 +01:00
Thomas Volkert
cbdd1806ea rtpdec_hevc: Implement parsing of aggregated packets
With significant changes by Martin Storsjö, to use the shared
function instead of reimplementing it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:50 +02:00
Martin Storsjö
b878ba03e7 rtpdec_hevc: Initialize variables to silence false positive compiler warnings
For some reason, clang didn't warn about this prior to using the
shared function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:47 +02:00
Martin Storsjö
10e2d8b556 rtpdec_hevc: Use a shared function for parsing parameter sets
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:44 +02:00
Martin Storsjö
0de0751084 rtpdec_h264: Make reusable functions non-static
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:41 +02:00
Martin Storsjö
16163e6bf2 rtpdec_h264: Fix nal type counting after refactoring
This fixes builds with -DDEBUG after f0a874799.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:38 +02:00
Martin Storsjö
a3cc519d1f rtpdec_h264: Prepare h264_handle_packet_stap_a for sharing with hevc
Add a parameter for skipping a number of bytes at the start of each nal.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:36 +02:00
Martin Storsjö
48183b3ad4 rtpdec_h264: Generalize parse_sprop_parameter_sets
Don't write directly into an AVCodecContext, write into given
pointers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:32:31 +02:00
Clément Bœsch
a982c5d74f tests: drop bc dependency
We already have a dependency on awk and bc is sometimes not found in the
base system.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 11:17:45 +02:00
Anton Khirnov
a06b0b1295 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.
2015-02-21 09:29:48 +01:00
Anton Khirnov
0dea4c77cc h264: only ref cur_pic in update_thread_context if it is initialized
It may be empty if the previous thread's decode call did not contain a
valid frame.
2015-02-21 09:29:27 +01:00
Christophe Gisquet
3fdcb8ccdc Makefile: improve DBG option for asm
This improves the cleanup, dependency generation and DBG command issuing.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 03:23:55 +01:00
Michael Niedermayer
f56f0e091f Merge commit '3fe26bb60858951710a42065c8183cce100d632a'
* commit '3fe26bb60858951710a42065c8183cce100d632a':
  hlsenc: write playlist into a temp file and replace the original atomically

Conflicts:
	libavformat/hlsenc.c

See: da97e4c64a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:59:32 +01:00
Michael Niedermayer
e78a729163 avformat/hlsenc: Use ff_rename() only for local files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:50:26 +01:00
Hendrik Leppkes
da97e4c64a hlsenc: write playlist into a temp file and replace the original atomically
Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:50:06 +01:00
Michael Niedermayer
0d6ae06766 Merge commit 'ff48ae94f90f6862dbe5b1e7397a1bda3150e200'
* commit 'ff48ae94f90f6862dbe5b1e7397a1bda3150e200':
  hlsenc: remove the AVIOContext for the playlist from the muxer context

Conflicts:
	libavformat/hlsenc.c

See: 28bf05e7b5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 01:07:58 +01:00
Peter Meerwald
9abc80f1ed libavcodec: Make use of av_clip functions
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Peter Meerwald
76ce9bd8e2 libavutil: Add ARM av_clip_intp2_arm
add ARM code for implementing av_clip_intp2 using the ssat instruction

on Cortex-A8, av_clip_intp2_arm() is faster than av_clip_intp2_c() and
the generic av_clip(), about -19%

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Peter Meerwald
bf07d813f6 libavutil: Add av_clip_intp2
there already is a function, av_clip_uintp2() that clips a signed integer
to an unsigned power-of-two range, i.e. 0,2^p-1

this patch adds a function av_clip_intp2() that clips a signed integer
to a signed power-of-two range, i.e. -(2^p),(2^p-1)

the new function can be used as a special case for av_clip(), e.g.
av_clip(x, -8192, 8191) can be rewritten as av_clip_intp2(x, 13)

there are ARM instructions, usat and ssat resp., which map nicely to these
functions (see next patch)

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-21 00:54:40 +01:00
Michael Niedermayer
c0e3b46118 swresample: add av_cold to init functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-21 00:33:09 +01:00
Lukasz Marek
e19d1840da lavf/ffmenc: do not fail on missing codec
ffm encoder fails when codec is not found.
It may happen when stream is being copied.
This commit allows to store such stream and provides
backward compatibility with version prior 2.5 release.

fixes #4266

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-02-21 00:23:37 +01:00
Hendrik Leppkes
3fe26bb608 hlsenc: write playlist into a temp file and replace the original atomically
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 23:55:28 +02:00
Hendrik Leppkes
ff48ae94f9 hlsenc: remove the AVIOContext for the playlist from the muxer context
Its only used in one function, having it in the context serves no purpose.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 23:55:27 +02:00
Michael Niedermayer
0a1146a59a Merge commit 'b8d18a94376c44dac9523dc3317259a30fc92f8b'
* commit 'b8d18a94376c44dac9523dc3317259a30fc92f8b':
  libavcodec: Don't use av_cold annotation in twinvq header file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 22:24:43 +01:00
Michael Niedermayer
7b7f8d3ed0 Merge commit 'df0891fc8f32db3ced797cd6ebff9492fda01b99'
* commit 'df0891fc8f32db3ced797cd6ebff9492fda01b99':
  libavresample: Annotate AARCH64 init function with av_cold

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 22:13:07 +01:00
Michael Niedermayer
dc6eadaa45 Merge commit '46ad9ac9641d1fe8292ec1f46bbd2e4456621ca7'
* commit '46ad9ac9641d1fe8292ec1f46bbd2e4456621ca7':
  rtpdec_h264: Move a leftover comment into h264_handle_packet_stap_a

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 22:03:54 +01:00
Michael Niedermayer
d19ca4b2ea Merge commit 'a335ed767161c6da2815371177cfd5e40f78e5b7'
* commit 'a335ed767161c6da2815371177cfd5e40f78e5b7':
  rtpdec_h264: Remove an unnecessary check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:57:34 +01:00
Michael Niedermayer
ac7128a90f Merge commit '176903ce833ce7469f411640e9748a0d549b5285'
* commit '176903ce833ce7469f411640e9748a0d549b5285':
  rtpdec_h264: Return immediately on errors in h264_handle_packet_stap_a

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:48:32 +01:00
Michael Niedermayer
48e661b30b Merge commit 'bb8c6ac840afa69dd37860fdf85da9f4cf1e0ae4'
* commit 'bb8c6ac840afa69dd37860fdf85da9f4cf1e0ae4':
  rtpdec_h264: Make a parameter pointer const

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:40:17 +01:00
Michael Niedermayer
5346b57ee7 Merge commit '7650caf013f45ebebf128855735a0c6350836ea4'
* commit '7650caf013f45ebebf128855735a0c6350836ea4':
  rtpdec_h264: Use av_realloc instead of av_malloc+mempcy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:30:14 +01:00
Michael Niedermayer
2130ed3312 Merge commit '8bdbf49c6f4d9473183a3c45ec70d611eb6183cd'
* commit '8bdbf49c6f4d9473183a3c45ec70d611eb6183cd':
  rtpdec_h264: Include the right header for AV_RB16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:23:16 +01:00
Michael Niedermayer
de4ae9fb64 Merge commit 'ba2e07909b848e583245856a59d0fe1dd08f917e'
* commit 'ba2e07909b848e583245856a59d0fe1dd08f917e':
  rtpdec_vp8: Set the keyframe flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:15:28 +01:00
Michael Niedermayer
0f55bc29d4 avformat/omadec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:01:54 +01:00
Michael Niedermayer
cb08687180 avformat/vqf: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 21:00:57 +01:00
Michael Niedermayer
d44e0d8b93 avformat/wtvdec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:57:31 +01:00
Michael Niedermayer
26c0cc154e avformat/mvdec: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:41:35 +01:00
Michael Niedermayer
80a851aa5e avformat/apngdec: Use 64bit for ret to avoid overflow
Missed this hunk in first commit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:39:04 +01:00
Michael Niedermayer
12987f8900 avformat/gxf: Use 64bit for res to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:14:56 +01:00
Michael Niedermayer
d1923d15a3 avformat/idcin: Use 64bit for ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 20:13:06 +01:00
Michael Niedermayer
0e3d6e17de avformat/apngdec: Use 64bit ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 19:31:10 +01:00
Michael Niedermayer
d4936d28a1 avformat/asfdec: Use 64bit ret to avoid overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 19:30:09 +01:00
Rodger Combs
62e95757d5 wtvdec: fix integer overflow resulting in errors with large files
This fixes a regression in 9fbc613f0d

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 18:38:36 +01:00
Peter Meerwald
b8d18a9437 libavcodec: Don't use av_cold annotation in twinvq header file
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:32:37 +02:00
Peter Meerwald
df0891fc8f libavresample: Annotate AARCH64 init function with av_cold
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:32:37 +02:00
Martin Storsjö
46ad9ac964 rtpdec_h264: Move a leftover comment into h264_handle_packet_stap_a
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:30:05 +02:00
Martin Storsjö
a335ed7671 rtpdec_h264: Remove an unnecessary check
If src_len is too small for nal_size, we already print a warning
above, and the next step is to check the while loop condition
anyway, so this one serves no purpose.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:58 +02:00
Martin Storsjö
176903ce83 rtpdec_h264: Return immediately on errors in h264_handle_packet_stap_a
Previously, errors were only logged but the code kept on trying,
and never actually returning the error as a return value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:39 +02:00
Martin Storsjö
bb8c6ac840 rtpdec_h264: Make a parameter pointer const
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:34 +02:00
Martin Storsjö
7650caf013 rtpdec_h264: Use av_realloc instead of av_malloc+mempcy
This is similar to what was done for rtpdec_hevc in ced7238cd0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:29:29 +02:00
Martin Storsjö
8bdbf49c6f rtpdec_h264: Include the right header for AV_RB16
Including libavcodec/get_bits.h is superfluous for AV_RB16 - nothing
in this file uses any actual bitstream reader.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:28:44 +02:00
Martin Storsjö
ba2e07909b rtpdec_vp8: Set the keyframe flag
This allows the output to be used with stream copy, which discards
packet from the start until the first keyframe.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-20 19:28:28 +02:00
Michael Niedermayer
f015d3d539 MAINTAINERS: Add Oleksij as maintainer for DSS*
Also add a 2nd maintainer at the authors request (due to lack of time)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 16:17:46 +01:00
Hendrik Leppkes
28bf05e7b5 hlsenc: remove the AVIOContext for the playlist from the muxer context
Its only used in one function, having it in the context serves no purpose.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 13:13:19 +01:00
Kevin Wheatley
31c7c0e156 avformat/movenc: Move avid DNxHD padding to the correct spot
Outputting DNxHD into .mov containers 'corrupts' following atoms until end of stsd

ffmpeg and qtdump could not decode pasp/colr atoms in the files made by ffmpeg,
when outputting DNxHD due to the incorrect padding placement. Now we add the
padding in the correct place

Tidy up FATE changes due to padding changes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 12:17:14 +01:00
Michael Niedermayer
588361dd26 avcodec/dca: move remaining tables to dcadata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 11:11:33 +01:00
Michael Niedermayer
6c91afe497 avcodec/snowdec: Fix avmv_index increment
Fixes reading uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 03:31:14 +01:00
Arwa Arif
627d2a7628 avfilter/vf_eq: Add process_command to eq.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-20 00:06:37 +01:00
Michael Niedermayer
b11edbd289 avcodec/dss_sp: Avoid a slow division and modulo in the pitch_lag calculation
Also check the combined_pitch for validity (which is needed to keep the behavior
identical in the error case)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:53:35 +01:00
Michael Niedermayer
31fb029f2d avcodec/dss_sp: de-obfuscate index inversion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:41:41 +01:00
Michael Niedermayer
4f1c1b26f2 avcodec/dss_sp: Protect DSS_SP_FORMULA() with a set of outside brackets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:29:02 +01:00
Michael Niedermayer
be0cb7e053 avformat/dss: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:15:22 +01:00
Michael Niedermayer
b2bbe8298b avformat/dss: Check sscanf() return value in dss_read_metadata_date()
Fixes writing uninitialized values into metadata without error in case
parsing fails

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 22:10:47 +01:00
Michael Niedermayer
29d2197d88 Merge commit 'b727b0eeb73cd78533a7fd387ceccd505e48fa6c'
* commit 'b727b0eeb73cd78533a7fd387ceccd505e48fa6c':
  fate: Add tests for DSS

Conflicts:
	tests/fate/audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:53:39 +01:00
Michael Niedermayer
e821910a21 Merge commit '062cd5a975ff7bd6fb91f9b4d1d9d102a7545499'
* commit '062cd5a975ff7bd6fb91f9b4d1d9d102a7545499':
  lavf: Add DSS demuxer

Conflicts:
	libavformat/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:44:58 +01:00
Michael Niedermayer
dfe5a9f022 Merge commit 'c56b9b1eb278c5ef89d3f0832a56dfe4732cb68b'
* commit 'c56b9b1eb278c5ef89d3f0832a56dfe4732cb68b':
  lavc: Add DSS SP decoder

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:31:26 +01:00
Michael Niedermayer
99bcfe6227 Merge commit '0fbb271318899a0fb1fbcbb3db8292e909b91e23'
* commit '0fbb271318899a0fb1fbcbb3db8292e909b91e23':
  qsv_api: fix building with libmfx disabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:33 +01:00
Michael Niedermayer
ac649bb775 Merge commit '11c22dfd495bbd3f38df639772aa4bb9a1be882d'
* commit '11c22dfd495bbd3f38df639772aa4bb9a1be882d':
  configure: add missing h264_qsv hwaccel deps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:19 +01:00
Michael Niedermayer
841e9f431c Merge commit '4e08c821106fc1d6d358864abf0d8488b12f38c6'
* commit '4e08c821106fc1d6d358864abf0d8488b12f38c6':
  lavc: add an Intel libmfx-based H.264 decoder

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:12:04 +01:00
Michael Niedermayer
560eb7179a Merge commit '31d2039cb42668ebcf08248bc48bbad44aa05f49'
* commit '31d2039cb42668ebcf08248bc48bbad44aa05f49':
  h264_parser: export video format and dimensions

Conflicts:
	libavcodec/h264_parser.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 20:39:04 +01:00
Michael Niedermayer
e3755119fa Merge commit '5b1d9ceec715846a58fe029bc3889ed6fa62436a'
* commit '5b1d9ceec715846a58fe029bc3889ed6fa62436a':
  pixfmt: add a pixel format for QSV hwaccel

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 20:23:48 +01:00
Vittorio Giovara
b727b0eeb7 fate: Add tests for DSS
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
2015-02-19 12:05:19 -05:00
Oleksij Rempel
062cd5a975 lavf: Add DSS demuxer
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-19 12:05:19 -05:00
Oleksij Rempel
c56b9b1eb2 lavc: Add DSS SP decoder
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-19 12:05:19 -05:00
Anton Khirnov
0fbb271318 qsv_api: fix building with libmfx disabled 2015-02-19 17:35:34 +01:00
Anton Khirnov
11c22dfd49 configure: add missing h264_qsv hwaccel deps 2015-02-19 17:32:55 +01:00
Michael Niedermayer
65da611d34 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  doc/faq: explain DAR/SAR preserving.
  doc: set documentencoding on toplevel texi files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 16:37:46 +01:00
Kevin Wheatley
fb3fb1d0d4 avformat/mov: Add simple ACLR atom reading to set the color range of the incomming track for codec's like DNxHD that utilise AVID's proprietary atom.
On input ACLR will be used to set colour range no matter which codec
it is associated with.
No change for when it will be output.

Rework mov_read_extradata function to allow detection of truncated
atom reads by callers.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 15:42:55 +01:00
Anton Khirnov
4e08c82110 lavc: add an Intel libmfx-based H.264 decoder
Based on the code by Luca Barbato <lu_zero@gentoo.org> and Yukinori
Yamazoe <drocon11@gmail.com>.
2015-02-19 15:08:49 +01:00
Anton Khirnov
31d2039cb4 h264_parser: export video format and dimensions 2015-02-19 15:07:52 +01:00
Anton Khirnov
5b1d9ceec7 pixfmt: add a pixel format for QSV hwaccel 2015-02-19 15:07:21 +01:00
Nicolas George
c49c42a4a3 doc/faq: explain DAR/SAR preserving. 2015-02-19 11:30:30 +01:00
Nicolas George
b491751409 doc: set documentencoding on toplevel texi files.
Fix double UTF-8 encoding on output files.
makeinfo / texi2any does not seem to provide a way of setting
it globally for toplevel files.
2015-02-19 11:30:30 +01:00
Clément Bœsch
2280552057 avfilter/palettegen: raise cache size from 64k to 512k
(or 32k to 256k in 32-bit)

This is similar to a00bab3475
2015-02-19 11:17:45 +01:00
Michael Niedermayer
c1ff2cdbca Merge commit '0f532fd3f9b9ca974cea0feb8ddcaf4a7f3b23c5'
* commit '0f532fd3f9b9ca974cea0feb8ddcaf4a7f3b23c5':
  rv40: Return more meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 10:54:07 +01:00
Himangi Saraogi
0f532fd3f9 rv40: Return more meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-19 08:39:29 +01:00
Michael Niedermayer
f144e4ddff avcodec/wmalosslessdec: use sizeof() instead of a literal number
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 03:14:50 +01:00
Michael Niedermayer
9d88be6873 avfilter/vf_subtitles: Add () to protect the argument of the AA() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 01:51:54 +01:00
Michael Niedermayer
e0be5c4fbe avutil/sha: Protect macro arguments with ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 22:50:41 +01:00
Michael Niedermayer
80d278a981 ffmpeg_opt: Add missing MATCH_PER_TYPE_OPT() for data codecs
Fixes: CID1270809

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 22:13:35 +01:00
Michael Niedermayer
77c133f7ac Merge commit 'd617e77cecc5b363ef1860955b548f4ac007add6'
* commit 'd617e77cecc5b363ef1860955b548f4ac007add6':
  libx265: Add crf private option

See: 8b96e8dd28
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 20:45:18 +01:00
Michael Niedermayer
00acf38379 Merge commit '2de887e45b664f44b51686f5979fa8ce6dfe2ec2'
* commit '2de887e45b664f44b51686f5979fa8ce6dfe2ec2':
  libx265: Reduce the scope of some variables

See: b920db6731
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 20:26:29 +01:00
Supraja Meedinti
4b7c26843c tests: fate: adding fate-test for twofish
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 17:57:43 +01:00
Michael Niedermayer
9e008ed1b4 avformat/movenc: Fix use of uninitialized variable (ret)
Fixed CID1270823

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 16:33:15 +01:00
Derek Buitenhuis
8b96e8dd28 libx265: Add crf private option
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:21:56 -05:00
Derek Buitenhuis
b920db6731 libx265: Reduce the scope of some variables
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:21:54 -05:00
Derek Buitenhuis
d617e77cec libx265: Add crf private option
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:18:12 -05:00
Derek Buitenhuis
2de887e45b libx265: Reduce the scope of some variables
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-02-18 10:16:50 -05:00
Michael Niedermayer
b68d902b6e avformat/ffmenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 14:31:11 +01:00
Michael Niedermayer
c8c10a5fc7 avformat/ffmenc: Fix memleak of buf
Fixes CID1257015

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 14:30:15 +01:00
Clément Bœsch
8087632027 avfilter/showpalette: fix leak in case of error
Fixes CID1270820
Fixes CID1270818
2015-02-18 14:04:10 +01:00
Clément Bœsch
80f44eafaa avfilter/palettegen: fix leak in case of error 2015-02-18 14:04:10 +01:00
Clément Bœsch
f40266560b avfilter/paletteuse: fix leak in case of error
Fixes CID1270819
2015-02-18 14:04:10 +01:00
Michael Niedermayer
9f6431c8f6 avfilter/af_channelmap: Move potential dereference after NULL check in get_channel_idx()
Fixes CID1270822

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 13:40:39 +01:00
Michael Niedermayer
bdb3194217 avfilter/vf_qp: Fix leak of out_qp_table_buf
Fixes CID1270821

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 13:12:06 +01:00
Michael Niedermayer
a76e91bf67 avfilter/avfiltergraph: assert that the heap_bubble index is valid
This might help coverity

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 12:31:02 +01:00
Michael Niedermayer
424ed1a83e avcodec/faxcompr: Fix memleak
Fixes CID1270816

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 11:38:00 +01:00
Paul B Mahol
956bd71eeb avcodec/opusdec: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-18 09:58:16 +00:00
Michael Niedermayer
8bc80016c1 avfilter/vf_removelogo: Add () to protect the argument of apply_mask_fudge_factor()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:56:19 +01:00
Michael Niedermayer
d501b986a9 swscale/bayer_template: Add () to protect the argument of BAYER_READ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:55:15 +01:00
Michael Niedermayer
0babb896b4 compat/avisynth/windowsPorts/windows2linux: Add () to protect macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:35 +01:00
Michael Niedermayer
b7c19aee6c avcodec/wavpack: Add () to protect the arguments of UPDATE_WEIGHT_CLIP()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:35 +01:00
Michael Niedermayer
dfc2a3982f avcodec/wmalosslessdec: Add () to protect the arguments of WMASIGN()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 01:49:28 +01:00
Supraja Meedinti
092ee6cd32 libavutil: optimize twofish cipher
before:
lavu       TWOFISH      size: 1048576  runs:   1024  time:   90.052 +- 4.630
after:
lavu       TWOFISH      size: 1048576  runs:   1024  time:   18.085 +- 0.241
gcrypt     TWOFISH      size: 1048576  runs:   1024  time:   25.666 +- 0.307
tomcrypt   TWOFISH      size: 1048576  runs:   1024  time:   18.428 +- 0.363

Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-18 00:59:55 +01:00
Michael Niedermayer
77ae94727f Merge commit '195942ed9b9b563ec86d34b73aa2c1ee8715d59d'
* commit '195942ed9b9b563ec86d34b73aa2c1ee8715d59d':
  riff: Support QT RLE Animation in avi ('rle ' FourCC)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:51:39 +01:00
Michael Niedermayer
97bd0e2a93 Merge commit 'c78dc12118cb5b2a69a17f38c69f77a42e89a9c4'
* commit 'c78dc12118cb5b2a69a17f38c69f77a42e89a9c4':
  riff: Support ProRes in avi (APCH fourcc)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:42:54 +01:00
Michael Niedermayer
d06dce21a4 Merge commit '42c8f92e2fa390fa17b03d37b4323ec0d721d4cd'
* commit '42c8f92e2fa390fa17b03d37b4323ec0d721d4cd':
  wmv2: Return meaningful error codes

Conflicts:
	libavcodec/wmv2dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:34:36 +01:00
Michael Niedermayer
41572ac698 Merge commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2'
* commit 'f3e045263e445c4ab54d85ecae359494cd96a3e2':
  qdm2: Return meaningful error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:26:56 +01:00
Michael Niedermayer
d128794fbc Merge commit 'a1e2c47cd4fdaa64beda7e6dfa623b65c46f5012'
* commit 'a1e2c47cd4fdaa64beda7e6dfa623b65c46f5012':
  libxvid: Return meaningful error messages

Conflicts:
	libavcodec/libxvid.c
	libavcodec/libxvid_rc.c

See: 2a89afb376 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 23:13:12 +01:00
Michael Niedermayer
2e786bc498 avcodec/aac_adtstoasc_bsf: Clear extradata_size on allocation failure
This keeps the fields consistent

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:58:31 +01:00
Michael Niedermayer
38e867f6c0 Merge commit '18f4fa251b0eb36392839f5bf6180f280dc04d8d'
* commit '18f4fa251b0eb36392839f5bf6180f280dc04d8d':
  aac_adtstoasc_bsf: Check extradata memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:55:27 +01:00
Michael Niedermayer
62aec0c2d5 Merge commit 'fe0f4e56577a2dbd373bb50b0ae2d49e69d822fc'
* commit 'fe0f4e56577a2dbd373bb50b0ae2d49e69d822fc':
  avpacket: Check buffer reference

Conflicts:
	libavcodec/avpacket.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:47:36 +01:00
Michael Niedermayer
7a7b77e6c9 Merge commit '31dc73e92a96f08d07650c0e7d31c0b9a1465d46'
* commit '31dc73e92a96f08d07650c0e7d31c0b9a1465d46':
  vorbisdec: Check memory allocations

Conflicts:
	libavcodec/vorbisdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:39:32 +01:00
Michael Niedermayer
3d5c0ba816 Merge commit 'ec17782e17de1e8501ca213e276dfe5412ff1d11'
* commit 'ec17782e17de1e8501ca213e276dfe5412ff1d11':
  dvdsubdec: Check memory allocations

Conflicts:
	libavcodec/dvdsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:31:26 +01:00
Michael Niedermayer
2a1b79d7e6 Merge commit 'e51f22122d23589e93ac4f0b3e570bb925755915'
* commit 'e51f22122d23589e93ac4f0b3e570bb925755915':
  swscale: Check memory allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:22:17 +01:00
Michael Niedermayer
880cee0044 Merge commit '3035d21b5a77df0e9531df397fc06d59488996c7'
* commit '3035d21b5a77df0e9531df397fc06d59488996c7':
  nutdec: Check memory allocations

Conflicts:
	libavformat/nutdec.c

See: 55ae13e3de
See: 269845db86
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 22:09:29 +01:00
Michael Niedermayer
95165f7c1b avformat/movenc: Fix stts_entries allocation check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:51:35 +01:00
Michael Niedermayer
80c5dc5610 Merge commit 'a8765852158ecb2ae34895fa35ff51dc95c186f9'
* commit 'a8765852158ecb2ae34895fa35ff51dc95c186f9':
  movenc: Check memory allocations

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:50:08 +01:00
Michael Niedermayer
575ed4fe37 Merge commit 'da7e31a240f276836a0b90ca6c0714181b353cc4'
* commit 'da7e31a240f276836a0b90ca6c0714181b353cc4':
  rmdec: Check memory allocations from ff_rm_alloc_rmstream()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:42:36 +01:00
Michael Niedermayer
beae6ac5db Merge commit 'd89e58f53939d91a88aa7042c94d9d1cd364da52'
* commit 'd89e58f53939d91a88aa7042c94d9d1cd364da52':
  dct-test: Fix initialization syntax

See: 392b4b663c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:36:01 +01:00
Michael Niedermayer
563ed912ea Merge commit 'bb7701684c7170dfd5f33a3c7d827265844619f2'
* commit 'bb7701684c7170dfd5f33a3c7d827265844619f2':
  lavf: Document the codec context initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:26:04 +01:00
Michael Niedermayer
2980c8e7d3 Merge commit 'cb70a93ca1e7fae1b5dfb65ad149d311a65206a4'
* commit 'cb70a93ca1e7fae1b5dfb65ad149d311a65206a4':
  lavc: Document interaction between avcodec_open2() and decoding routines

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:25:07 +01:00
Michael Niedermayer
79216a189b Merge commit '733f4b05f0e120ddd0393b23f2b6d9106cf922e4'
* commit '733f4b05f0e120ddd0393b23f2b6d9106cf922e4':
  avplay: Check format allocation inside decode_thread()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:16:34 +01:00
Michael Niedermayer
32b2b7bd8c Merge commit '266f241193b2fa8c99bb8b1f007c66bedd3b7d97'
* commit '266f241193b2fa8c99bb8b1f007c66bedd3b7d97':
  avplay: Check frame allocation inside video_thread()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:09:11 +01:00
Michael Niedermayer
15cd2a93e7 Merge commit '81688e68f93f3142e2093f1a3d226edaeb179992'
* commit '81688e68f93f3142e2093f1a3d226edaeb179992':
  avconv: Check rc_override memory allocation

Conflicts:
	ffmpeg_opt.c

See: 7efabffc28
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 21:00:04 +01:00
Michael Niedermayer
9d5017a20c Merge commit '9d3b752fceb0f2a42cac7c2a1109b0629823c99f'
* commit '9d3b752fceb0f2a42cac7c2a1109b0629823c99f':
  graphparser: Check av_get_token() memory error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:48:22 +01:00
Michael Niedermayer
a4cd057bc7 avformat/matroskaenc: Use the correct data type for the chapter times
Fixes potential integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:40:00 +01:00
Michael Niedermayer
d302853bca Merge commit '5dc47a2bd52e375ed742c45d08356b45098f458d'
* commit '5dc47a2bd52e375ed742c45d08356b45098f458d':
  matroskaenc: Validate chapter start and end times

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:25:47 +01:00
Michael Niedermayer
d2668ae472 Merge commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86'
* commit 'f8c1719771dc4ac2e13e6bc8bf741854a30e3a86':
  dca: Remove separate header for DCA ExSS

Conflicts:
	libavcodec/dca.h
	libavcodec/dca_exss.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 20:18:19 +01:00
Michael Niedermayer
03dab49a12 avcodec/vp56: Add () to protect TRANSPOSE()s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 19:13:26 +01:00
Vittorio Giovara
195942ed9b riff: Support QT RLE Animation in avi ('rle ' FourCC)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:20 -05:00
Vittorio Giovara
c78dc12118 riff: Support ProRes in avi (APCH fourcc)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:20 -05:00
Himangi Saraogi
42c8f92e2f wmv2: Return meaningful error codes 2015-02-17 12:18:20 -05:00
Himangi Saraogi
f3e045263e qdm2: Return meaningful error codes 2015-02-17 12:18:20 -05:00
Himangi Saraogi
a1e2c47cd4 libxvid: Return meaningful error messages 2015-02-17 12:18:20 -05:00
Himangi Saraogi
18f4fa251b aac_adtstoasc_bsf: Check extradata memory allocation
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:18:10 -05:00
Vittorio Giovara
fe0f4e5657 avpacket: Check buffer reference
CC: libav-stable@libav.org
Bug-Id: CID 1267889
2015-02-17 12:16:43 -05:00
Vittorio Giovara
31dc73e92a vorbisdec: Check memory allocations 2015-02-17 12:16:43 -05:00
Vittorio Giovara
ec17782e17 dvdsubdec: Check memory allocations 2015-02-17 12:16:43 -05:00
Federico Tomassetti
e51f22122d swscale: Check memory allocations
CC: libav-stable@libav.org
Bug-Id: CID 1267888 / CID 1267890
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:16:43 -05:00
Hugo Beauzée-Luyssen
3035d21b5a nutdec: Check memory allocations
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:16:43 -05:00
Hugo Beauzée-Luyssen
a876585215 movenc: Check memory allocations
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-17 12:16:43 -05:00
Hugo Beauzée-Luyssen
da7e31a240 rmdec: Check memory allocations from ff_rm_alloc_rmstream()
Bug-Id: CID 1257835
2015-02-17 12:16:43 -05:00
Vittorio Giovara
d89e58f539 dct-test: Fix initialization syntax
Related to "warning: suggest braces around initialization of subobject".
2015-02-17 11:27:42 -05:00
Vittorio Giovara
bb7701684c lavf: Document the codec context initialization
During remuxing avcodec_copy_context() is discouraged as certain fields
(such as codec_tag) could reflect invalid values between input and
output contextes.
2015-02-17 11:27:42 -05:00
Vittorio Giovara
cb70a93ca1 lavc: Document interaction between avcodec_open2() and decoding routines 2015-02-17 11:27:42 -05:00
Vittorio Giovara
733f4b05f0 avplay: Check format allocation inside decode_thread()
CC: libav-stable@libav.org
Bug-Id: CID 1265718
2015-02-17 11:27:41 -05:00
Vittorio Giovara
266f241193 avplay: Check frame allocation inside video_thread()
CC: libav-stable@libav.org
Bug-Id: CID 1267893
2015-02-17 11:27:41 -05:00
Vittorio Giovara
81688e68f9 avconv: Check rc_override memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1265719
2015-02-17 11:27:41 -05:00
Vittorio Giovara
9d3b752fce graphparser: Check av_get_token() memory error
CC: libav-stable@libav.org
Bug-Id: CID 1267891
2015-02-17 11:27:41 -05:00
Vittorio Giovara
5dc47a2bd5 matroskaenc: Validate chapter start and end times
CC: libav-stable@libav.org
Bug-Id: CID 1265717
2015-02-17 11:27:41 -05:00
Clément Bœsch
a00bab3475 avfilter/paletteuse: raise cache size from 64k to 512k
(or 32k to 256k in 32-bit)
2015-02-17 17:20:42 +01:00
Christophe Gisquet
398f531915 x86: hevc_mc: fewer xmm regs used in epel h/v
11 xmm regs seem only required for avx2.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 15:19:19 +01:00
Carl Eugen Hoyos
a9dc94c39c Force linking against user32 if dxva2 is enabled.
Fixes compilation with vfwcap disabled.
Reported and tested by Bernhard Döbler, programmer bardware de

Reviewed-by: Matt Oliver
2015-02-17 13:25:23 +01:00
Christophe Gisquet
bc8e044d8c x86/doc/Makefile: DBG=1 to preprocess external asm
The macro hell sometimes make it difficult to trace the source of
an error, so it is easier to analyze the preprocessed output.

This patch makes this automatical by specifying DBG=1 on the
command line: a file ffmpeg/dir/file.asm gets preprocessed to
builddir/dir/file.dbg.asm, which is then compiled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 13:08:04 +01:00
Christophe Gisquet
d9293c776e x86inc: Correctly warn on use of SSE2 instructions in SSE functions
SSE2 instructions that are XMM-implementations of pre-existing MMX/MMX2
instructions did not issue warnings when used in SSE functions. Handle
it by also checking the register type when such instructions are used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 12:35:58 +01:00
Michael Niedermayer
2bae7b3370 avfilter/vf_fieldmatch: Add () to protect the arguments of the HAS_FF_AROUND() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:49:32 +01:00
Michael Niedermayer
f15c734be1 avfilter/vf_phase: Add () to protect DIFF()s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:47:47 +01:00
Michael Niedermayer
0cb95f9082 swresample/resample_template: Add () to protect the arguments of the OUT() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:36:35 +01:00
Michael Niedermayer
52d1929000 avutil/aes: Add () to protect the ROT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:22:42 +01:00
Michael Niedermayer
06309fc704 avutil/attributes: Add () to protect the AV_GCC_VERSION_AT_LEAST() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:21:48 +01:00
Michael Niedermayer
f8607cfb0a avutil/intmath: Add () to protect the ff_log2() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:20:49 +01:00
Michael Niedermayer
cdee0c9d5f avutil/murmur3: Add () to protect the ROT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:18:15 +01:00
Michael Niedermayer
9cde41cdb5 avutil/version: Add () to protect the AV_VERSION_INT() arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:17:47 +01:00
Michael Niedermayer
527f1d22a1 avformat/tedcaptionsdec: add () to protect the argument of ERR_CODE()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:05:51 +01:00
Michael Niedermayer
61eb602d27 avutil/log: add () to protect the argument of AV_LOG_C()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:04:22 +01:00
Michael Niedermayer
e3f7142306 avcodec/vc1dsp: add () to protect the arguments of the op* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-17 00:02:40 +01:00
Michael Niedermayer
cb9d40451c avcodec/ac3: add () to protect the macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:59:39 +01:00
Michael Niedermayer
0b638b83c6 avformat/mpc8: Add () to protect MKMPCTAG()s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:14:27 +01:00
Michael Niedermayer
235782260d avcodec/me_cmp: add () to protect avg*s arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:13:00 +01:00
Michael Niedermayer
17a62cbcb9 avcodec/bmvvideo: Add () to protect NEXT_BYTE() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:09 +01:00
Michael Niedermayer
37013fd018 swresample/swresample-test: Add () to protect uint_rand() argument
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:09 +01:00
Michael Niedermayer
ced26a2c65 avformat/tls: add () to protect macro arguments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 23:09:08 +01:00
James Almer
6e3651983c avcodec/hevcdsp: add missing () to CMP macro
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 18:56:16 -03:00
Christophe Gisquet
89cb4995fa x86: hevc_mc: save 1 gpr in epel filter loading
The 3*stride value stored in r3src can be loaded much later,
so use r3src instead of a dedicated gpr when possible.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 21:53:51 +01:00
James Almer
22596383f3 avcodec/hevcdsp: optimize pixel comparison in sao_edge_filter
GCC 4.9.2 on a Core i5-4200U @ 1.60GHz, Linux x86_64

Before
715487 decicycles in sao_edge_filter_8, 262144 runs, 0 skips

After
672104 decicycles in sao_edge_filter_8, 262144 runs, 0 skips

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 17:47:47 -03:00
wm4
4bf3fab281 hls: fix a null pointer dereference
Not allocating the pls->ctx will crash in libavformat/hls.c:1410, where
it tries to dereference the field.

Sample: http://ec24.rtp.pt/liverepeater/rtpn.smil/playlist.m3u8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 19:59:04 +01:00
zhaoxiu.zeng
bf99068089 avcodec/vc1_mc: factor out helper functions for scaling blocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 19:44:46 +01:00
Kevin Wheatley
88868d81a5 avformat/rtpdec_h264: fix compile failure with -DDEBUG
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 18:31:59 +01:00
Clément Bœsch
f9240ec01a avcodec/gif: fix off by one in column offsetting finding 2015-02-16 17:47:35 +01:00
Seppo Tomperi
e40e446efd hevcdsp: HEVC deblocking ARM NEON register clobber fix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 13:27:41 +01:00
zhaoxiu.zeng
0f83415569 avcodec/vc1_mc: move median4() to mathops.h
Needed for architecture specific optimizations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 11:41:00 +01:00
Diego Biurrun
f8c1719771 dca: Remove separate header for DCA ExSS
There is no point in having a separate header for a single declaration.
2015-02-16 10:44:56 +01:00
James Almer
03adafb318 x86/g722dsp: add ff_g722_apply_qmf_sse2
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-16 00:41:21 -03:00
Michael Niedermayer
e97a9666ef Merge commit '81ef46020fa654720e3beb4f5551ba634fae262a'
* commit '81ef46020fa654720e3beb4f5551ba634fae262a':
  bktr: Use av_strerror and propagate error codes

Conflicts:
	libavdevice/bktr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:56:17 +01:00
Michael Niedermayer
815daf1607 Merge commit '3a651f599a18b023602370b67a77eb0efa309b20'
* commit '3a651f599a18b023602370b67a77eb0efa309b20':
  dca: Move data tables from a header to an object file

Conflicts:
	libavcodec/Makefile
	libavcodec/dcadata.h
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:49:22 +01:00
Michael Niedermayer
9d4f836627 Merge commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda'
* commit '65df9904ceb5477a63e99e1e8fd8ace9a7cb8bda':
  dca: Add array sizes to array declarations

Conflicts:
	libavcodec/dcadata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:29:41 +01:00
Michael Niedermayer
e86f754b1c Merge commit '702458538d4e52809bcef460d39baabf061b16b5'
* commit '702458538d4e52809bcef460d39baabf061b16b5':
  g722: Add ARM NEON implementation for g722_apply_qmf()

Conflicts:
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:16:29 +01:00
Michael Niedermayer
39b40be2a1 Merge commit '73ae0a9d12857852222363f9a7c14d07058ebfd3'
* commit '73ae0a9d12857852222363f9a7c14d07058ebfd3':
  g722: Split out computation of band->s_zero and unroll code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:07:42 +01:00
Michael Niedermayer
9e0a1bd2b9 Merge commit 'b16057b5fe9f02442c52388037891c2e381205fc'
* commit 'b16057b5fe9f02442c52388037891c2e381205fc':
  g722: Unroll g722_apply_qmf()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 02:00:53 +01:00
Michael Niedermayer
9f1792982e Merge commit '10f160768b824f00933f33bc69f1fae89a25dfc8'
* commit '10f160768b824f00933f33bc69f1fae89a25dfc8':
  g722: Reduce number of pointers passed to g722_apply_qmf() function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:54:19 +01:00
Michael Niedermayer
47df21e172 Merge commit '67690683130faf37dd9d969ced15eba2a1940ade'
* commit '67690683130faf37dd9d969ced15eba2a1940ade':
  g722: Split out g722_qmf_apply() function into g722dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:46:35 +01:00
Michael Niedermayer
38e641a060 avformat/mov: Bypass av_add_index_entry()
The new mov code uses a temporally non sorted index since 4abfa387b8
and can thus no longer be filled with av_add_index_entry() which expects the index to be sorted.
Reverting 4abfa387b8 and this commit would be
a alternative fix as would be various other options.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:30:47 +01:00
Michael Niedermayer
f9e76d66e9 Merge commit '4abfa387b8234736f6e0e541951e3d5eb60eb843'
* commit '4abfa387b8234736f6e0e541951e3d5eb60eb843':
  mov: Change DTS-based seek into CTS-based seek.

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-16 01:28:02 +01:00
Himangi Saraogi
81ef46020f bktr: Use av_strerror and propagate error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-15 13:42:31 -08:00
Diego Biurrun
3a651f599a dca: Move data tables from a header to an object file
This allows sharing them with the DCA XLL extension w/o duplication.
2015-02-15 13:34:04 -08:00
Diego Biurrun
65df9904ce dca: Add array sizes to array declarations 2015-02-15 13:34:04 -08:00
Michael Niedermayer
7b564a4cbb Merge commit '51ca3cb604a7585a7cff35d4b954794508955c19'
* commit '51ca3cb604a7585a7cff35d4b954794508955c19':
  xcbgrab: Use the correct geometry for the region highlight

See: 0ae37e460c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:51:11 +01:00
Peter Meerwald
702458538d g722: Add ARM NEON implementation for g722_apply_qmf()
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:21 +02:00
Peter Meerwald
73ae0a9d12 g722: Split out computation of band->s_zero and unroll code
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:19 +02:00
Peter Meerwald
b16057b5fe g722: Unroll g722_apply_qmf()
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:16 +02:00
Peter Meerwald
10f160768b g722: Reduce number of pointers passed to g722_apply_qmf() function
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:14 +02:00
Peter Meerwald
6769068313 g722: Split out g722_qmf_apply() function into g722dsp.c
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 22:47:10 +02:00
Michael Niedermayer
2870b86c2a Merge commit 'e1a57cbb1c2752feb9315f748836dc44e58d2dc6'
* commit 'e1a57cbb1c2752feb9315f748836dc44e58d2dc6':
  ape: Use the proper variable type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:43:28 +01:00
Michael Niedermayer
fa321cc0c8 Merge commit 'b4cda0a999facbddacb95861a67ff61074edc39b'
* commit 'b4cda0a999facbddacb95861a67ff61074edc39b':
  ogg: check memory allocations

Conflicts:
	libavformat/oggenc.c

See: 0f62982335
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:34:06 +01:00
Michael Niedermayer
f3b6a8f554 Merge commit '53367b34e1156614e82ef7af888928f322566f88'
* commit '53367b34e1156614e82ef7af888928f322566f88':
  rtp: h264: Drop the asserts

Conflicts:
	libavformat/rtpdec_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:20:25 +01:00
Michael Niedermayer
a848cf63dc Merge commit '3b33dfb23c5022a0cb2a7b13878e4a3492a996c7'
* commit '3b33dfb23c5022a0cb2a7b13878e4a3492a996c7':
  rtp: h264: Move FU-A NAL parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:09:47 +01:00
Michael Niedermayer
2d2c744f8f Merge commit 'f0a87479960ce000f23f2beaf474707797b4b0d0'
* commit 'f0a87479960ce000f23f2beaf474707797b4b0d0':
  rtp: h264: Move STAP-A NAL parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 21:03:47 +01:00
Michael Niedermayer
8f00d7f4b4 Merge commit 'a9a0b8d6c14ece1b4698c6ede9227aca980f6c5b'
* commit 'a9a0b8d6c14ece1b4698c6ede9227aca980f6c5b':
  rtp: h264: Move parse_sprop_parameter_sets parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:57:49 +01:00
Michael Niedermayer
3773b6edea Merge commit 'b8df0b71c525e9fc9fbee790d093bae3aa62035c'
* commit 'b8df0b71c525e9fc9fbee790d093bae3aa62035c':
  rtp: h264: Move profile_level_id parsing to a function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:49:21 +01:00
Michael Niedermayer
3171ac209b Merge commit 'd40815a982c36ff9da09ae3edb5e3bd7d97b5d42'
* commit 'd40815a982c36ff9da09ae3edb5e3bd7d97b5d42':
  xcbgrab: Correctly make shm optional

Conflicts:
	libavdevice/xcbgrab.c

See: 8c0ae9015a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:42:52 +01:00
Michael Niedermayer
7d56aab2de Merge commit 'c23ccaf98827cffa651cec3bfa5e57457dfc9dff'
* commit 'c23ccaf98827cffa651cec3bfa5e57457dfc9dff':
  xcbgrab: Check for xcb-shape

Conflicts:
	configure

See: 792f0f2045
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:39:36 +01:00
Yusuke Nakamura
4abfa387b8 mov: Change DTS-based seek into CTS-based seek.
CTS-based seek is reasonable since player requests frames in output order
not coded order.

This change fixes seek to a keyframe within consecutive keyframes.
Let's say P[0|-1] and P[1|0], here x and y inside [x|y] are PTS and DTS
respectively, and both two frames are a keyframe. If you try to seek on
PTS=0, i.e. P[0|-1], you'll get P[1|0] if the demuxer is DTS based. This
is obviously undesirable.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-15 21:26:04 +02:00
Michael Niedermayer
fe03456cdc Merge commit 'e21d85309943a51b7808f5e01dd258b262e09148'
* commit 'e21d85309943a51b7808f5e01dd258b262e09148':
  FATE: add a test for the SVQ1 header byte swapping

Conflicts:
	tests/fate/qt.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:25:31 +01:00
Michael Niedermayer
8242946af2 Merge commit 'd3449ac938333d59955360b6cb8e7bc24a9b792e'
* commit 'd3449ac938333d59955360b6cb8e7bc24a9b792e':
  changelog: mention DXVA/HEVC and AAC ELD480

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 20:08:21 +01:00
Michael Niedermayer
543e329a26 avformat/version: Bump version for "avformat/rtpdec: DV depacketizer (RFC 6469)"
Found-by: Loriker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 19:51:05 +01:00
Thomas Volkert
cbe508553a avformat/rtpdec: DV depacketizer (RFC 6469)
Tested with live555 RTSP server

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 19:35:19 +01:00
Reynaldo H. Verdejo Pinochet
df4346c541 ffserver: fix wrong indentation
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
bd8e16f2e6 ffserver: decouple assignment and check
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
50c1cac432 ffserver: break too-long lines
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:41 -03:00
Reynaldo H. Verdejo Pinochet
8129ccec3a ffserver: reorder HTTP fwd decls
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-02-15 15:15:40 -03:00
Daniel Moran
51ca3cb604 xcbgrab: Use the correct geometry for the region highlight
The feature is implemented using a transparent window and drawing
inside it a rectangle filling the whole window to highlight it.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-15 18:20:54 +01:00
Luca Barbato
e1a57cbb1c ape: Use the proper variable type
Avoid an unsigned underflow.

Bug-Id: 1041122
CC: libav-stable@libav.org
2015-02-15 18:20:54 +01:00
Federico Tomassetti
b4cda0a999 ogg: check memory allocations
Bug-Id: CID 1257795
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-15 18:20:54 +01:00
Luca Barbato
53367b34e1 rtp: h264: Drop the asserts 2015-02-15 18:20:54 +01:00
Luca Barbato
3b33dfb23c rtp: h264: Move FU-A NAL parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
f0a8747996 rtp: h264: Move STAP-A NAL parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
a9a0b8d6c1 rtp: h264: Move parse_sprop_parameter_sets parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
b8df0b71c5 rtp: h264: Move profile_level_id parsing to a function 2015-02-15 18:20:54 +01:00
Luca Barbato
d40815a982 xcbgrab: Correctly make shm optional
The segment field in the struct has to be conditionally build
as well.
2015-02-15 18:20:54 +01:00
Luca Barbato
c23ccaf988 xcbgrab: Check for xcb-shape
It is required.
2015-02-15 18:20:54 +01:00
James Almer
f7ed997a6d x86/swr: make pack_8ch functions work with compilers without aligned stack
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-15 13:57:37 -03:00
zhaoxiu.zeng
38c619c1ed avcodec/vc1: cleanup and simplification
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 17:28:02 +01:00
Anton Khirnov
e21d853099 FATE: add a test for the SVQ1 header byte swapping 2015-02-15 15:30:29 +01:00
Anton Khirnov
d3449ac938 changelog: mention DXVA/HEVC and AAC ELD480 2015-02-15 15:30:21 +01:00
Thomas Volkert
e4a6486c17 rtpdec: experimental VP9 depacketizer (draft 0)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 14:54:45 +01:00
Anshul Maheshwari
bbb0634585 ffmpeg_opt: Creating new data stream for output format context
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>

if input codec Id match with expected data stream of output format context
then only new stream with same codec id is created.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 12:32:22 +01:00
Michael Niedermayer
8123e19e61 avcodec/dcadec: Move remaining tables to dcadata.h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 11:35:40 +01:00
Michael Niedermayer
1567ec43a3 avfilter/vsrc_mandelbrot: fix indention of mis-indented block
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 01:53:21 +01:00
Zhaoxiu Zeng
2a72b1664d avcodec/h264: use avpriv_find_start_code() in h264_split()
This also allows replacing several literal numbers by named constants
And it should be faster, the function is not speed relevant though as it is
generally only called a few times at the streams start.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 01:13:32 +01:00
Michael Niedermayer
7d60baa8d9 avformat/matroskaenc: add allow_raw_vfw and disable it by default
Based on complaint by wm4

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 00:43:38 +01:00
Michael Niedermayer
64e0369808 avutil/fixed_dsp: Use av_clip_int16() instead of the non optimized av_clip_int16_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 00:43:32 +01:00
Michael Niedermayer
e33b084ee9 Merge commit 'ecbcebde344c9eaeb8877ba2c5d32eb3af621e7f'
* commit 'ecbcebde344c9eaeb8877ba2c5d32eb3af621e7f':
  vdpau: Adjust necessary #includes for vdpau_internal.h

Conflicts:
	libavcodec/vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:59:16 +01:00
Michael Niedermayer
dfa7cb646d Merge commit '36cf8eb4489f8709b5fb1cdb87e125ef53301c2f'
* commit '36cf8eb4489f8709b5fb1cdb87e125ef53301c2f':
  mov: Fix compilation with DEBUG enabled

See: 349a32c436
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:49:31 +01:00
Michael Niedermayer
d2223ec2bd Merge commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664'
* commit '2a9c6fae927964b5dd0b5d3d9292f5621bd21664':
  dca: Move all tables into dcadata.h

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:40:35 +01:00
Michael Niedermayer
6c44dd6c6e Merge commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3'
* commit '8a213179aff0174d81b3e889134a3b4f7d21f5c3':
  dca: Remove trace debugging code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:32:23 +01:00
Michael Niedermayer
877c038a9d Merge commit 'a96f51f29ac4cd95650a8bcda6c3d5d87c6357fa'
* commit 'a96f51f29ac4cd95650a8bcda6c3d5d87c6357fa':
  dca: Return more informative error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:26:00 +01:00
Michael Niedermayer
ad0be70382 avcodec/dcaenc: rename DCA_SUBBANDS
Fixes "warning: DCA_SUBBANDS redefined"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:13:28 +01:00
Michael Niedermayer
d8901c2f01 Merge commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0'
* commit 'b339019de4e5f4d3c661bbdba98ae248ab77e2f0':
  dca: Split code for handling the EXSS extension off into a separate file

Conflicts:
	libavcodec/Makefile
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 22:02:41 +01:00
Michael Niedermayer
6998400c61 Merge commit 'bf704132a51f5d838365158331d4e535e1df4c8e'
* commit 'bf704132a51f5d838365158331d4e535e1df4c8e':
  Don't anonymously typedef structs

Conflicts:
	avprobe.c
	libavutil/parseutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:27:44 +01:00
Michael Niedermayer
a94eba6f0c Merge commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0'
* commit '7f9f771eac0d37a632e0ed9bd89961d57fcfb7e0':
  avcodec: Don't anonymously typedef structs

Conflicts:
	libavcodec/alac.c
	libavcodec/cinepak.c
	libavcodec/cscd.c
	libavcodec/dcadec.c
	libavcodec/g723_1.c
	libavcodec/gif.c
	libavcodec/iff.c
	libavcodec/kgv1dec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libspeexenc.c
	libavcodec/ra288.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:18:17 +01:00
Michael Niedermayer
a0fe1a25fa Merge commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e'
* commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e':
  avformat: Don't anonymously typedef structs

Conflicts:
	libavformat/adtsenc.c
	libavformat/aiffenc.c
	libavformat/avidec.c
	libavformat/gif.c
	libavformat/iff.c
	libavformat/img2dec.c
	libavformat/jvdec.c
	libavformat/matroskadec.c
	libavformat/udp.c
	libavformat/wtvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:07:40 +01:00
Clément Bœsch
4ab7eb0da2 avfilter: bump minor and Changelog document the new filters 2015-02-14 20:49:08 +01:00
Clément Bœsch
bab4fcebb1 avfilter: add paletteuse filter 2015-02-14 20:48:50 +01:00
Clément Bœsch
9b964690e3 avfilter: add palettegen filter 2015-02-14 20:48:50 +01:00
Clément Bœsch
3cab173e23 avcodec/gif: support crop and transparency with PAL8 2015-02-14 20:48:50 +01:00
Clément Bœsch
5f9986f597 avformat/gif: use first packet palette as global for PAL8
This will allow the payload in PAL8 packets to not contain 768B of local
palette (which is not LZW compressed).
2015-02-14 20:48:50 +01:00
Clément Bœsch
adb9b235b6 avformat/gif: simplify gif_image_write_header() prototype 2015-02-14 20:48:50 +01:00
Paul B Mahol
088dfd3ff1 avcodec/dxtory: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-14 19:45:23 +00:00
Michael Niedermayer
4177f501b4 Merge commit '7769be590c7aeb2aad26ca723d105cf5203e33d2'
* commit '7769be590c7aeb2aad26ca723d105cf5203e33d2':
  vp56: Return meaningful error codes

Conflicts:
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 20:29:34 +01:00
Gilles Chanteperdrix
3eec775b21 avformat/rtpdec_ac3: add AC3 RTP depacketization (RFC 4184)
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 20:13:52 +01:00
Diego Biurrun
ecbcebde34 vdpau: Adjust necessary #includes for vdpau_internal.h 2015-02-14 10:56:01 -08:00
Diego Biurrun
36cf8eb448 mov: Fix compilation with DEBUG enabled 2015-02-14 10:45:16 -08:00
Gilles Chanteperdrix
22470510d1 avformat/rtpdec_mpeg12: add robust MPEG audio depacketization (RFC 5219)
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 19:33:24 +01:00
Gilles Chanteperdrix
8ca098f444 avcocdec/mpegaudio_parser: add MP3 ADU headers parser
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 19:32:42 +01:00
Diego Biurrun
2a9c6fae92 dca: Move all tables into dcadata.h 2015-02-14 10:13:49 -08:00
Diego Biurrun
8a213179af dca: Remove trace debugging code 2015-02-14 10:13:49 -08:00
Diego Biurrun
a96f51f29a dca: Return more informative error codes 2015-02-14 10:13:49 -08:00
Diego Biurrun
b339019de4 dca: Split code for handling the EXSS extension off into a separate file 2015-02-14 10:13:49 -08:00
Diego Biurrun
bf704132a5 Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Diego Biurrun
7f9f771eac avcodec: Don't anonymously typedef structs 2015-02-14 10:13:49 -08:00
Diego Biurrun
daf8cf358a avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
Himangi Saraogi
7769be590c vp56: Return meaningful error codes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2015-02-14 09:24:13 -08:00
Christophe Gisquet
b533949813 x86: hevc: remove a parameter to WP internals
The second stride is always the internal buffer one, MAX_PB_SIZE (times 2 to
get the value in bytes).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 17:22:50 +01:00
zhaoxiu.zeng
a196e0c66d avcodec/vc1_pred: few branchless optimizations
This is also simpler

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 17:13:16 +01:00
Zhaoxiu Zeng
3b5ad8fbf7 avcodec/parser: optimize ff_mpeg4video_split()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 14:54:39 +01:00
Paul B Mahol
ba22295e76 lavc: deprecate VIMA decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-14 12:48:41 +00:00
Michael Niedermayer
9ccc4eedd1 avformat/matroskaenc: Do not use native mode for raw RGB
This fixes generating totally unplayable files

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 13:02:30 +01:00
Michael Niedermayer
e2fb12b629 avformat/matroskaenc: fix handling of VFW style raw rgb
raw rgb uses 0 as codec tag in "VFW", the code assumed 0 means error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 13:02:30 +01:00
Michael Niedermayer
ad1549aec3 avformat/mov: print a warning if parsing udta failed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 13:02:24 +01:00
zhaoxiu.zeng
ac7fc444ee avcodec/apedec: simplify sign conversion
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 01:09:44 +01:00
zhaoxiu.zeng
b11a187575 avcodec/golomb: simplify sign conversion
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 00:41:45 +01:00
zhaoxiu.zeng
0073c8e345 avcodec/apedec: move 'coeffs[256] and delay[256]' into, long_filter_high_3800
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 23:23:27 +01:00
zhaoxiu.zeng
9e6198f0a4 avcodec/wmalosslessdec: simplify
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 23:08:00 +01:00
zhaoxiu.zeng
80f1378005 avcodec/wmalosslessdec: optimize sign operation
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 18:34:29 +01:00
zhaoxiu.zeng
bc0a440e88 avcodec/wmalosslessdec: change type of acfilter_coeffs from int64_t to int16_t
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 18:20:46 +01:00
zhaoxiu.zeng
e4ea84e12e avcodec/wmv2: simplify cbp_table_index calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 15:55:12 +01:00
zhaoxiu.zeng
b4b9a64bdb avcodec/vc1: simplify vc1_split()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 14:47:58 +01:00
zhaoxiu.zeng
b39ac9d210 avcodec/vc1: simplify find_next_marker()
Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 14:01:45 +01:00
Michael Niedermayer
3e2714992b Merge commit 'eea769df322fac2601a96db195fa7dc8d12a8fbc'
* commit 'eea769df322fac2601a96db195fa7dc8d12a8fbc':
  hevc: Use generic av_clip function, not C implementation

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_filter.c
	libavcodec/hevc_mvs.c

See: 83976e40e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 12:34:18 +01:00
Michael Niedermayer
c74b3983f9 Merge commit 'faa8ffda2c513573733624784f0a7d0a4959d33e'
* commit 'faa8ffda2c513573733624784f0a7d0a4959d33e':
  doc/APIchanges: fill in missing dates and hashes

Conflicts:
	doc/APIchanges

See: c651a1aaec
See: 8c8ee17e8d and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 11:54:38 +01:00
Paul B Mahol
8bb489fab5 fate: add wavpack encoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-13 09:22:18 +00:00
Peter Meerwald
eea769df32 hevc: Use generic av_clip function, not C implementation
hevc seems to be the only place where the C implementation
of the av_clip function is explicitly selected, precluding
platform-specific optimizations

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-13 08:37:13 +01:00
Anton Khirnov
faa8ffda2c doc/APIchanges: fill in missing dates and hashes
Also, move a misplaced block to the right position.
2015-02-13 08:35:15 +01:00
Michael Niedermayer
849ad5175b avformat/mov: Heuristically detect raw udta
Fixes tkhd+moov fragment provided by koda

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 04:30:29 +01:00
Gilles Chanteperdrix
c7ad1f562b avformat/rtsp: parse lang attribute in SDP
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 00:49:08 +01:00
Gilles Chanteperdrix
af940e6cb1 avformat/rtpdec: add T.140 RTP depacketization (RFC 4103)
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 00:11:59 +01:00
Gilles Chanteperdrix
afb0e5a810 avformat/rtsp: allow receiving subtitles via RTP
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-13 00:01:02 +01:00
Michael Niedermayer
33650e0e42 avformat/mpegtsenc: Do not create invalid files from annex b streams without SPS/PPS
use global headers to create SPS/PPS when they are available

Fixes Ticket4248

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 23:13:15 +01:00
Thomas Volkert
b6f577dbb2 rtpdec_hevc: correct parsing of aggregated packets
reported by tim dot yao at amlogic dot com

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 20:43:37 +01:00
James Almer
1679d68dbf x86/hevc_mc: optimize AVX2 mc functions
Before
40766 decicycles in ff_hevc_put_hevc_qpel_h64_8_avx2, 8192 runs, 0 skips

After
37975 decicycles in ff_hevc_put_hevc_qpel_h64_8_avx2, 8192 runs, 0 skips

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-12 13:21:58 -03:00
James Almer
14b44c1614 x86/hevc_sao: make sao_edge_filter_{10,12} work on x86_32
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-12 13:21:30 -03:00
wm4
7862325f80 avformat/matroskadec: fix IGNIDX handling
Just because the user requested the seek index to be ignored, we can't
just skip essential headers. At least tags are often located at the end
of the file, and the old code simply ignored the seekhead for all
elements, not just the cue index. Also, it looks like it used the index
even if IGNIDX was set if the cue index was located in the beginning of
the file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 17:08:51 +01:00
Michael Niedermayer
cab6302534 avcodec/arm/videodsp_armv5te: Fix linking failure with "g++ -shared -D__STDC_CONSTANT_MACROS -o test.so ... libavcodec.a"
Tested-by: Andreas Haupt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 16:35:29 +01:00
wm4
cac2295b21 matroska: redo seekhead handling
In particular, this reads chained seekheads. This makes seeking faster
in files which have the index indirectly linked through 2 seekheads.

As a side-effect, this warns when reading level-1 (toplevel) elements
multiple times (other than seekheads, clusters, and void/crc). Such
elements are not valid and likely break everything.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 13:51:41 +01:00
Clément Bœsch
a5c9befbf4 README: add ffserver 2015-02-12 11:59:22 +01:00
Clément Bœsch
e1ca695d22 README: fix analisys/analysis typo 2015-02-12 11:57:34 +01:00
Robert Xiao
60bb893386 LICENSE.md: Formatting updates
Put filenames and configuration options in code for clarity, and fix some list formatting.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 01:53:56 +01:00
Michael Niedermayer
9843746570 avcodec/mpegvideo_enc: correctly initialize chroma_intra_matrix for MPEG1/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-12 00:19:22 +01:00
Michael Niedermayer
0bcb040a2e avcodec/mpegvideo_enc: Consider chroma_intra_matrix in dct_quantize_trellis_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 23:58:22 +01:00
Michael Niedermayer
7d24ccaf00 fate: mjpeg trellis test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 22:44:06 +01:00
Michael Niedermayer
7cac568b39 avcodec/mjpegenc: support trellis quantization
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:52:55 +01:00
Michael Niedermayer
7366bb38f1 avcodec/mpegvideo_enc: Add intra_chroma_ac_vlc_length, it will be needed for mjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 21:35:53 +01:00
Jean Delvare
194165aed8 cmdutils: fix success path
Since commit 934f2d2f5c,
cmdutils_read_file() prints a confusing message on success:

IO error: Success

This is because the error message is printed on the success path as
well. Add the missing condition so that it is only printed on error.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 17:28:11 +01:00
Paul B Mahol
edf217ebb7 avfilter: add dcshift filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-11 14:58:35 +00:00
Alexey Titov
a05a737316 avfilter/unsharp: OpenCL unsharpen filter optimization: substitute N^2 filter computation with 2N+C
i7-4770K luma 21% faster, chroma 18% faster A10-7850K luma 42% faster, chroma 37% faster on 1920x1080 res

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 13:51:58 +01:00
Paul B Mahol
ac494e5a66 avformat/isom: add X-Com Radvision fourcc
Fixes bug #4303.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-11 11:47:01 +00:00
Paul B Mahol
3a8801eb8d Changelog: mention more ported filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-11 11:46:34 +00:00
Michael Niedermayer
2384933985 ffmpeg: Print negative times like "-00:05:01.22" instead of "00:-5:-1.-22"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 11:22:27 +01:00
Michael Niedermayer
08509c8f86 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>
2015-02-11 03:53:30 +01:00
Michael Niedermayer
2924514721 Merge commit '9deaec782810d098bca11c9332fab2d2f4c5fb78'
* commit '9deaec782810d098bca11c9332fab2d2f4c5fb78':
  lavf: move internal fields from public to internal context

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 02:47:54 +01:00
Michael Niedermayer
b61170f51d Merge commit '1509c018bd5b054a2354e20021ccbac9c934d213'
* commit '1509c018bd5b054a2354e20021ccbac9c934d213':
  mpegts: relax restrictions on matching the packet start in read_header

Conflicts:
	libavformat/mpegts.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:59:14 +01:00
Michael Niedermayer
702cf8d0de Merge commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c'
* commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c':
  lavf: remove unused code

Conflicts:
	libavformat/seek.c
	libavformat/seek.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:43:00 +01:00
Michael Niedermayer
1cca124886 Merge commit '0232ba62a28527579e34d44700b48017cc727e5f'
* commit '0232ba62a28527579e34d44700b48017cc727e5f':
  frame: clarify buf documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:32:30 +01:00
Michael Niedermayer
26db9d3b77 doc/ffmpeg: Document frame_drop_threshold 2015-02-10 15:10:56 -09:00
Michael Niedermayer
838c755f62 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: factorize thread starting and stopping code into decoder
  ffplay: make eof part of videostate and signal it when opening a stream
  ffplay: update frame timer based on last updated clock time when toggling pause

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 23:45:57 +01:00
Michael Niedermayer
133d81535d avutil/error: list most common error code in error_entries when strerror_r() is unavailable
Fixes Ticket4267

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 23:02:24 +01:00
Clément Bœsch
d47eeff274 tests: drop bc dependency
We already have a dependency on awk and bc is sometimes not found in the
base system.
2015-02-10 22:34:39 +01:00
wm4
9deaec7828 lavf: move internal fields from public to internal context
This is not an API change; the fields were explicitly declared private
before.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-10 21:45:04 +01:00
Anton Khirnov
1509c018bd mpegts: relax restrictions on matching the packet start in read_header
analyze() is currently called both when probing and from read_header().
It determines the packet start by looking for the sync byte, followed by
unset Transport Error Indicator and valid adaptation_field_control.

This makes sense to do when probing, but once we already know the format
is MPEG-TS, it is counterproductive to be so strict -- e.g. in some
files the TEI might be set and analyze() might get called with a smaller
buffer than the one used for probing, resulting in a failure.
2015-02-10 21:43:44 +01:00
Marton Balint
ef1ccea945 ffplay: factorize thread starting and stopping code into decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-02-10 20:50:48 +01:00
Marton Balint
d6910c4b5e ffplay: make eof part of videostate and signal it when opening a stream
Otherwise we may not flush a decoder when a new stream is opened during an
already eof condition.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-02-10 20:50:48 +01:00
Marton Balint
68850090b6 ffplay: update frame timer based on last updated clock time when toggling pause
It is better than using simply video clock, because video clock may be NAN.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-02-10 20:50:48 +01:00
Paul B Mahol
8b77c4dd42 avfilter: Add repeatfields filter (Port of mp=softpulldown)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 19:07:20 +01:00
Supraja Meedinti
8d5a850119 libavutil: camellia: remove unwanted memory loads
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   21.549 +- 0.17

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 17:15:36 +01:00
Kevin Wheatley
7fc33dca39 libavformat: DNxHD in .mov, switch unspecified color_range to mpeg
Avid prefers mpeg range [16-235] by default this change brings
ffmpeg into line with that. To obtain the old behaviour use
'-color_range jpeg' on the command line prior to the ouput
filename.

Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 16:46:12 +01:00
wm4
c247fc63e4 pixdesc: clarify AV_PIX_FMT_FLAG_ALPHA doxygen
Also make clear that PAL8 can have alpha.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 16:03:04 +01:00
wm4
92e3a6fdac avutil: check pixdescs in a different place
Doing this check in avutil_version() is not appropriate. Also, this code
is by default disabled (--assert-level is by default 0). A FATE run with
defaults will never execute the checks.

Move it to the pixelutils test program. Whatever reason there was in
avutil_version() not to run this test by default, it should be fine in
this test program. This means FATE will run the test by default. (Yes,
pixelutils is not strictly the best place for it either, but it's
better.)

(pixdesc.c also has a small test program, but it's never run by FATE.)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 15:45:02 +01:00
wm4
3e18dc235e avutil: move internal function out of public header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 15:24:46 +01:00
Paul B Mahol
392d975efe avcodec: fix clobbered ff_get_buffer()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 14:20:32 +00:00
Mark Reid
9b22e460ad test/fate: added mxf_opatom regression tests
Reviewed-by: tomas.hardin@codemill.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 11:28:53 +01:00
Paul B Mahol
e4eba9e21d avcodec/mss4: use av_malloc_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Paul B Mahol
fd6768a4b8 avcodec/huffman: check if map was allocated too
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Paul B Mahol
a5398aa56c avcodec/hevc_parser: check for av_mallocz() failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-10 09:35:23 +00:00
Andreas Cadhalpun
078be09dd7 examples/demuxing_decoding: abort decoding when width, height or pix_fmt change
This is necessary, because avcodec_decode_video2 can change
width, height and/or pixel format of the AVCodecContext. Since
video_dst_data and video_dst_linesize are not updated by calling
av_image_alloc again, av_image_copy[_plane] asserts, because the
destination buffer is too small.

In this case, creating a useable rawvideo is not possible anyway, since
it has fixed width/height/pix_fmt.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-10 02:43:47 +01:00
James Almer
06fe6dfe12 x86/hevc_sao: make sao_band_filter work on x86_32
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-09 20:41:21 -03:00
Michael Niedermayer
f5d32acc37 avutil/camellia: Remove redundant casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:45:01 +01:00
Michael Niedermayer
54eac5195d avutil/camellia: Fix indention & whitespace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:44:14 +01:00
Supraja Meedinti
9a18247ec0 libavutil: optimize camellia cipher
Before the changes :
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   32.541 +- 0.044

After the changes:
lavu       CAMELLIA     size: 1048576  runs:   1024  time:   24.589 +- 0.066

Tested with crypto_bench on a Linux x86_64 OS with Intel Core i5-3210M CPU.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 22:33:14 +01:00
wm4
6938a095cb matroska: don't complain about unknown elements
Matroska is an extensible format - unknown elements must be expected. It
shouldn't complain about such elements to the user either; it'll just
generate noise. The "error_recognition & AV_EF_EXPLODE" is completely,
wrong why would it explode on valid files?

It's still useful for debugging, so the message is left in place with a
higher log level.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 21:33:33 +01:00
Michael Niedermayer
e8f814a907 avformat/utils: Fix division by 0
Fixes: signal_sigsegv_14999ef_1188_cov_2888512890_SVA_CL1_E.264

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 21:15:27 +01:00
Paul B Mahol
238247b622 avcodec/sgienc: return meaningful error code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-09 14:07:54 +00:00
Michael Niedermayer
5763f67502 avformat/mov: Check dimensions before setting aspect
Fixes division by 0
Fixes: asan_heap-uaf_143f420_728_cov_1441472032_HDV_0113.MP4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 14:52:15 +01:00
Michael Niedermayer
b74ecb82fa swresample/x86/rematrix_init: Check av_malloc* return codes, forward errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 10:15:56 +01:00
Michael Niedermayer
48ffaaaaef swresample/x86/rematrix_init: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 10:15:56 +01:00
Michael Niedermayer
d80fe5d4bc avcodec/vb: Check for av_mallocz() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 09:27:16 +01:00
Michael Niedermayer
694671bc9a avfilter/f_sendcmd: consider it an error if there are no commands
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 07:13:48 +01:00
Georg Lippitsch
c0367f78d5 doc/indevs: Docs for Blackmagic high bit depth video/audio
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-09 01:18:58 +01:00
Seppo Tomperi
03cecf45c1 hevcdsp: ARM NEON optimized transforms
cherry picked from commit b153f55935969c794de4640f8d34e01c58e027ae

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 23:29:35 +01:00
Christophe Gisquet
b61b9e4919 x86: hevc_mc: remove lea in EPEL_LOAD
The second parameter to the macro is always an immediate address,
so no lea is needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 22:19:35 +01:00
Christophe Gisquet
4919b38421 x86: hevc_mc: fewer gpr autoloads for _v filters
In that case, it's just to load my, but mx/r3src is not used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 22:19:34 +01:00
wm4
6a5b8ca432 lavf: remove unused code
Nothing uses it, and it provides no public API.

Archeological finds:

Commit 101036adb9 added the API.
Commit a8dd8dc6e9 made mpegts.c use it.
Commit af8aae3fa3 disabled it by default in mpegts.c.
Commit ae2bb52cd2 removed all uses of this from mpegts.c.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-08 21:34:05 +01:00
Anton Khirnov
0232ba62a2 frame: clarify buf documentation
Mention explicitly that the array must be filled contiguously.
2015-02-08 21:28:31 +01:00
Anshul Maheshwari
1df841f154 doc/APIchanges: updated Data stream changes in APIChange
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 18:39:22 +01:00
Michael Niedermayer
162f344971 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix standalone compilation of the mov muxer with --disable-optimizations.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 17:31:31 +01:00
Clément Bœsch
55feff57ce avfilter/hqdn3d: an invalid bit depth means a bug, not invalid read data
This code looks clumsy, and an assert would probably be more welcome.
2015-02-08 17:16:51 +01:00
Clément Bœsch
4b60bd1aac avformat/internal: fix av_interleaved_write_frame typo reference 2015-02-08 17:09:12 +01:00
Carl Eugen Hoyos
a2bc8c5601 Fix standalone compilation of the mov muxer with --disable-optimizations.
Reported-by: Bernhard Döbler
2015-02-08 15:48:26 +01:00
Clément Bœsch
eb7efaa924 avfilter/dctdnoiz: fix slice_h computation
ceilf() can only work if the reminder of the division is not 0.

This fixes memory errors with for instance:
  ffmpeg -f lavfi -i testsrc=s=800x500 -threads 3 -vf dctdnoiz -frames:v 1 -f null -
2015-02-08 14:31:29 +01:00
Michael Niedermayer
009a57b479 avformat/mxfenc: Remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 13:02:35 +01:00
Eejya Singh
40b198e987 lavfi/subtitles: add force_style option
Signed-off-by: Eejya Singh <singh.eejya@gmail.com>
Signed-off-by: Clément Bœsch <u@pkh.me>
2015-02-08 11:36:49 +01:00
Michael Niedermayer
5ae140c04f avdevice/decklink_common: Use defined(__APPLE__) instead of __APPLE__
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 04:52:52 +01:00
James Almer
92d903afaa x86/vp9dsp: fix clobbering of xmm6 on IDCT sse2 functions
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-08 00:50:39 -03:00
Georg Lippitsch
62ea5ae2b5 avdevice/decklink_common: Fix Decklink for Mac
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 04:43:54 +01:00
Georg Lippitsch
97a27065c8 avdevice/decklink: 10 Bit support for Decklink input device
Example to capture video clip at 1080i50 10 bit:
ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@11' -acodec copy -vcodec copy output.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 04:31:27 +01:00
Mark Reid
6a8a3bfb87 libavformat/mxfenc.c: added mxf opatom muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 03:53:37 +01:00
Michael Niedermayer
7c148f30f3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Support decoding yuv dpx images.
  Do not use -mdynamic-no-pic on OSX x86_64.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:36:23 +01:00
Michael Niedermayer
2048126ea7 avcodec/utils: Assert that dst->progress is clear before ff_thread_ref_frame()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Michael Niedermayer
de6df46120 avcodec/h264: Setup decoder to have matching reference to the EC code
Also move EC ref initialization to where the EC code is called.
Fixes out of array read
Fixes: asan_heap-uaf_143f420_142_20110805_112659_ch0.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Michael Niedermayer
ecfd48dc06 avcodec/h264: Move COPY_PICTURE() to h264.h so it can be used from other parts of the h264 decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Carl Eugen Hoyos
2efaaf9476 Support decoding yuv dpx images. 2015-02-08 00:12:46 +01:00
Carl Eugen Hoyos
ea329b60f5 Do not use -mdynamic-no-pic on OSX x86_64.
Fixes default compilation with icc.
2015-02-08 00:11:13 +01:00
Michael Niedermayer
29fd3032cc avformat/omadec: Subtract headersize in timestamp calculation
Fixes pts/dts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:16:20 +01:00
Michael Niedermayer
7c2fa13df9 avformat/omadec: only compute timestamps based on bitrate if its set
Fixes division by zero

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:12:56 +01:00
Michael Niedermayer
7474ea7495 Merge commit 'e352520e3ed7f08f19e63cd60e95da6bb6f037c1'
* commit 'e352520e3ed7f08f19e63cd60e95da6bb6f037c1':
  oma: Report a timestamp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 21:01:52 +01:00
Michael Niedermayer
89c7332b38 Merge commit '8029af586fd5a5f2a0803001f9eff386e5545fe2'
* commit '8029af586fd5a5f2a0803001f9eff386e5545fe2':
  dxva2_hevc: properly fill the scaling list structure

See: b11994593a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 20:54:11 +01:00
Christophe Gisquet
626d6184ce x86: lavc/hevc_mc: fix comments
The width parameter is now completely at the back, and actually
never used. This helps understanding the actual parameter list.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 20:52:03 +01:00
Paul B Mahol
134e8c73ea avcodec/faxcompr: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-07 17:16:14 +00:00
Christophe Gisquet
97996eff4f hevc/sao: do in-place band filtering when possible
The copies are only needed when data must be restored, so skip them
when it must not be.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 18:04:25 +01:00
Christophe Gisquet
ed450d4acf x86: lavc: share more constant through defines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 17:48:14 +01:00
Carl Eugen Hoyos
ac923ed470 lavf/mlv: Only add streams that are supposed to contain frames.
Fixes ticket #4296.

Reviewed-by: Peter Ross
2015-02-07 16:23:36 +01:00
Paul B Mahol
ec8ec999f4 avcodec/twinvqdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-07 15:19:03 +00:00
Luca Barbato
e352520e3e oma: Report a timestamp
Reported-By: jb@videolan.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-07 15:36:15 +01:00
Christophe Gisquet
691b7f5e9e lavc/lossless_audiodsp: revert various commits
Their intent was to make the DSP work with wmalossless pro.
The later was fixed to work with the DSP.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 15:15:19 +01:00
Christophe Gisquet
46e2afa4dc wmalossless: reset lms_update
It may contain garbage at the end, and zeroing allows using DSP
with longer loops.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 15:14:32 +01:00
Hendrik Leppkes
8029af586f dxva2_hevc: properly fill the scaling list structure
The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied
in the decoder.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-07 14:33:29 +01:00
Timothy Gu
1de742145f pixdesc: Include more functions in FF_DISABLE_DEPRECATION_WARNINGS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 14:27:13 +01:00
Michael Niedermayer
be1cb1e63a avutil/pixfmt: Clarify meaning of the A/X bit in RGB555 / remove wording about significant bit
Found-by:wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:46:04 +01:00
Michael Niedermayer
dbab5f5984 avutil/pixfmt: Clarify the meaning of the alpha bits in rgb444 and similar formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:20:53 +01:00
Michael Niedermayer
088dd0fd4c avutil/pixfmt: Clarify the meaning of the "alpha" bit in rgb555/bgr555
Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:14:58 +01:00
Michael Niedermayer
c02b8c4527 avutil/pixfmt: Clarify the meaning of the alpha byte in RGB0 and similar formats
Found-by: wm4
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 13:04:23 +01:00
Anshul Maheshwari
f05efd42af avcodec/ccaption_dec: Added Debug logs
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 06:01:31 +01:00
Anshul Maheshwari
5647286e67 avcodec/ccaption_dec: handle error from ass_sub api
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 05:51:17 +01:00
Anshul Maheshwari
bf30161a8d avcodec/ccaption_dec: Added Roll up functionality
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 05:51:10 +01:00
Michael Niedermayer
a40de9ac07 Merge commit '9295d10ea9d138462b7f67d16bf95ae9ca76aca6'
* commit '9295d10ea9d138462b7f67d16bf95ae9ca76aca6':
  fate: Add a test for AAC ELD480.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 04:54:39 +01:00
Michael Niedermayer
2fd9ce92af avcodec/h264_slice: assert that reinit does not occur after the first slice
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-07 03:59:45 +01:00
Michael Niedermayer
38d5241b7f 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>
2015-02-07 03:59:45 +01:00
Michael Niedermayer
f111831ed6 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>
2015-02-07 03:59:45 +01:00
Alex Converse
9295d10ea9 fate: Add a test for AAC ELD480.
The source is er_eld_2100np_48_ep0.mp4 from the official test set.
2015-02-06 18:56:22 -08:00
Michael Niedermayer
f906982c94 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>
2015-02-07 02:20:14 +01:00
Christophe Gisquet
9dc45d1f42 x86: lavc: share more constants
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 23:35:02 +01:00
Michael Niedermayer
bfb988b1fa Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/tscc: Make 32bit output opaque.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:31:32 +01:00
Michael Niedermayer
1750b45cdf avutil/opt: Fix type used to access AV_OPT_TYPE_SAMPLE_FMT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:16:08 +01:00
Michael Niedermayer
a0640e6346 avutil/opt: Fix types used to access AV_OPT_TYPE_PIXEL_FMT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 22:15:20 +01:00
Mickaël Raulet
6ecc3fd612 x86/hevc_mc: use aligned loads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 21:38:00 +01:00
James Almer
383fddeec6 x86/lossless_audiodsp: fix compilation with --disable-yasm
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-06 17:30:17 -03:00
Carl Eugen Hoyos
d45fadb6df lavc/tscc: Make 32bit output opaque.
Found-by: wm4
2015-02-06 21:02:08 +01:00
Timothy Gu
510b39c213 nutdec: Remove unused variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 20:44:36 +01:00
Timothy Gu
e66a187638 img2dec: Remove dead code
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 20:44:36 +01:00
Michael Niedermayer
9bc7ee8a98 avcodec/avfft: Add simple self test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
Timothy Gu
23659fdb81 generate_wave_table: Add include for AVSampleFormat
Fixes warning in `make checkheaders`.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
Timothy Gu
5081012eb8 audioconvert: Add missing include for FF_API_AUDIO_CONVERT
Fixes warning in `make checkheaders`.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 19:07:29 +01:00
James Almer
aea29a891f x86/hevc_sao: fix loading of RIP address
pb_eo must be handled as a rip relative address for MSVC64, so an
intermediate register is needed. Should fix link failures.

Suggested by Hendrik Leppkes and Christophe Gisquet.

Tested-By: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-06 15:06:15 -03:00
Mickaël Raulet
bcb0925115 x86/hevc: use CLIPW macro when possible
Conflicts:
	libavcodec/x86/hevc_mc.asm

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:38:47 +01:00
Christophe Gisquet
5eedd36df1 x86: hevc_mc: use epel_hv 16-wide function
The epel_hv functions were still relying on only epel_hv 8-wide
being the maximum width instanciated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:37:56 +01:00
Pierre Edouard Lepere
a0d1300f71 x86: hevc_mc: add AVX2 optimizations
before
33304 decicycles in luma_bi_1, 523066 runs, 1222 skips
38138 decicycles in luma_bi_2, 523427 runs, 861 skips
13490 decicycles in luma_uni, 516138 runs, 8150 skips
after
20185 decicycles in luma_bi_1, 519970 runs, 4318 skips
24620 decicycles in luma_bi_2, 521024 runs, 3264 skips
10397 decicycles in luma_uni, 515715 runs, 8573 skips

Conflicts:
	libavcodec/x86/hevc_mc.asm
	libavcodec/x86/hevcdsp_init.c

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 17:20:47 +01:00
Paul B Mahol
f968166439 avformat/rpl: check av_get_packet() for failure
Also make ret signed as it should be from start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-06 16:07:16 +00:00
Michael Niedermayer
6fafc62b0b 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>
2015-02-06 15:22:51 +01:00
Michael Niedermayer
31cc9c04ca avcodec/h264: Be more strict on rejecting pps_id changes
Fixes race condition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 15:22:51 +01:00
Paul B Mahol
dc3c3758ce avformat/thp: check av_get_packet() for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-06 09:42:53 +00:00
Michael Niedermayer
69aa79365c 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>
2015-02-06 04:32:14 +01:00
James Almer
15a88468ae avformat/tta: only check for header and seek table crc if requested
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 23:20:40 -03:00
Michael Niedermayer
a6c2c8fe3f Revert "avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar"
This reverts commit 3b4ffba3af.

Unbreaks the SSSE3 code on mingw32

Conflicts:

	libavcodec/x86/lossless_audiodsp.asm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 02:31:45 +01:00
Michael Niedermayer
f1214763af avcodec/x86/lossless_audiodsp: Move order&8 fallback into C code
This is simpler and more robust, and fixes mismatching XMM save restore
mismatches

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 02:18:54 +01:00
Michael Niedermayer
d41b66a1a2 avcodec/vp3: pass correct context to av_log()
Fixes null pointer dereference
Fixes: signal_sigsegv_000_3694_cov_1050071691_theora.mkv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 00:34:09 +01:00
Michael Niedermayer
3b4ffba3af avcodec/x86/lossless_audiodsp: Make scalarproduct_and_madd_int16 prototypes more similar
This is needed as the mmx code is used as fallback from the ssse3 code

Suggested-by: jamrial
Tested-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-06 00:20:59 +01:00
Michael Niedermayer
43b1fd5bb4 avcodec/hevc: drop redundant ifs()
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 22:29:55 +01:00
Seppo Tomperi
0c494114cc hevcdsp: ARM NEON optimized deblocking filter
cherry picked from commit 1b9ee47d2f43b0a029a9468233626102eb1473b8

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 22:01:52 +01:00
Christophe Gisquet
9a2f5d825a hevc: free sao buffers when receiving a new SPS
The buffer pointers would be otherwise overwritten, causing a
leak on e.g. PERSIST_RPARAM_A_RExt_Sony_1.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 21:50:35 +01:00
wm4
a83b6b077c vp9: assign PTS to visible instead of invisible frames
All the webm/vp9 files I have seen so far can have packets that contain
1 invisible and 1 visible frame. The vp9 parser separates them. Since
the invisible frame is always (?) the first sub-packet, the new packet
is assigned the PTS of the original packet, while the packet containing
the visible frame has no PTS.

This patch essentially reassigns the PTS from the invisible to the
visible frame.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 21:16:26 +01:00
James Almer
15574c505b x86/hevcdsp: add ff_hevc_sao_edge_filter_{10,12}_{sse2,avx2}
Original x86 intrinsics code by Pierre-Edouard Lepere.
Yasm port, refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
342694 decicycles in sao_edge_filter_10, 16384 runs, 0 skips
29476 decicycles in ff_hevc_sao_edge_filter_32_10_ssse3, 16384 runs, 0 skips
13996 decicycles in ff_hevc_sao_edge_filter_32_10_avx2, 16381 runs, 3 skips

Width 64
581163 decicycles in sao_edge_filter_10, 8192 runs, 0 skips
59774 decicycles in ff_hevc_sao_edge_filter_64_10_ssse3, 8192 runs, 0 skips
28383 decicycles in ff_hevc_sao_edge_filter_64_10_avx2, 8191 runs, 1 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:33 -03:00
James Almer
042c1159fc x86/hevcdsp: add ff_hevc_sao_edge_filter_8_{ssse3,avx2}
Original x86 intrinsics code and initial yasm port by Pierre-Edouard Lepere.
Refactoring and optimizations by James Almer.

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

Width 32
158583 decicycles in edge, sao_edge_filter_8 runs, 0 skips
5205 decicycles in ff_hevc_sao_edge_filter_32_8_ssse3, 32767 runs, 1 skips
2942 decicycles in ff_hevc_sao_edge_filter_32_8_avx2, 32767 runs, 1 skips

Width 64
705639 decicycles in sao_edge_filter_8, 262144 runs, 0 skips
19224 decicycles in ff_hevc_sao_edge_filter_64_8_ssse3, 262111 runs, 33 skips
10433 decicycles in ff_hevc_sao_edge_filter_64_8_avx2, 262115 runs, 29 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:27 -03:00
James Almer
1f1c7c8a57 hevcdsp: remove compilation-time-fixed parameter from sao_edge_filter
The stride_src parameter is always 2 * MAX_PB_SIZE + FF_INPUT_BUFFER_PADDING_SIZE.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-05 15:02:22 -03:00
Michael Niedermayer
e09ad5bd0d avcodec/h264_refs: set last_pic_for_ec only if it has not been set previously
This ensures we do not loose the frame in case or multiple clears
Fixes out of array read
Fixes: asan_heap-oob_2fa47ea_2100_cov_1278768963_ff_add_pixels_clamped_mmx.m2ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 14:57:42 +01:00
Michael Niedermayer
7dad2f7bb9 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation with --disable-protocol=udp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 13:26:07 +01:00
Paul B Mahol
dccd648f9f avcodec/alsdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-05 09:48:54 +00:00
Paul B Mahol
57bca64b3f avcodec/cllc: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-05 09:48:54 +00:00
Carl Eugen Hoyos
afada9ac67 Fix compilation with --disable-protocol=udp 2015-02-05 10:07:03 +01:00
Michael Niedermayer
7801a54ec3 avfilter/vf_fps: update frame drop comment
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 06:03:11 +01:00
Michael Niedermayer
f2579dbb4b 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>
2015-02-05 04:14:42 +01:00
Lukasz Marek
21051af218 lavf/avc: add buffer padding to extradata allocation
ff_avc_write_annexb_extradata() allocates extradata, but don't add
FF_INPUT_BUFFER_PADDING_SIZE value

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-02-05 03:27:55 +01:00
Philip Langdale
d20df2601f avcodec/nvenc: De-compensate aspect ratio compensation of DVD-like content.
For reasons we are not privy to, nvidia decided that the nvenc encoder
should apply aspect ratio compensation to 'DVD like' content, assuming that
the content is not bt.601 compliant, but needs to be bt.601 compliant. In
this context, that means that they make the following, questionable,
assumptions:

1) If the input dimensions are 720x480 or 720x576, assume the content has
an active area of 704x480 or 704x576.

2) Assume that whatever the input sample aspect ratio is, it does not account
for the difference between 'physical' and 'active' dimensions.

From, these assumptions, they then conclude that they can 'help', by adjusting
the sample aspect ratio by a factor of 45/44. And indeed, if you wanted to
display only the 704 wide active area with the same aspect ratio as the full
720 wide image - this would be the correct adjustment factor, but what if you
don't? And more importantly, what if you're used to ffmpeg not making this kind
of adjustment at encode time - because none of the other encoders do this!

And, what if you had already accounted for bt.601 and your input had the
correct attributes? Well, it's going to apply the compensation anyway!
So, if you take some content, and feed it through nvenc repeatedly, it
will keep scaling the aspect ratio every time, stretching your video out
more and more and more.

So, clearly, regardless of whether you want to apply bt.601 aspect ratio
adjustments or not, this is not the way to do it. With any other ffmpeg
encoder, you would do it as part of defining your input paramters or
do the adjustment at playback time, and there's no reason by nvenc
should be any different.

This change adds some logic to undo the compensation that nvenc would
otherwise do.

nvidia engineers have told us that they will work to make this
compensation mechanism optional in a future release of the nvenc
SDK. At that point, we can adapt accordingly.

Signed-off-by: Philip Langdale <philipl@overt.org>
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-05 02:32:33 +01:00
Michael Niedermayer
692b22626e 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>
2015-02-05 00:33:50 +01:00
Michael Niedermayer
fd52d2d3d1 avcodec/mpegvideo_motion: Fix gmc chroma dimensions
Fixes integer overflow and 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>
2015-02-05 00:33:50 +01:00
James Almer
7457afc64d hevcdsp: replace the SAOParams struct parameter from sao_edge_filter
As with sao_band_filter, pass instead the two variables from the struct needed in the function.
This simplifies writing asm optimized versions.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-04 17:53:04 -03:00
James Almer
121ccc3365 hevcdsp: further simplify sao_edge_filter
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-04 17:52:59 -03:00
Seppo Tomperi
4386e1fd94 hevcdsp: simplified sao_edge_filter
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
2015-02-04 17:52:54 -03:00
Seppo Tomperi
74d7faf400 hevcdsp: separated sao edge filter and pixel restore funcs
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
2015-02-04 17:52:49 -03:00
Michael Niedermayer
fabbfaa095 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>
2015-02-04 20:49:12 +01:00
Michael Niedermayer
afa92907f3 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 20:14:18 +01:00
Michael Niedermayer
7f02fcd917 avfilter/vf_fps: Do not drop a random subset of frames
This also avoids droping the frame which is closest to the target timestamp

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 18:52:14 +01:00
Hendrik Leppkes
b11994593a dxva2_hevc: properly fill the scaling list structure
The scaling list can be specified in either the SPS or PPS.
Additionally, compensate for the diagonal scan permutation applied in the decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 16:31:49 +01:00
Michael Niedermayer
05e1619529 avformat/mpc8: Use uint64_t in *_get_v() to avoid undefined behavior
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 14:55:42 +01:00
Paul B Mahol
9f1a5dbc26 avcodec/cdxl: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 13:40:04 +00:00
Michael Niedermayer
85a8069d23 Merge commit '8c1ce7787ad7af8fc321b4a145e9dc965f6d0e86'
* commit '8c1ce7787ad7af8fc321b4a145e9dc965f6d0e86':
  aacsbr: silence message for SBR extension "padding".

See: 1ac606bae6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 14:20:32 +01:00
Paul B Mahol
469a170135 avformat/siff: fix if_( style
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 13:10:53 +00:00
Michael Niedermayer
ba4fba8f48 Merge commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e'
* commit 'd615187f74ddf3413778a8b5b7ae17255b0df88e':
  aacdec: Support for ER AAC ELD 480.

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:49:17 +01:00
Michael Niedermayer
dd72e26d0c Merge commit '7640c4a371a97899dfb443d980fd0bf8ac587754'
* commit '7640c4a371a97899dfb443d980fd0bf8ac587754':
  aacdec: Tables for length 480 AAC ELD.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:40:23 +01:00
Michael Niedermayer
f53aa3f4f3 Merge commit '0ee2573347ecdb9cb5656001f7201d819eec16d8'
* commit '0ee2573347ecdb9cb5656001f7201d819eec16d8':
  aacdec: Support for ER AAC in LATM

Conflicts:
	libavcodec/aacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:31:24 +01:00
Michael Niedermayer
5348d7b605 Merge commit 'edd9ea3ffba1d5873dead1c57c74b1e3cc912167'
* commit 'edd9ea3ffba1d5873dead1c57c74b1e3cc912167':
  aacdec: Refactor aac_er_decode_frame.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:18:51 +01:00
Stefano Sabatini
fd242b468d lavf/utils: fix if_( style 2015-02-04 13:17:30 +01:00
Liviu Oniciuc
d2330e5844 doc/muxers/image2: remove the non-negative number requirement for start_number
Update after b37858eae1.
2015-02-04 13:17:30 +01:00
Michael Niedermayer
0afc26d330 Merge commit '82bd8a57692d8f3643ad0903c97e4a0f84393f53'
* commit '82bd8a57692d8f3643ad0903c97e4a0f84393f53':
  aacdec: Refactor decode_ics_info.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 13:09:52 +01:00
Carl Eugen Hoyos
adfe89bc48 Fix standalone compilation of the tblend filter. 2015-02-04 11:09:14 +01:00
Paul B Mahol
cecc4ea1fc avcodec/evrcdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:42 +00:00
Paul B Mahol
63cb546f0a avcodec/wnv1: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
1634d2bcd1 avcodec/on2avc: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
49f8257135 avcodec/tak_parser: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
c93a7b264f avcodec/ac3dec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
e9eb94ac5a avcodec/qcelpdec: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Paul B Mahol
6e7ac5ee55 avcodec/webp: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-04 09:45:41 +00:00
Reimar Döffinger
8c1ce7787a aacsbr: silence message for SBR extension "padding".
Some files contain a few additional, all-0 bits.
Check for that case and don't print incorrect "not supported"
message.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2015-02-03 20:32:16 -08:00
Alex Converse
d615187f74 aacdec: Support for ER AAC ELD 480.
Based in part on work from Niel van der Westhuizen <espes@pequalsnp.com>.
2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
7640c4a371 aacdec: Tables for length 480 AAC ELD. 2015-02-03 20:32:16 -08:00
Niel van der Westhuizen
0ee2573347 aacdec: Support for ER AAC in LATM 2015-02-03 20:32:16 -08:00
Alex Converse
edd9ea3ffb aacdec: Refactor aac_er_decode_frame. 2015-02-03 20:32:15 -08:00
Alex Converse
82bd8a5769 aacdec: Refactor decode_ics_info. 2015-02-03 20:32:15 -08:00
Michael Niedermayer
77f326dc36 ffmpeg: Make CFR frame drop threshold user adjustable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 02:40:41 +01:00
Christophe Gisquet
52f2adc015 avcodec/hevc: Update the USE_SAO_SMALL_BUFFER case for the alignment requirements in FFmpeg
Use edge emu buffers
And enable the code unconditionally

Speed difference without USE_SAO_SMALL_BUFFER and with the new code:
Decicycles: 26772->26220 (BO32),  83803->80942 (BO64)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:22 +01:00
Christophe Gisquet
00fe77855b avcodec/hevc: Do not zero is_pcm on allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:13 +01:00
Fabrice Bellard
da81cc38e8 avcodec/hevc: reduce memory for SAO
cherry picked from commit 5d9f79edef2c11b915bdac3a025b59a32082f409

SAO edge filter uses pre-SAO pixel data on the left and top of the ctb, so
this data must be kept available. This was done previously by having 2
copies of the frame, one before and one after SAO.

This commit reduces the storage to just that, instead of the previous whole
frame.

Commit message taken from patch by Christophe Gisquet <christophe.gisquet@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 01:54:01 +01:00
wm4
b737a2c528 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>
2015-02-04 00:55:47 +01:00
wm4
56cc024220 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>
2015-02-04 00:39:56 +01:00
Christophe Gisquet
e93d3a22cb x86: lavu/x264asm: fix ymm register instantiation
This mimicks what is done for the other instruction sets.

Tested-by: James Almer <jamrial@gmail.com>
Tested-by: Mickaël Raulet <mraulet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:18:29 +01:00
Michael Niedermayer
d304cb49eb Merge commit '898276c16b1683ac77723e97574a3bfdb29507fd'
* commit '898276c16b1683ac77723e97574a3bfdb29507fd':
  r3d: Fix pos type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-04 00:04:49 +01:00
Michael Niedermayer
bd12634d6b Merge commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de'
* commit 'ec524ed12aa1aeb37125203f1adf5aa10dfcb0de':
  tta: Fix framepos and start_offset types

Conflicts:
	libavformat/tta.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:49:14 +01:00
Michael Niedermayer
1dc1c4e7a8 Merge commit 'a6653787a4b1e89170ff7962312dd110769c83a3'
* commit 'a6653787a4b1e89170ff7962312dd110769c83a3':
  libopencv: Check kernel_str life cycle

Conflicts:
	libavfilter/vf_libopencv.c

See: f16a6f667c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:35:08 +01:00
Michael Niedermayer
741b56fcee avcodec/svq1dec: Add assert to ensure "stages >= 0"
This is currently always true, the assert protects against
future changes to the code breaking this assumtation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:03:38 +01:00
Michael Niedermayer
cba3a46e93 Merge commit '9b8c8a9395c849639aea0f6b5300e991e93c3a73'
* commit '9b8c8a9395c849639aea0f6b5300e991e93c3a73':
  svq1dec: Validate the stages value strictly

Not merged, this is wrong, the condition is not possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 23:03:19 +01:00
Michael Niedermayer
acfb4ede2f Merge commit '6f7a32839d1b913be8170e91c3ac9816b314da21'
* commit '6f7a32839d1b913be8170e91c3ac9816b314da21':
  svq1enc: correctly handle memory error and allocations

Conflicts:
	libavcodec/svq1enc.c

See: 79888388e7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:40:46 +01:00
Michael Niedermayer
94337f8c2d Merge commit '67e9f3907d6d438a413df72d72c1339a0c11a290'
* commit '67e9f3907d6d438a413df72d72c1339a0c11a290':
  isom: Decode Prores 4444 XQ with the existing Prores decoder

See: fe47cba7e8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:29:04 +01:00
Michael Niedermayer
e005dc621a avformat: fix mode of img2dec.c and utils.c
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:27:23 +01:00
Michael Niedermayer
a83e0639c0 Merge commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f'
* commit 'e3528d2a7bf29ba148d7ac1678552ce0089cd14f':
  mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom

Conflicts:
	libavformat/mov.c

See: b76bc01034
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:19:46 +01:00
Michael Niedermayer
deeba777ad Merge commit '27b99d929fe3440b4bba8e5d970c2802f274f328'
* commit '27b99d929fe3440b4bba8e5d970c2802f274f328':
  siff: Return more meaningful error values

Conflicts:
	libavformat/siff.c

See: 29c3ebf56e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 22:05:00 +01:00
Michael Niedermayer
46a16ca15a Merge commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128'
* commit '75439bb31b3ab76f9a4d30c5de4ff9f407ec8128':
  siff: K&R formatting cosmetics

Conflicts:
	libavformat/siff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 21:53:29 +01:00
Liviu Oniciuc
b37858eae1 avformat/img2dec: remove the non-negative number requirement for start_number option
industrial cameras usually mark the trigger frame as frame number 0
all frames saved before trigger frame receive a negative sequence number

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 18:57:23 +01:00
Luca Barbato
898276c16b r3d: Fix pos type
avio_tell can return a negative number.

Bug-Id: CID 1265715
CC: libav-stable@libav.org
2015-02-03 15:23:22 +00:00
Vittorio Giovara
ec524ed12a tta: Fix framepos and start_offset types
Also propagate errors.

CC: libav-stable@libav.org
Bug-Id: CID 1238812
2015-02-03 15:23:21 +00:00
Luca Barbato
a6653787a4 libopencv: Check kernel_str life cycle
The string might or might not be set depending if there
are args and in case of error it must be freed nonetheless.

CC: libav-stable@libav.org
Bug-Id: CID 739878 / CID 739882
2015-02-03 15:23:21 +00:00
Luca Barbato
9b8c8a9395 svq1dec: Validate the stages value strictly
It can be less than -1.

Bug-Id: CID 1194397 / CID 1194398
CC: libav-stable@libav.org
2015-02-03 15:23:21 +00:00
Michael Niedermayer
6f7a32839d svq1enc: correctly handle memory error and allocations
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-03 15:23:21 +00:00
Carl Eugen Hoyos
67e9f3907d isom: Decode Prores 4444 XQ with the existing Prores decoder
The frames seem to contain a higher bitrate which our decoder is
able to handle.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-03 15:23:21 +00:00
Hendrik Leppkes
e3528d2a7b mov: Implement parsing of the "HandlerName" from the MP4 HDLR atom
This atom typically is used for a track title. The handler name is stored
as a Pascal string in the QT specs (first byte is the length of the string),
so do not export it.

A second length check based on the first character is added to avoid
overwriting an already specified handler_name (it happens with YouTube
videos for instance, the handler_name get masked), or specifying an
empty string metadata.

The Pascal string fix and the second length check are written
by Clément Bœsch <clement.boesch@smartjog.com>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-03 15:15:12 +00:00
wm4
6a0cd529a3 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>
2015-02-03 16:02:32 +01:00
Diego Biurrun
27b99d929f siff: Return more meaningful error values 2015-02-03 14:55:40 +00:00
Diego Biurrun
75439bb31b siff: K&R formatting cosmetics 2015-02-03 14:53:44 +00:00
Matt Oliver
22504396fe avformat/mpegtsenc: Fix build with msvc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 15:15:50 +01:00
Michael Niedermayer
63186ac5f1 avutil/mem: replace remaining void **/*** casts by memcpy()
This is similar to 6039248018

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 14:28:56 +01:00
Michael Niedermayer
ed91c8651a avformat/mov: simplify pasp value before setting SAR
This avoids a 65536:65536 SAR

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 14:11:20 +01:00
Rong Yan
fc35df8931 avcodec/ppc/idctdsp.c: POWER LE support in idct_add_altivec()
also add GET_TMP2() macro

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 06:16:39 +01:00
Michael Niedermayer
7620d48f2e avformat/network: Check for av_malloc* failures in ff_tls_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-03 02:21:55 +01:00
Michael Niedermayer
9d7ae72725 swresample: Use int instead of enum for fields which are accessed through AVOptions as int
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 23:27:26 +01:00
Michael Niedermayer
c348a42dcc Revert "avformat/mpegtsenc: Change the service_type field to enum"
This isnt safe due to AVOption accessing this field as int
i just realized a moment after pushing

This reverts commit 0935453e84.
2015-02-02 22:30:56 +01:00
Michael Niedermayer
0935453e84 avformat/mpegtsenc: Change the service_type field to enum
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 22:15:39 +01:00
dhead666
48e36f8a12 libavformat/mpegtsenc: allow to set service_type in sdt
This adds an option to set the service type in mpegts as defined in ETSI 300 468.

I added what I believe are the most useful service types as pre defined values,
the others can be sent by using their hexdecimal form directly (e.g. -mpegts_service_type digital_radio, -mpegts_service_type 0x07).

I've been using this patch in order to pipe internet radio stream (originally as HLS/m3u8) from ffmpeg to tvheadend,
when the service type set right tvheadend recognize the mpegts stream as a radio channel.

The patch in its original form was written by linuxstb from freenode's hts channel which allowed me pushing it upstream.

This close issue 4118.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 22:02:26 +01:00
Michael Niedermayer
8f79cd4764 Merge commit '11e05533170485b593974cf90916425a0188e7bd'
* commit '11e05533170485b593974cf90916425a0188e7bd':
  Ignore generated file tools/sidxindex.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 21:16:15 +01:00
Michael Niedermayer
7b32b35bf5 Merge commit '3d5d46233cd81f78138a6d7418d480af04d3f6c8'
* commit '3d5d46233cd81f78138a6d7418d480af04d3f6c8':
  opus: Factor out imdct15 into a standalone component

Conflicts:
	configure
	libavcodec/opus_celt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 20:43:13 +01:00
Michael Niedermayer
aab902e646 Merge commit '28df0151b6618226b05ee52e031af0b11ca531b0'
* commit '28df0151b6618226b05ee52e031af0b11ca531b0':
  configure: Add a dependency on vc1_decoder from vc1_parser

See: 6ac3c8c6a0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 20:32:05 +01:00
Diego Biurrun
11e0553317 Ignore generated file tools/sidxindex. 2015-02-02 20:09:27 +01:00
Michael Niedermayer
d525b45fde avcodec/hevc_filter: Fix indention
Found-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 19:56:44 +01:00
Mickaël Raulet
7cf6a67ef9 avcodec/hevc: adding support for monochrome sequences in hevc
cherry picked from commit 8e50557707d2ec11ccad657470b2e140f314348e

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 18:10:57 +01:00
Jean First
ecc92ee717 lavc/libopenjpegenc: move opj_create_compress, opj_cio_open and opj_set_event_mgr to libopenjpeg_encode_frame
libopenjpegenc crashes with "pointer being freed was not allocated" when threading
 is enabled with:
 ffmpeg -i tests/vsynth1/01.pgm -vcodec libopenjpeg file.j2k
 this appears to be a bug in libopenjpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 17:54:05 +01:00
Jean First
6d1d036e2c lavc/libopenjpegenc: factorize cinema parameters to it's own function
Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 17:32:54 +01:00
Diego Biurrun
3d5d46233c opus: Factor out imdct15 into a standalone component
It will be reused by the AAC decoder.
2015-02-02 16:07:33 +01:00
Martin Storsjö
28df0151b6 configure: Add a dependency on vc1_decoder from vc1_parser
This fixes builds with vc1_parser enabled without vc1_decoder. All
the vc1_decoder object files were included in the vc1_parser line
in libavcodec/Makefile before, but architecture specific object files
for vc1_decoder were not.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-02 15:30:54 +02:00
Michael Niedermayer
6e95c67330 avcodec/wavpackenc: remove unneeded L suffixes
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 13:34:31 +01:00
Stefano Sabatini
7b35a01ff0 doc/ffprobe.xsd: drop build_date and build_time from programVersionType
Update schema after commit:
103e4c5863
2015-02-02 10:08:22 +01:00
Andreas Cadhalpun
aa2c75e9ad doc/doxy-wrapper.sh: autodetect version
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 05:04:14 +01:00
Andreas Cadhalpun
103e4c5863 stop embedding the build date
Theis makes the build binary reproducible.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 05:04:14 +01:00
James Almer
aa945dc112 x86/hevcdsp: add missing vzeroupper in ff_hevc_sao_band_filter_48_*_avx2
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-02 00:01:35 -03:00
Ben Boeckel
1fe94ea79e vorbis: parse out setup headers as well
Prevents an 'Invalid packet' message. Currently mid-stream setup packets
are ignored. Theoretically, they could, based on the specification, be used to
reinitialize the stream if parameters change, but I don't expect that to be
common (and no one seems to have asked for it).

Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 03:11:49 +01:00
Michael Niedermayer
17d87571c8 ffplay: Fallback to dts if pts is unavailable in pkt_in_play_range calculation
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 02:50:33 +01:00
James Almer
71e2cb4706 x86/hevcdsp: add missing guards to ff_hevc_sao_band_filter_avx2
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 21:45:52 -03:00
James Darnley
12120174ce lavu/x86/x86inc: deprecate INIT_AVX
The same can be done with INIT_XMM avx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 01:09:16 +01:00
Christophe Gisquet
6a6aeb538b hevc/sao: use aligned copies
For band filter, source and destination are aligned (except for 16x16 ctbs),
and otherwise, they are most often aligned. Overall, the total width is also
too small for amortizing memcpy.

Timings (using an intrinsic version of edge filters):
          B/32     B/64     E/32     E/64
Before:  32045    93952    38925    126896
After:   26772    83803    33942    117182
2015-02-01 20:23:03 -03:00
Christophe Gisquet
bff7feb328 x86: hevc/sao: aligned source buffers
Usefull for at least band filter, for which:
- Band filter call only:
           32      64
Before:  16556    54015
After:   16497    52355
- Whole case:
           32      64
Before:  37031   103008
After:   32045    93952
2015-02-01 20:22:54 -03:00
James Almer
fa3eccb4f9 x86/hevc: add ff_hevc_sao_band_filter_{8,10,12}_{sse2,avx,avx2}
Original x86 intrinsics code and initial 8bit yasm port by Pierre-Edouard Lepere.
10/12bit yasm ports, refactoring and optimizations by James Almer

Benchmarks of BQTerrace_1920x1080_60_qp22.bin with an Intel Core i5-4200U

width 32
40338 decicycles in sao_band_filter_0_8, 2048 runs, 0 skips
8056 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 2048 runs, 0 skips
7458 decicycles in ff_hevc_sao_band_filter_8_32_avx, 2048 runs, 0 skips
4504 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 2048 runs, 0 skips

width 64
136046 decicycles in sao_band_filter_0_8, 16384 runs, 0 skips
28576 decicycles in ff_hevc_sao_band_filter_8_32_sse2, 16384 runs, 0 skips
26707 decicycles in ff_hevc_sao_band_filter_8_32_avx, 16384 runs, 0 skips
14387 decicycles in ff_hevc_sao_band_filter_8_32_avx2, 16384 runs, 0 skips

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 20:22:35 -03:00
Anton Mitrofanov
a1684311b3 x264asm: warn when inappropriate instruction used in function with specified cpuflags
Requested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Requested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
2015-02-02 00:06:14 +01:00
Michael Niedermayer
36adfa3274 tests/utils: Remove unneeded L suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 22:38:11 +01:00
Michael Niedermayer
4531e2c489 avcodec/mpegvideo_enc: Fix number suffixes in rc_buffer_size calculation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
592ba6ec10 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>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
f1f7f5903a avformat/omadec: fix number suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
465f3705b1 avformat/smacker: Fix number suffix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
fc3cdb00d0 avformat/matroskadec: Fix number suffixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
b4ad2853c5 avcodec/dxtory: Use LL instead of L number suffix
This is probably unneeded and normal int would be fine, but its
safer to use LL and this isnt speed relevant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
Michael Niedermayer
c77cc2c176 swresample/dither: Cleanup number suffixes
The <<31 case needs LL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 20:00:10 +01:00
James Almer
2929e56006 hevcdsp: replace the SAOParams struct parameter from sao_band_filter
Pass instead the two variables from the struct needed in the function.
This simplifies writing asm optimized versions of the function

Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 15:45:20 -03:00
James Almer
65e6ab0c5a hevcdsp: remove unused parameter from sao_band_filter
Signed-off-by: James Almer <jamrial@gmail.com>
2015-02-01 15:45:14 -03:00
Michael Niedermayer
4b15bba2ae avformat/utils: Fix number suffixes in tb_unreliable()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 19:19:25 +01:00
Michael Niedermayer
0ff8fe10f2 avcodec/h261enc: Fix number suffix
Found-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 19:13:38 +01:00
Michael Niedermayer
61aca123fb avcodec/h261dec: Fix exported MVs for skipped MBs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 18:48:23 +01:00
Michael Niedermayer
0182e5a740 avcodec/nellymoserenc: replace assert by av_assert1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 17:56:01 +01:00
Paul B Mahol
d0045312c3 avfilter/vf_dctdnoiz: Use av_malloc_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-01 16:47:36 +00:00
Carl Eugen Hoyos
f018b1f3a0 Support YA16 in jpeg 2000. 2015-02-01 16:18:39 +01:00
Michael Niedermayer
e912f45b81 avformat/oggenc: Simplify by using OFFSET and PARAM
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 14:35:15 +01:00
Michael Niedermayer
fa73358c9b Merge commit '60392480181f24ebf3ab48d8ac3614705de90152'
* commit '60392480181f24ebf3ab48d8ac3614705de90152':
  mem: fix pointer pointer aliasing violations

Conflicts:
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 13:52:22 +01:00
Michael Niedermayer
9bacb576bc Merge commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16'
* commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16':
  ogg: Provide an option to offset the serial number

Conflicts:
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 13:22:21 +01:00
Paul B Mahol
021c0c5f52 avcodec/motion_est: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-01 11:15:20 +00:00
Paul B Mahol
01a3c5dae0 avcodec/put_bits: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-02-01 11:15:20 +00:00
Rémi Denis-Courmont
6039248018 mem: fix pointer pointer aliasing violations
This uses explicit memory copying to read and write pointer to pointers
of arbitrary object types. This works provided that the architecture
uses the same representation for all pointer types (the previous code
made that assumption already anyway).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-02-01 02:28:40 +01:00
Luca Barbato
f726fc21ef ogg: Provide an option to offset the serial number
The ogg serial number doubles as codec id and sequence
value for concatenated samples.
2015-02-01 02:28:40 +01:00
Christophe Gisquet
cb335b3af2 dvenc: fix 2x4x8 (interlaced) weight table
Since the decoder has been fixed to output something similar to
other implementations, the encoder weight table needed this fix.

Reference PSNR values on a progressive sequence (from tiny_psnr)
from a chained encoding and decoding:
Full progressive: stddev:    0.74 PSNR: 50.69 MAXDIFF:   19
Before:           stddev:    1.43 PSNR: 44.97 MAXDIFF:   17
This patch:       stddev:    0.76 PSNR: 50.44 MAXDIFF:   14

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 02:01:55 +01:00
Andreas Cadhalpun
2a3b7a55b5 examples/demuxing_decoding: set stream_idx in open_codec_context only if no error occured
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 21:54:36 +01:00
Michael Niedermayer
b80106169a avcodec/motion_est: Set subcmp consistently for H261
Fixes Ticket3150

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 21:14:08 +01:00
Michael Niedermayer
3aefa1eb69 avcodec/h261enc: More specific return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 19:59:53 +01:00
Michael Niedermayer
b9c3f041e0 avcodec/h261enc: Avoid casts, Simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 19:59:26 +01:00
Zhang Rui
ca2e3e47fc avformat/cache: pass options to the underlying protocol via the url_open2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 18:55:46 +01:00
Michael Niedermayer
958836f8c5 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  lavc/arm: Use the neon vertical chroma loop filter also for H.264 4:2:2.
  lavc/aarch64: Do not use the neon horizontal chroma loop filter for H.264 4:2:2.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 14:29:15 +01:00
Paul B Mahol
b47ab04c40 configure: remove mp_filter leftover
Pointed out by: ubitux
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 12:57:36 +00:00
Michael Niedermayer
b288f67434 avfilter/avfilter: Remove CONFIG_MP_FILTER case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 13:47:17 +01:00
Paul B Mahol
a34f4e2fd2 avfilter: remove vf_mp.c
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 12:43:03 +00:00
Paul B Mahol
e7e0005cc6 remove libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 12:01:54 +00:00
Stefano Sabatini
f422f474df doc/indevs/libcdio: apply minor spell fixes, extend documentation 2015-01-31 11:32:05 +01:00
Stefano Sabatini
c8bec255ef lavd/libcdio: add more paranoia mode constants 2015-01-31 11:32:05 +01:00
Stefano Sabatini
fbccbd6832 lavd/libcdio: apply minor fixes to options documentation 2015-01-31 11:32:05 +01:00
Carl Eugen Hoyos
f9f9ae1b77 lavc/arm: Use the neon vertical chroma loop filter also for H.264 4:2:2. 2015-01-31 10:05:24 +01:00
Carl Eugen Hoyos
4faea46bd9 lavc/aarch64: Do not use the neon horizontal chroma loop filter for H.264 4:2:2. 2015-01-31 10:05:10 +01:00
Paul B Mahol
f705b1287b avformat/movenc: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
cc1357a173 avformat/mov: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
41456c7d15 avformat/mux: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
12c5addebc avformat/asfenc: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:07 +00:00
Paul B Mahol
ca8617a04d avformat/mpeg: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Paul B Mahol
43630c82f1 avformat/utils: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Paul B Mahol
bc74f946bc avcodec/vc1: remove unneeded #includes, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Paul B Mahol
335c150ba1 avcodec/svq1dec: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-31 08:57:06 +00:00
Michael Niedermayer
9f73b88c62 avcodec/h261enc: fix dquant encoding
Fixes Ticket4111

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 04:57:50 +01:00
Michael Niedermayer
f5722ba276 libavcodec/h264: replace assert() by av_assert0()
also remove the now unneeded #include <assert.h>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 02:37:19 +01:00
Michael Niedermayer
be2ebc723d avcodec/ratecontrol: replace asserts by av_asserts
Also remove the now unneeded #include <assert.h>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-31 01:48:21 +01:00
Paul B Mahol
2ff7e81b3c avcodec/vp3: use init_get_bits8()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 19:15:01 +00:00
Michael Niedermayer
dffc16d523 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Respect horizontal differencing predictor for 16bit gray tiff images.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 19:01:56 +01:00
Paul B Mahol
9fd925dee5 lavfi: remove mp=softpulldown
It is supposed to work correctly with MEncoder only.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 16:10:11 +00:00
Michael Niedermayer
d0f315ab6c avcodec/ppc/h264qpel_template: Change if DEBUG assert() to av_assert2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 16:44:00 +01:00
Michael Niedermayer
3531594017 ppc/mpegvideo_altivec: Change assert to av_assert2()
And move it to where the variable is used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 16:43:14 +01:00
Paul B Mahol
be128c1e34 avcodec/videodsp_template: remove unneeded #include, there are no assert() only av_assert*
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:11 +00:00
Paul B Mahol
3db9960e0a avcodec/qdm2: remove unneeded #include, there are no assert()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:11 +00:00
Paul B Mahol
5274860fe2 ffmpeg: remove unused header
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:11 +00:00
Paul B Mahol
80cbf13725 avformat/rtpdec_qdm2: change assert to av_assert0()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 15:32:10 +00:00
Christophe Gisquet
1fa637d2ef ffmpeg: free_input_threads requires HAVE_PTHREADS
Hide behind that macro to avoid warning on systems with
!HAVE_PTHREADS.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 14:47:08 +01:00
Carl Eugen Hoyos
50144b91ea Respect horizontal differencing predictor for 16bit gray tiff images.
Fixes ticket #4291.
2015-01-30 14:12:55 +01:00
Stefano Sabatini
40b026b1d0 doc/muxers/segment: document strftime option
It was added in commit 202947a066.
2015-01-30 11:52:37 +01:00
Paul B Mahol
64815d1f0c avformat/nut: support WavPack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 09:33:49 +00:00
Paul B Mahol
b5004f3213 avformat/nut: add GIF[0]
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-30 08:58:33 +00:00
Michael Niedermayer
a73c411809 avcodec/aacdec: remove unneeded #include, theres no assert() in aacdec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 02:29:38 +01:00
Michael Niedermayer
305cbe76d3 avcodec/wma: remove unneeded #includes, there are no assert() only av_assert*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 02:26:17 +01:00
Michael Niedermayer
2b215b7f5a avcodec/hevc: Check for av_malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 00:44:51 +01:00
Michael Niedermayer
5008605bf2 avcodec/hevc: Replace more mallocs by av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 00:44:50 +01:00
Anshul Maheshwari
93fac23b80 avcodec/ccaption_dec: Adding color and fonts for future use in screen
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-30 00:04:51 +01:00
Lou Logan
961f2e3aac doc/indevs: add some XCB info to x11grab
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-01-29 13:12:13 -09:00
Michael Niedermayer
ccccfb59b1 Merge commit '22b985d59c007c4422aefe3ef3fca0aa0daafa9f'
* commit '22b985d59c007c4422aefe3ef3fca0aa0daafa9f':
  hqdn3d: check memory allocations and propagate errors

Conflicts:
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 22:43:36 +01:00
Michael Niedermayer
89c35b1130 Merge commit '70d246d5cc3d214da11f711d997d8cbd8c3a23d1'
* commit '70d246d5cc3d214da11f711d997d8cbd8c3a23d1':
  flacenc: initialize sums matrix

Conflicts:
	libavcodec/flacenc.c

No change, the table does not exist in FFmpeg in this form anymore

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 22:34:54 +01:00
Michael Niedermayer
c16896f525 Merge commit 'c01ccccbb13f464e74bb8498a8c573a66c430ca0'
* commit 'c01ccccbb13f464e74bb8498a8c573a66c430ca0':
  ituh263dec: use macro instead of #if

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 22:02:22 +01:00
Michael Niedermayer
c2ad22ff99 Merge commit '08fa34bf75942f66796d770ff42a3721b2e3d2d4'
* commit '08fa34bf75942f66796d770ff42a3721b2e3d2d4':
  yuv4mpegdec: initialize field_order in yuv4_read_header()

Conflicts:
	libavformat/yuv4mpegdec.c

See: 52a17972de
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 21:55:02 +01:00
Michael Niedermayer
e18e5ae62c Merge commit '302ca6b20ed01ac584f5b15d5bca3d3a92b7a77a'
* commit '302ca6b20ed01ac584f5b15d5bca3d3a92b7a77a':
  mpegvideo_enc: initialize the encoding context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 21:36:20 +01:00
Michael Niedermayer
56252a5e09 Merge commit '1a07df31128da3a0020b66502399989b91770d44'
* commit '1a07df31128da3a0020b66502399989b91770d44':
  DNxHD: Add support for id 1258 (DNx100 960x720@8)

Conflicts:
	Changelog
	libavcodec/dnxhddata.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 21:21:49 +01:00
Michael Niedermayer
64e7cf1253 Merge commit '598f7d046cbf306706623210c5baafa3b7cd1df3'
* commit '598f7d046cbf306706623210c5baafa3b7cd1df3':
  DNxHD: Simplify pixel format detection

Conflicts:
	libavcodec/dnxhddec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 20:54:25 +01:00
Michael Niedermayer
e5b7e2224f Merge commit '41e03e284ee7b0d4caa3a5d28681ad46e3105d65'
* commit '41e03e284ee7b0d4caa3a5d28681ad46e3105d65':
  DNxHD: More verbose error messages

Conflicts:
	libavcodec/dnxhddec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 20:38:35 +01:00
Michael Niedermayer
bcadf5d940 Merge commit '1279221cc4d63bc4449df86ae7a98e633f8be425'
* commit '1279221cc4d63bc4449df86ae7a98e633f8be425':
  lavu: Check av_dict_set allocations

Conflicts:
	libavutil/dict.c

See: a963fdb0ea
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 20:28:24 +01:00
Vittorio Giovara
22b985d59c hqdn3d: check memory allocations and propagate errors 2015-01-29 17:33:38 +00:00
Vittorio Giovara
70d246d5cc flacenc: initialize sums matrix
CC: libav-stable@libav.org
Bug-Id: CID 703821
2015-01-29 17:33:38 +00:00
Vittorio Giovara
c01ccccbb1 ituh263dec: use macro instead of #if 2015-01-29 17:33:34 +00:00
Vittorio Giovara
08fa34bf75 yuv4mpegdec: initialize field_order in yuv4_read_header()
CC: libav-stable@libav.org
Bug-Id: CID 1265721
2015-01-29 15:26:33 +00:00
Vittorio Giovara
302ca6b20e mpegvideo_enc: initialize the encoding context
This prevents several uninitialized variable uses that take
place towards the end of encoding.

CC: libav-stable@libav.org
Bug-Id: CID 700760
2015-01-29 15:26:33 +00:00
Vittorio Giovara
1a07df3112 DNxHD: Add support for id 1258 (DNx100 960x720@8)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-29 15:04:57 +00:00
Vittorio Giovara
598f7d046c DNxHD: Simplify pixel format detection
Error out in case of unknown values.
2015-01-29 15:04:46 +00:00
Vittorio Giovara
41e03e284e DNxHD: More verbose error messages 2015-01-29 15:04:35 +00:00
Luca Barbato
1279221cc4 lavu: Check av_dict_set allocations
Bug-Id: CID 1257772
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-29 14:59:57 +00:00
Zhang Rui
038f3a173f avformat/concatdec: avoid NULL dereference when failed to open file.
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 14:25:04 +01:00
Michael Niedermayer
d39fa69dfc Merge commit '6996fd204a7f28b46a8c3c97bcf223998218c743'
* commit '6996fd204a7f28b46a8c3c97bcf223998218c743':
  libopenh264: Log debug messages to a non-null context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 14:13:25 +01:00
Stefano Sabatini
d43c1ec684 examples/filtering: extend comments about setting the filter graph endpoints
That part is a constant source of confusions for readers, this should
help clarify the apparently inverted logic.
2015-01-29 11:12:39 +01:00
Stefano Sabatini
af7b89e08b lavfi: document assumptions about the input and output labels of a filter graph description 2015-01-29 10:12:34 +01:00
Stefano Sabatini
d11fcf735f doc/filters: apply some updates to the Filtergraph syntax section 2015-01-29 10:12:34 +01:00
Martin Storsjö
6996fd204a libopenh264: Log debug messages to a non-null context
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-29 09:16:35 +02:00
Arwa Arif
a21acd554a Fix frame-alignment in PP7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 04:38:48 +01:00
Michael Niedermayer
4155f2d7cc Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add an ARES atom to extradata when encoding avui.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 03:02:09 +01:00
Supraja Meedinti
6ad749b533 libavutil: Added twofish symmetric block cipher
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-29 01:56:11 +01:00
Carl Eugen Hoyos
3ea97767e4 Add an ARES atom to extradata when encoding avui.
Allows playback with QuickTime and the original codec.

Tested by Olaf Matthes, olaf matthes gmx de
2015-01-29 01:07:08 +01:00
Michael Niedermayer
72db3c79df Merge commit '61928b68dc28e080b8c8191afe5541123c682bbd'
* commit '61928b68dc28e080b8c8191afe5541123c682bbd':
  h264: Do not share rbsp_buffer across threads

Conflicts:
	libavcodec/h264.c

See: ecbf838c7d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 22:44:09 +01:00
Michael Niedermayer
58ed152857 avformat/aviobuf: Allow seeking to the end of the buffer for read only buffers
This undoes the effect of 3c18a7b188 for reading

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:56:50 +01:00
Michael Niedermayer
0b4fc4bacd Merge commit '3c18a7b18807de81566381a1bcbe9f6103c0296b'
* commit '3c18a7b18807de81566381a1bcbe9f6103c0296b':
  avio: Do not consider the end-of-buffer position valid

Conflicts:
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:37:28 +01:00
Michael Niedermayer
37984ca133 Merge commit '6a808f5ae17f1fcdbcfb18055872c12aef70ffff'
* commit '6a808f5ae17f1fcdbcfb18055872c12aef70ffff':
  libdc1394: Add support for MONO8 (gray) video mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 20:29:29 +01:00
Paul B Mahol
c099783316 avformat/nsvdec: remove case which is no longer possible
Check of channels !=0 is right above.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 17:57:48 +00:00
Michael Niedermayer
a6f9a5d0f6 avfilter/x86/vf_fspp: Fix loop condition for column_fidct()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 17:23:27 +01:00
Michael Niedermayer
375a0273ce avfilter/vf_fspp: check count before calling row_idct()
Fixes crash with odd widths

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 17:23:27 +01:00
Arwa Arif
622936424c avfilter/vf_fspp: Fix frame-alignment in FSPP
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 17:22:54 +01:00
Michael Niedermayer
61928b68dc h264: Do not share rbsp_buffer across threads
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>

CC: libav-stable@libav.org
2015-01-28 16:28:58 +01:00
Luca Barbato
3c18a7b188 avio: Do not consider the end-of-buffer position valid
Trigger a refill if the seek action moves the pointer
at the end of the buffer.

Before this patch the read action following the seek would trigger
the refill, while write action would write outside the buffer.

In the Libav codebase few muxers seek forward outside of what
already has been written so it is quite unlikely to experience
the problem with the default buffer size.

CC: libav-stable@libav.org
2015-01-28 16:28:10 +01:00
Clay McClure
6a808f5ae1 libdc1394: Add support for MONO8 (gray) video mode
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-28 16:10:24 +01:00
Paul B Mahol
fca50464dc avfilter/vf_colorchannelmixer: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:39:15 +00:00
Paul B Mahol
67aaa7056d avfilter/avf_avectorscope: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:34:11 +00:00
Paul B Mahol
6121968a9e avfilter/af_biquads: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:30:27 +00:00
Paul B Mahol
f27cda48ec avfilter/vf_extractplanes: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:26:13 +00:00
Paul B Mahol
abcf8610b8 avfitler/vf_il: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:22:26 +00:00
Paul B Mahol
231bf4d1c2 avfilter/vf_colorbalance: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 14:11:30 +00:00
Paul B Mahol
87577f5508 avfilter/vf_telecine: use the name 's' for the pointer to the private context
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-28 13:51:18 +00:00
Michael Niedermayer
0d37ca150c avutil/aes: Rename crypt()
This avoids a potential conflict with the equally named function from XOPEN
It also could reduce confusion in debugger backtraces

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 13:12:02 +01:00
Michael Niedermayer
ccaa5dcb31 avcodec/h264_parser: Rename close()
This avoids a potential conflict with the equally named function for closing files
It also could reduce confusion in debugger backtraces

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 13:11:03 +01:00
Maneesh Gupta
1600f85cbc doc/fftools-common-opts: update/extend documentation for -opencl_bench option
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-01-28 10:00:30 +01:00
Timo Rothenpieler
fb34c580bb avcodec/nvenc: Handle non-square pixel aspect ratios
Reviewed-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 06:10:40 +01:00
Mark Reid
a181169868 tests/fate: added mxf tests for essencegroups and missing index
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 05:45:32 +01:00
Carl Eugen Hoyos
449b8cf04b avformat/mxfdec: Fix cleanup in mxf_free_metadataset()
Fixes Ticket4256

Found-by: tholin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 05:26:01 +01:00
Michael Niedermayer
840570d27b avfilter/vf_mcdeint: avoid uninitilaized fields in AVPacket
This is also simpler

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 00:58:03 +01:00
Reimar Döffinger
6efd0ba977 swresample_internal.h: Move struct declaration before first use.
It seems more logical and works with more restricted C compilers
like tinycc.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2015-01-27 21:29:51 +01:00
Reimar Döffinger
d96090e7b6 Support BMP files that do not properly align lines.
Quite a few programs missed that detail of the spec
(including old versions of FFmpeg I believe) and when
we would otherwise fail anyway it seems worth a try
to use a simple byte-aligned stride instead.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2015-01-27 21:29:42 +01:00
Michael Niedermayer
d3d4d98764 Merge commit '8805589b803fab5f362008306319336ac79a3fa7'
* commit '8805589b803fab5f362008306319336ac79a3fa7':
  libopencv: Rework error handling in parse_iplconvkernel()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 20:31:51 +01:00
Michael Niedermayer
c5b6b711b2 Merge commit '607ad990d31e6be52980970e5ce8cd25ab3de812'
* commit '607ad990d31e6be52980970e5ce8cd25ab3de812':
  dvbsubdec: check memory allocations and propagate errors

Conflicts:
	libavcodec/dvbsubdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 20:25:40 +01:00
Michael Niedermayer
f955abe333 Merge commit 'e71149a7a5b10ed7baa5a06f47d0313c7bd8df52'
* commit 'e71149a7a5b10ed7baa5a06f47d0313c7bd8df52':
  nuv: validate image size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 20:13:07 +01:00
Michael Niedermayer
b04cbbe255 Merge commit '7c51d79ca7badfb370c410b8f44c9142b938e2e6'
* commit '7c51d79ca7badfb370c410b8f44c9142b938e2e6':
  nsvdec: validate channels and samplerate

See: d633e15d7d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 19:53:50 +01:00
Michael Niedermayer
4ce67c961c Merge commit 'a536a4e4bc52d05f59869761337452fb1f1977f6'
* commit 'a536a4e4bc52d05f59869761337452fb1f1977f6':
  lavc: support extracting audio service type from side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:50:47 +01:00
Michael Niedermayer
6d34665c76 Merge commit '32125781487411ed3b1b28b32063d6cd4024d4fc'
* commit '32125781487411ed3b1b28b32063d6cd4024d4fc':
  mov: export audio service type as side data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:32:23 +01:00
Michael Niedermayer
0bdcc27d95 Merge commit '4227e4fe7443733fb906f6fb6c265105e8269c74'
* commit '4227e4fe7443733fb906f6fb6c265105e8269c74':
  lavf: add a convenience function for adding side data to a stream

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:16:42 +01:00
Michael Niedermayer
62a82c66cd Merge commit '728685f37ab333ca35980bd01766c78d197f784a'
* commit '728685f37ab333ca35980bd01766c78d197f784a':
  Add a side data type for audio service type.

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavutil/frame.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:03:43 +01:00
Michael Niedermayer
b44456c908 Merge commit '80a11de7dca315505bf203ce9c8c016e71724fd2'
* commit '80a11de7dca315505bf203ce9c8c016e71724fd2':
  nutenc: do not use has_b_frames

Conflicts:
	libavformat/nutenc.c
	tests/ref/lavf/nut
	tests/ref/seek/lavf-nut

Mostly not merged, this is simply not correct

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 17:52:06 +01:00
Michael Niedermayer
3c831fba08 Merge commit 'e44b58924fe7b180bf8b0c277c15d1a58210a0e9'
* commit 'e44b58924fe7b180bf8b0c277c15d1a58210a0e9':
  lavc: deprecate unused AVCodecContext.stream_codec_tag

Conflicts:
	libavcodec/mpegvideo.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 17:08:40 +01:00
Michael Niedermayer
a764402394 avcodec/h263dec: Try to use codec_tag instead of the stream_codec_tag
If this causes problems then the stream_codec_tag should be enabled again

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 17:03:42 +01:00
Vittorio Giovara
8805589b80 libopencv: Rework error handling in parse_iplconvkernel()
Fix 'values' memory leak in case of error.

CC: libav-stable@libav.org
Bug-Id: CID 739879
2015-01-27 15:26:37 +00:00
Vittorio Giovara
607ad990d3 dvbsubdec: check memory allocations and propagate errors 2015-01-27 15:26:37 +00:00
Vittorio Giovara
e71149a7a5 nuv: validate image size
Avoid a division by zero.

CC: libav-stable@libav.org
Bug-Id: CID 717750
2015-01-27 15:26:37 +00:00
Vittorio Giovara
7c51d79ca7 nsvdec: validate channels and samplerate
Avoid a division by zero.

CC: libav-stable@libav.org
Bug-Id: CID 717749
2015-01-27 15:26:37 +00:00
Michael Niedermayer
be023405a7 Merge commit 'f771b3ab5d3c0b763ee356152be550f4121babd0'
* commit 'f771b3ab5d3c0b763ee356152be550f4121babd0':
  avidec: do not export stream_codec_tag

Conflicts:
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 16:17:42 +01:00
Michael Niedermayer
392080cbe5 Merge commit '167e004e1aca7765686ed95d7cd8ea5064d4f6f6'
* commit '167e004e1aca7765686ed95d7cd8ea5064d4f6f6':
  h264: drop any pretense of support for data partitioning

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 16:03:23 +01:00
Michael Niedermayer
f25f15b6e1 Merge commit '58ae8d595724150c407ca2c2df3aa4bd5580397c'
* commit '58ae8d595724150c407ca2c2df3aa4bd5580397c':
  h264_parser: restore a comment lost in 0268a54

Conflicts:
	libavcodec/h264_parser.c

No change, the code that is commented is no longer there in the form to
which the comment applied

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 15:24:08 +01:00
Michael Niedermayer
ad3412d028 Merge commit 'ecab21ac47d0d4ca604bebf494017ae5090853a8'
* commit 'ecab21ac47d0d4ca604bebf494017ae5090853a8':
  h264: do not reset the ref lists in flush_change()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 15:15:18 +01:00
Michael Niedermayer
6e57d2da90 Merge commit '9404a47a2d1df418946a338938eb6cdb3afed474'
* commit '9404a47a2d1df418946a338938eb6cdb3afed474':
  h264: move parser-only variables to their own context

Conflicts:
	libavcodec/h264_parser.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 15:08:17 +01:00
Michael Niedermayer
3d04117078 Merge commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094'
* commit 'cf1e0786ed64e69614760bfb4ecd7adbde8e6094':
  error_resilience: move the MECmpContext initialization into ER code

Conflicts:
	libavcodec/error_resilience.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:56:52 +01:00
Michael Niedermayer
a1cdd1f08e Merge commit 'a7e0380497306d9723dec8440a4c52e8bf0263cf'
* commit 'a7e0380497306d9723dec8440a4c52e8bf0263cf':
  avconv_dxva2: add hevc support

See: 5f2cdf9c3c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:46:02 +01:00
Michael Niedermayer
b6938c94d6 Merge commit '7e850fa67e32ebe98581c2e4ca4a4655dee7f116'
* commit '7e850fa67e32ebe98581c2e4ca4a4655dee7f116':
  Add DXVA2 HEVC HWAccel

Conflicts:
	configure
	libavcodec/allcodecs.c
	libavcodec/dxva2_hevc.c

See: 36962ad233
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:25:02 +01:00
Michael Niedermayer
2d4b8af4f6 Merge commit 'b82722df9b2911bd41e0928db4804067b39e6528'
* commit 'b82722df9b2911bd41e0928db4804067b39e6528':
  hevc: reindent after previous commit

Conflicts:
	libavcodec/hevc.c

See: f8ecffa9b7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:22:35 +01:00
Michael Niedermayer
4e40e61287 Merge commit 'e72e8c5a1df61447ac7af750531e96e8b62d02ba'
* commit 'e72e8c5a1df61447ac7af750531e96e8b62d02ba':
  hevc: add hwaccel hooks

Conflicts:
	libavcodec/hevc.c
	libavcodec/hevc_refs.c

See: b2e9b0f5d4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:13:18 +01:00
Michael Niedermayer
2b5fa0e0be Merge commit '4b95e95dbae58c9b60891284bf8b5bbd83e5293a'
* commit '4b95e95dbae58c9b60891284bf8b5bbd83e5293a':
  hevc: store the short term rps flag and size in the context

See: 06894f1a04
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 14:03:26 +01:00
Michael Niedermayer
f35c4f4a17 Merge commit '36779a84051eae6744cc936d91b1d428143665ba'
* commit '36779a84051eae6744cc936d91b1d428143665ba':
  hevc: store the escaped/raw bitstream in HEVCNAL

See: 2af82a1ad9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:56:11 +01:00
Michael Niedermayer
183bffb3a3 Merge commit 'b0593a4bca138f1f026d8c21e8c3daa96800afe2'
* commit 'b0593a4bca138f1f026d8c21e8c3daa96800afe2':
  hevc: pass the full HEVCNAL struct to decode_nal_unit

Conflicts:
	libavcodec/hevc.c

See: 77140279d3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:55:15 +01:00
Michael Niedermayer
e5c28d4f9a Merge commit '3a70c0c95feacb3844d05eebd579fc8189a77eee'
* commit '3a70c0c95feacb3844d05eebd579fc8189a77eee':
  examples/transcode_aac: generate proper PTS and set the muxer timebase

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:35:31 +01:00
Michael Niedermayer
d078d57fb7 Merge commit 'c9b19ac8928c6c9b7f25c3988177204f110d5e0e'
* commit 'c9b19ac8928c6c9b7f25c3988177204f110d5e0e':
  examples/transcode_aac: fix a typo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:29:46 +01:00
Michael Niedermayer
010311d673 Merge commit '749a89d1b8bb73b4d4f14c48f33259a1300c1761'
* commit '749a89d1b8bb73b4d4f14c48f33259a1300c1761':
  examples/transcode_aac: properly select the output sample format

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:21:02 +01:00
Michael Niedermayer
a7fa1b9aa1 Merge commit '443b71928b2f36362e805c037751e6c3c79ea4e8'
* commit '443b71928b2f36362e805c037751e6c3c79ea4e8':
  hevc: unref the current frame if frame_start() fails

Conflicts:
	libavcodec/hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:15:06 +01:00
Michael Niedermayer
74e5a5a849 Merge commit '1dd021929f8157b88529ce1e6ab6351dd2899e89'
* commit '1dd021929f8157b88529ce1e6ab6351dd2899e89':
  hevc: clear unused refs on failure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 13:02:36 +01:00
Michael Niedermayer
ed8de1570d Merge commit 'f9f883af4fe615a832407a657752e248a96c6280'
* commit 'f9f883af4fe615a832407a657752e248a96c6280':
  h264: simplify code in flush_dpb()

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:55:21 +01:00
Hendrik Leppkes
5f2cdf9c3c ffmpeg_dxva2: add hevc support
Reviewed-by: compn <tempn@mi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
36962ad233 Add DXVA2 HEVC HWAccel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
f8ecffa9b7 hevc: reindent after previous commit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
b2e9b0f5d4 hevc: add hwaccel hooks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
06894f1a04 hevc: store the short term rps flag and size in the context
For future use by hardware accelerators.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Hendrik Leppkes
2af82a1ad9 hevc: store the escaped/raw bitstream in HEVCNAL
Hardware Accelerators require access to the escaped bitstream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 12:37:34 +01:00
Stefano Sabatini
afa3c996fe lavfi/lut: apply minor compute_gammaval709() doxy fix 2015-01-27 11:22:45 +01:00
Anton Khirnov
a536a4e4bc lavc: support extracting audio service type from side data 2015-01-27 09:22:33 +01:00
Anton Khirnov
3212578148 mov: export audio service type as side data 2015-01-27 09:21:28 +01:00
Anton Khirnov
4227e4fe74 lavf: add a convenience function for adding side data to a stream 2015-01-27 09:18:32 +01:00
Anton Khirnov
728685f37a Add a side data type for audio service type.
Currently, audio service type is a field in AVCodecContext. However,
side data is more appropriate for this kind of information.
2015-01-27 09:17:48 +01:00
Anton Khirnov
80a11de7dc nutenc: do not use has_b_frames
It is unreliable, especially when the stream codec context is not the
encoding context. Use the codec descriptor properties instead.
2015-01-27 09:15:07 +01:00
Anton Khirnov
e44b58924f lavc: deprecate unused AVCodecContext.stream_codec_tag 2015-01-27 09:14:39 +01:00
Anton Khirnov
f771b3ab5d avidec: do not export stream_codec_tag
Handle its only existing use case internally.
2015-01-27 09:13:45 +01:00
Anton Khirnov
167e004e1a h264: drop any pretense of support for data partitioning
It does not work correctly and apparently never did. There is no
indication that this (mis)feature is ever used in the wild or even that
any software other than the reference supports it.

Since the code that attempts to support it adds some nontrivial
complexity and has resulted in several bugs in the past, it is better to
just drop it.
2015-01-27 09:10:12 +01:00
Anton Khirnov
58ae8d5957 h264_parser: restore a comment lost in 0268a54 2015-01-27 09:09:56 +01:00
Anton Khirnov
ecab21ac47 h264: do not reset the ref lists in flush_change()
They are always constructed anew when needed, so there is no need to
reset them explicitly.
2015-01-27 09:09:29 +01:00
Anton Khirnov
9404a47a2d h264: move parser-only variables to their own context 2015-01-27 09:08:31 +01:00
Anton Khirnov
cf1e0786ed error_resilience: move the MECmpContext initialization into ER code
Currently, it needs to be initialized by the ER caller (which is
currently either a mpegvideo decoder or h264dec). However, since none of
those decoders use MECmpContext for anything except ER, it makes more
sense to handle it purely inside ER.
2015-01-27 09:07:59 +01:00
Hendrik Leppkes
a7e0380497 avconv_dxva2: add hevc support
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:06:05 +01:00
Hendrik Leppkes
7e850fa67e Add DXVA2 HEVC HWAccel
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:31 +01:00
Hendrik Leppkes
b82722df9b hevc: reindent after previous commit
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:25 +01:00
Hendrik Leppkes
e72e8c5a1d hevc: add hwaccel hooks
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:05:08 +01:00
Hendrik Leppkes
4b95e95dba hevc: store the short term rps flag and size in the context
For future use by hardware accelerators.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:59 +01:00
Hendrik Leppkes
36779a8405 hevc: store the escaped/raw bitstream in HEVCNAL
Hardware Accelerators require access to the escaped bitstream.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:44 +01:00
Hendrik Leppkes
b0593a4bca hevc: pass the full HEVCNAL struct to decode_nal_unit
This enables decode_nal_unit to access additional fields added in
subsequent commits.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:04:29 +01:00
Andreas Unterweger
3a70c0c95f examples/transcode_aac: generate proper PTS and set the muxer timebase
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:03:08 +01:00
Andreas Unterweger
c9b19ac892 examples/transcode_aac: fix a typo
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 09:00:23 +01:00
Andreas Unterweger
749a89d1b8 examples/transcode_aac: properly select the output sample format
Makes the example work with all the supported AAC encoders.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-01-27 08:58:47 +01:00
Anton Khirnov
443b71928b hevc: unref the current frame if frame_start() fails
Prevents DPB from filling up with damaged input.
2015-01-27 08:34:56 +01:00
Anton Khirnov
1dd021929f hevc: clear unused refs on failure 2015-01-27 08:34:46 +01:00
Anton Khirnov
f9f883af4f h264: simplify code in flush_dpb()
There is no point in clearing reference explicitly, since that will be
done as a part of ff_h264_unref_picture() right below.
2015-01-27 08:34:24 +01:00
Michael Niedermayer
aa508a9c5f fate: Fix bitexactness for vsynth3-dnxhd-1080i-colr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 03:45:14 +01:00
Michael Niedermayer
f5b3257c50 avfilter/vf_eq: mark src as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 01:46:08 +01:00
Andreas Cadhalpun
f8716d1e56 configure: use ar and ranlib in deterministic mode if available
this makes the static libraries binary reproducible

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 01:15:09 +01:00
Michael Niedermayer
530bf8ece6 avfilter/vf_eq: Fix clipping code
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 23:46:44 +01:00
Michael Niedermayer
5a1e524ba7 Revert "configure: use ar and ranlib in deterministic mode"
This breaks on BSDs

This reverts commit 7e857cd571.
2015-01-26 23:02:01 +01:00
Andreas Cadhalpun
7e857cd571 configure: use ar and ranlib in deterministic mode
this makes the static libraries binary reproducible

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 19:56:40 +01:00
Kevin Wheatley
7b6f419176 avformat/movenc: Add simplistic 'colr' tag writing support to mov container
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 17:49:50 +01:00
James Almer
b8f3b0703c tools/crypto_bench: add Camellia support
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-26 13:37:57 -03:00
Timo Rothenpieler
914fd42b8a avcodec/nvenc: Fix b-frame parameter handling
This should behave similar to x264 and other encoders, as it handles a
gop_size of 0 as Intra-Only, while it's still possible to control how
many B-Frames it inserts.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 15:39:01 +01:00
Michael Niedermayer
fcb18ab8d0 Merge remote-tracking branch 'rdp/dshow_tv_tuner'
* rdp/dshow_tv_tuner:
  dshow: tweak logging
  dshow: crossbar dialog was frequently being displayed twice, split up option so it can be just once
  dshow: alert as to ramifications of switching crossbar routing
  dshow: add properties dialog for tv tuners

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 14:39:25 +01:00
Paul B Mahol
e44a4c1f5f avfitler/vf_fieldmatch: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-26 13:04:53 +00:00
Paul B Mahol
5a919ced0d avfilter/libmpcodecs: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-26 12:14:16 +00:00
Carl Eugen Hoyos
fe47cba7e8 Decode Prores 4444 XQ with the existing Prores decoder.
The frames are said to contain a higher bit-depth but
users report that our decoder shows visually correct output.
Requested by forum user gregba and Christoph Gerstbauer.
2015-01-26 12:05:14 +01:00
Stefano Sabatini
0ca5c4dade lavfi/mp: drop mp=eq and mp=eq2
mp=eq2 was ported to a native libavfilter filter in commit
4c38e960d0.
2015-01-26 11:09:02 +01:00
Paul B Mahol
7ccd625a46 avfilter/vf_eq: fix leak of input frame
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-26 09:43:51 +00:00
rogerdpack
61974c7dcc dshow: tweak logging
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 02:04:30 -07:00
rogerdpack
7c2e262701 dshow: crossbar dialog was frequently being displayed twice, split up option so it can be just once
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 01:29:58 -07:00
rogerdpack
ce1bbb08f1 dshow: alert as to ramifications of switching crossbar routing
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 01:08:09 -07:00
rogerdpack
c55fa2f09b dshow: add properties dialog for tv tuners
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-26 00:28:26 -07:00
James Almer
f4f0619327 fate: add Camellia test
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-26 02:16:28 -03:00
Carl Eugen Hoyos
af39b8fec4 Fix creation of ffprobe-test.nut on remote targets.
This is not sufficient to run "make fate-ffprobe" on a remote system:
The ffprobe output contains the relative path to the testfile, it is
necessary to run the test from the build directory.
One solution is to use a script like the following as --target-exec:
ssh target "cd /remote/build/directory; $(printf "%q " "$@")"
2015-01-26 01:27:38 +01:00
Michael Niedermayer
f994000dc5 LICENSE.md: add vf_eq
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 00:36:17 +01:00
Arwa Arif
4c38e960d0 avfilter: Port mp=eq/eq2 to lavfi
Code adapted from James Darnley's port
Some fixes from Paul B Mahol <onemda@gmail.com>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-26 00:14:04 +01:00
Christophe Gisquet
7aeafacfd0 x86/sbrdsp: Use different mem moves
Before
2843 decicycles in ff_sbr_autocorrelate_sse3, 262086 runs, 58 skips

After
2693 decicycles in ff_sbr_autocorrelate_sse3, 262117 runs, 27 skips

Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-25 18:20:43 -03:00
James Almer
449b21bfab x86/sbrdsp: add ff_sbr_autocorrelate_{sse,sse3}
2 to 2.5 times faster.

Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-25 18:20:39 -03:00
Michael Niedermayer
961353d842 avfilter/vf_mcdeint: Set no_bitstream=1
This avoids unneeded writing of the bitstream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 19:00:07 +01:00
Michael Niedermayer
ec28cdedde avfilter/vf_mcdeint: fix gop_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 16:00:46 +01:00
Michael Niedermayer
fd048e690b avfilter/vf_uspp: fix gop_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 15:58:28 +01:00
Michael Niedermayer
49456ed606 avfilter/vf_uspp: Use FF_CEIL_RSHIFT() correct rounding of odd w/h
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 15:58:18 +01:00
Michael Niedermayer
da048c6d24 avformat/movenc: Check failure of allocation of ctts_entries and propagate error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 14:32:22 +01:00
Michael Niedermayer
47785b44b5 avformat/movenc: fix cleanup on insufficient reserved_moov_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 14:28:43 +01:00
Michael Niedermayer
c50ddc10b2 doc/APIchanges: fill in the remaining missing dates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 14:16:31 +01:00
Michael Niedermayer
85d7e02e4a ffmpeg: allow overriding and amending AVStream->disposition
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 01:27:21 +01:00
Michael Niedermayer
a1062e1437 avformat/matroskadec: Use av_malloc_array() for index_entries
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 00:26:53 +01:00
Michael Niedermayer
c1cdce5dcb avformat/matroskadec: Check av_mallocz() return values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-25 00:26:39 +01:00
Philip Langdale
ff0c559329 nvenc: Propagate desired number of reference frames.
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 22:59:54 +01:00
Michael Niedermayer
15848c623d avdevice/dshow_crossbar: Avoid mixing declarations and statements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 18:44:40 +01:00
Hendrik Leppkes
77140279d3 hevc: pass the full HEVCNAL struct to decode_nal_unit
This enables decode_nal_unit to access additional fields added in
subsequent commits.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 17:49:27 +01:00
Michael Niedermayer
1296dc6025 avutil/pixdesc: rewrite AV_PIX_FMT_FLAG_PSEUDOPAL documentation
It seems many people do not understand its current documentation

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 14:07:00 +01:00
Michael Niedermayer
c651a1aaec doc/APIchanges: Fill in remaining missing hashes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 13:18:15 +01:00
Christophe Gisquet
ba6888c0e3 ffmpeg_opt: expand format for strftime
While the shortened format specifiers are valid C99 ones, they are
not supported by e.g. some Visual Studio runtimes (and thus mingw).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 13:05:15 +01:00
Reynaldo H. Verdejo Pinochet
2699a37816 ffserver: reflow find_stream_in_feed()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:22:09 -03:00
Reynaldo H. Verdejo Pinochet
197acee767 ffserver: reindent handle_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:22:04 -03:00
Reynaldo H. Verdejo Pinochet
eadd66a4af ffserver: reflow handle_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 02:19:08 -03:00
Reynaldo H. Verdejo Pinochet
7d3857b7ab ffserver: reindent http_vlog()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 01:11:58 -03:00
Reynaldo H. Verdejo Pinochet
e97545646a ffserver: reflow http_vlog()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-24 01:10:35 -03:00
Jean First
1f13348f7d lavc/libopenjpegenc: move opj_setup_encoder to libopenjpeg_encode_frame
if the openjpeg parameter tcp_rates is not 0 ( using the ffmpeg compression_level option )
every 2nd image per thread is badly encoded. By moving the opj_setup_encoder function from
libopenjpeg_encode_init to libopenjpeg_encode_frame this can be prevented.

This fixes ticket #3754.

Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-24 00:40:08 +01:00
Michael Niedermayer
76241c9115 Merge remote-tracking branch 'rdp/dshow_crossbar'
* rdp/dshow_crossbar:
  dshow: fix docu escapes
  dshow: some devices only list themselves under "Video sources" but actually have both video and audio output pins, so make the audio pins accessible by video source name.
  dshow: add options for allowing filter popup configuration dialogs to be presented to the user
  dshow: introduce support for crossbar [multiple input selectable] devices
  dshow: drop initial audio packets with weird timestamps
  dshow: use non deprecated api
  dshow: miscellaneous tweaks
  dshow: allow selecting devices by an alternative name (workaround for devices with symbols in them), allow specifying capture pins by name and alternative (unique) name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 23:52:37 +01:00
Michael Niedermayer
a915b1daee Merge commit '3a6dfec864d569c2d0a875e1a7466f51b00edb63'
* commit '3a6dfec864d569c2d0a875e1a7466f51b00edb63':
  segment: Check av_get_frame_filename() return value

Conflicts:
	libavformat/segment.c

No changes as there was no unchecked av_get_frame_filename() in segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 23:16:03 +01:00
Michael Niedermayer
0c00e734ef Merge commit '7915e6741dbe1cf3a8781cead3e68a7666de14f4'
* commit '7915e6741dbe1cf3a8781cead3e68a7666de14f4':
  hlsproto: Properly close avio buffer in case of error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 22:27:48 +01:00
Michael Niedermayer
da304c529b Merge commit '4c5fa628da099dbb598c93bc4555b8733d2c3035'
* commit '4c5fa628da099dbb598c93bc4555b8733d2c3035':
  mov: Do not compute negative SAR values

Conflicts:
	libavformat/mov.c

See: e32b07aea4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 22:21:12 +01:00
Michael Niedermayer
e40cdf8604 Merge commit '2a06c2a03e1205aaeede5af850b9271752ddd4cf'
* commit '2a06c2a03e1205aaeede5af850b9271752ddd4cf':
  mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions

Conflicts:
	libavcodec/mpegvideo_enc.c

See: 1e78679768
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 22:03:21 +01:00
Michael Niedermayer
72d99c8c26 avformat/dv: check av_malloc() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 18:15:43 +01:00
Michael Niedermayer
d36e66bb26 avformat/librtmp: Fix build with --disable-network --enable-librtmp
Found-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 17:45:35 +01:00
rogerdpack
b587ec00f7 dshow: fix docu escapes
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 08:32:27 -07:00
Vittorio Giovara
3a6dfec864 segment: Check av_get_frame_filename() return value
CC: libav-stable@libav.org
Bug-Id: CID 1265713
2015-01-23 14:55:03 +00:00
Vittorio Giovara
7915e6741d hlsproto: Properly close avio buffer in case of error
Fix a memory leak.

CC: libav-stable@libav.org
Bug-Id: CID 717999
2015-01-23 14:55:03 +00:00
Vittorio Giovara
4c5fa628da mov: Do not compute negative SAR values
This partially reverts cf70ba37ba, since
it didn't take into account when rotation is 0, but there is another
valid operation (eg. translation) in the matrix.

Found-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 14:54:59 +00:00
Michael Niedermayer
8c8ee17e8d doc/APIchanges: fill in more missing hash values and dates
all values before 2.5 seem to be filled in now

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 15:11:13 +01:00
Michael Niedermayer
579795b204 avfilter/af_channelmap: Check for missing argument in get_channel_idx()
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 15:03:40 +01:00
rogerdpack
a35da0920d dshow: some devices only list themselves under "Video sources" but
actually have both video and audio output pins, so make the audio pins
accessible by video source name.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:54:48 -07:00
rogerdpack
5d72cf0f64 dshow: add options for allowing filter popup configuration dialogs to be presented to the user
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:49:37 -07:00
rogerdpack
ec81ad21c1 dshow: introduce support for crossbar [multiple input selectable] devices
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:35:16 -07:00
rogerdpack
b76a0e24f9 dshow: drop initial audio packets with weird timestamps
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:13:33 -07:00
rogerdpack
8eb5b5ec6f dshow: use non deprecated api
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:07:24 -07:00
Michael Niedermayer
2a06c2a03e mpegvideo_enc: Draw edges on input for non-multiple of 16 resolutions
This improves motion estimation and avoids using uninitialized data
for resolutions that aren't a multiple of 16.

Prior to d2a25c40, the edges used to be initialized so that encoding
was deterministic, but after that commit it started using uninitialized
data (for non multiple of 16 resolutions).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-23 15:05:49 +02:00
rogerdpack
e620eee88c dshow: miscellaneous tweaks
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 06:01:32 -07:00
rogerdpack
d01234419b dshow: allow selecting devices by an alternative name (workaround for devices with symbols in them), allow specifying capture pins by name and alternative (unique) name
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
2015-01-23 05:38:14 -07:00
Jon Morley
47372caac5 libavformat/mov.c: Handle timecode from tmcd atom in counter mode
When the timecode value is in counter mode then it is important to use
the timescale and frameduration to calculate the timecode fps.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 13:14:15 +01:00
Michael Niedermayer
0982077be5 Merge commit '9108967513fcaff3d55514a7bca4c9fbba128c71'
* commit '9108967513fcaff3d55514a7bca4c9fbba128c71':
  rtspdec: Consistently use rtsp_hd_out for writing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 12:26:47 +01:00
Martin Storsjö
9108967513 rtspdec: Consistently use rtsp_hd_out for writing
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-23 10:33:00 +02:00
Michael Niedermayer
b4f5da2651 avutil/buffer: factor buffer_replace() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 04:45:05 +01:00
Michael Niedermayer
ecd39520b8 avcodec/h264: Partially decode and display single fields try #2
This like the previous attempt does not fully correctly decode this
type of non standard H.264, but it now works fully automatic
requiring no manual filters or flags to be used

See Ticket2254

Reviewed-by: Kieran Kunhya <kierank@obe.tv>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-23 00:47:24 +01:00
Werner Robitza
4b46ce8e91 avformat: allow .264 as extension for raw H.264 stream
In addition to .h264, .264 is also commonly used by people to name raw H.264
streams. Enables automatic recognition of the h264 format for the .264
extension.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 23:13:08 +01:00
Michael Niedermayer
9353ed9e94 Merge commit '6341ab0ad3fde9583138e121f518e21cde15258e'
* commit '6341ab0ad3fde9583138e121f518e21cde15258e':
  libx265: Pass through user-set frame type

See: 41e983f1a6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 22:52:01 +01:00
Michael Niedermayer
e32b07aea4 avformat/mov: Stricter sanity checks on the display_matrix
Fixes "broken" tkhd
Found-by: koda
Tested-by: koda
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 19:52:52 +01:00
Derek Buitenhuis
41e983f1a6 libx265: Pass through user-set frame type
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-22 16:30:27 +00:00
Derek Buitenhuis
6341ab0ad3 libx265: Pass through user-set frame type
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-22 16:29:30 +00:00
Michael Niedermayer
a30fd828ab avfilter/avf_showcqt: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:56:30 +01:00
Michael Niedermayer
f77571f6bb avfilter/drawutils: Check for av_malloc* failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:54:26 +01:00
Michael Niedermayer
c90069c6ba avfilter/drawutils: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:50:30 +01:00
Michael Niedermayer
b942a71eaa avformat/flvenc: accept AVMEDIA_TYPE_SUBTITLE instead of DATA for subtitles
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:26:29 +01:00
Michael Niedermayer
bbdd940f36 doc/APIchanges: Fill in some more missing hash values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 13:09:21 +01:00
Michael Niedermayer
146a2c4e7f avcodec/mpegvideo: also export 0,0 motion vectors
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 12:36:45 +01:00
Michael Niedermayer
b7f8e6dd8c Merge commit '3a724a7f3ba7fa766c6a6f0924a15cc742031b8d'
* commit '3a724a7f3ba7fa766c6a6f0924a15cc742031b8d':
  dashenc: Use inttypes.h macros for format strings instead of %lld

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 12:06:47 +01:00
Michael Niedermayer
526f7ef211 Merge commit '1d8aa23794cc63e9517d5055a2d48040b843b1cf'
* commit '1d8aa23794cc63e9517d5055a2d48040b843b1cf':
  dashenc: Fix format string generation

See: 89684883af
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 11:55:56 +01:00
Rodger Combs
89684883af avformat/dashenc: fix format string generation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-22 11:55:21 +01:00
Martin Storsjö
3a724a7f3b dashenc: Use inttypes.h macros for format strings instead of %lld
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-22 08:49:41 +02:00
Rodger Combs
1d8aa23794 dashenc: Fix format string generation
Previously this always used the "lld" format for all parameters,
not only time parameters.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-22 08:49:39 +02:00
Carl Eugen Hoyos
6c559a0a9d lavc/pnm: Support decoding ya16. 2015-01-22 01:49:04 +01:00
Carl Eugen Hoyos
196dd72bcf lavc/pamenc: Support encoding ya16be. 2015-01-22 01:47:54 +01:00
Carl Eugen Hoyos
c2e36e07cd lavc/tiffenc: Support encoding ya16le. 2015-01-22 01:38:58 +01:00
Carl Eugen Hoyos
c6a36f6931 lavc/pngenc: Support encoding ya16be. 2015-01-22 01:33:05 +01:00
Brian Brice
f845ae0c8e librtmp: Allow changing the socket send buffer size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 22:24:28 +01:00
Christophe Gisquet
9a9b088d9e libavformat/img2dec: fix warning when !HAVE_GLOB
Variables are unused in this case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:51:28 +01:00
Michael Niedermayer
5f764f43d2 Merge commit 'da9bffaf08a1173451da1b4e1ae50881e7093642'
* commit 'da9bffaf08a1173451da1b4e1ae50881e7093642':
  doc/platform: Reference only MSYS2 and MinGW-w64

Conflicts:
	doc/platform.texi

See: 6c906ded38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:35:11 +01:00
Michael Niedermayer
f30798584f swscale/input: fix rgba64 alpha non native
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:21:00 +01:00
Michael Niedermayer
95d04690aa swscale/input: Fix alpha of YA16 input
Fixes Ticket4278

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:21:00 +01:00
Michael Niedermayer
fdb9399681 avfilter/vf_showinfo: show timebase & framerate too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 21:21:00 +01:00
Paul B Mahol
7849ce438e avfilter/vf_lenscorrection: support 8bit planar RGB formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-21 18:05:51 +00:00
Derek Buitenhuis
6c906ded38 doc/platform: Reference only MSYS2 and MinGW-w64
It's better to steer users at these, since they are both better
and more alive than the mingw.org versions.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-21 13:58:02 +00:00
Derek Buitenhuis
da9bffaf08 doc/platform: Reference only MSYS2 and MinGW-w64
It's better to steer users at these, since they are both better
and more alive than the mingw.org versions.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-01-21 13:57:03 +00:00
Michael Niedermayer
0d64982828 doc/APIchanges: fill in and correct some values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 14:24:08 +01:00
Michael Niedermayer
f7a1c5e4d2 doc/APIchanges: Add av_find_best_pix_fmt_of_2() and av_get_pix_fmt_loss()
also add deprecation note for avcodec_get_pix_fmt_loss(), avcodec_find_best_pix_fmt_of_2()

Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 14:14:46 +01:00
agathah
dac91bb4c3 avcodec/nvenc: set repeatSPSPPS flag for streaming
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 13:59:35 +01:00
Michael Niedermayer
47111d366d ffprobe: fix memleaks on errors
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 13:51:26 +01:00
Andreas Cadhalpun
840c3c0531 libavcodec/ppc/mpegvideoencdsp.c: fix stack smashing in pix_norm1_altivec() and pix_sum_altivec()
The vec_ste calls were mistakenly changed to vec_vsx_st in c5ca76a, which
caused stack smashing.

Changing them back fixes crashes on ppc64el, when configured with
--toolchain=hardened.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-21 03:20:41 +01:00
Michael Niedermayer
6c9dfa5a1b Merge commit '440119b18836887d98c9e337c5911563bb43588c'
* commit '440119b18836887d98c9e337c5911563bb43588c':
  libopenh264enc: Move a declaration of a variable into an ifdef

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 21:55:23 +01:00
Michael Niedermayer
87c4a80e56 Merge commit 'bba02479260d0e7dec8c530a7e75a1c7aa53c06e'
* commit 'bba02479260d0e7dec8c530a7e75a1c7aa53c06e':
  libopenh264enc: Remove a workaround for silencing warnings about unused variables in the OpenH264 header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 21:15:25 +01:00
Michael Niedermayer
9cbaf5849b Merge commit 'ea3fc9fe68752eb1b9078b28bea18a1e781d1c2c'
* commit 'ea3fc9fe68752eb1b9078b28bea18a1e781d1c2c':
  smoothstreamingenc: Add a missing "goto fail"

See: f2e12f8942
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 21:09:20 +01:00
Paul B Mahol
f191c98e4d avfilter/af_join: swap av_mallocz_array() args for consistency with the prototype
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 16:52:30 +00:00
Paul B Mahol
357c6a92bc avfilter/af_join: Use av_mallocz_array()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 16:45:19 +00:00
Michael Niedermayer
081e117bfe avfilter/af_ashowinfo: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 17:00:16 +01:00
Michael Niedermayer
48895a23fc avdevice/alsa-audio-common: Use *alloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 17:00:16 +01:00
Paul B Mahol
be1b8b4da5 fix Makefile: remove ilpack
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 15:48:43 +00:00
Paul B Mahol
fd33658f86 lavfi: remove mp=ilpack
Filter does not work, asserts here.
scale=interl=1,format=yuv422p should be used instead.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-20 15:36:31 +00:00
Martin Storsjö
440119b188 libopenh264enc: Move a declaration of a variable into an ifdef
This avoids needing an attribute for silencing warnings about
it being unused.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-20 15:02:50 +01:00
Martin Storsjö
bba0247926 libopenh264enc: Remove a workaround for silencing warnings about unused variables in the OpenH264 header
The 1.3 release branch of OpenH264 (as well as the master branch)
have been updated so that GCC no longer warns about this variable
as being unused.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-20 15:02:38 +01:00
Anshul Maheshwari
1013c15f72 changed name of erase_display_memory to screen_changed
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:40:07 +01:00
Anshul Maheshwari
d6d354254f Initilaize array to known size
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:39:39 +01:00
Anshul Maheshwari
88ba88e887 CHAR_DEBUG to av_dlog
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:39:32 +01:00
Anshul Maheshwari
012559f2bb Cosmetic changes in cc_caption
Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 14:39:15 +01:00
Michael Niedermayer
ff5b9a1cbe Revert "avcodec/h264: also show frames with missing fields when CODEC_FLAG2_SHOW_ALL is set"
Fixes regression
Fixes Ticket4274

Suggested-by: kierank

This reverts commit fe439c2069.
2015-01-20 02:51:33 +01:00
Michael Niedermayer
7873f9aa72 avcodec/snowdec: AVMotionVector support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 01:16:25 +01:00
Michael Niedermayer
e069a4bf20 avcodec/snowdec: set AVFrame.pict_type correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-20 01:10:37 +01:00
Michael Niedermayer
ea3fc9fe68 smoothstreamingenc: Add a missing "goto fail"
This goto wasn't necessary originally, but it should have been
added when the write_manifest call was added in 8e276378.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-19 22:31:08 +02:00
Michael Niedermayer
5c1a8d3b7d avfilter/vf_idet: factorize av_frame_free(&idet->prev)
Found-by: Pascal Massimino <pascal.massimino@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 20:24:03 +01:00
wm4
e0e33ebe6b h264: unref leaking error recovery picture
This leaked a frame on each avcodec_flush_buffers() call, if frame
threading was enabled. It caused severe memory usage in player if you
were seeking a lot.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 20:11:39 +01:00
Michael Niedermayer
f9a5a89bbf avcodec/xsubdec: Check av_mallocz() return codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 17:15:15 +01:00
Michael Niedermayer
438c0a665a avcodec/xan: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 17:12:09 +01:00
Michael Niedermayer
6c702c3c63 avfilter/avfilter: allow idet like scale to have parameter changes
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 06:03:57 +01:00
Michael Niedermayer
56a33b232c avfilter/vf_idet: flush internal buffers on parameter changes
This is needed to auto insert the filter by default

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 06:03:57 +01:00
Michael Niedermayer
723c37d3b7 avfilter/vf_idet: reduce noisyness if the filter has been auto inserted
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 05:14:15 +01:00
Michael Niedermayer
90c98994f6 ffmpeg: Reduce noisiness of frame clipping in rate convertion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 03:51:43 +01:00
Michael Niedermayer
a582705d15 ffmpeg: Favor filter graph based duration over ost->frame_rate in fps code
The fate change adds a last frame with a subtitle not displayed in the previous

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 03:13:16 +01:00
Michael Niedermayer
bf8bcd3b2b avdevice/openal-dec: Check the return code of av_new_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-19 00:34:18 +01:00
Mark Reid
b396914c68 libavformat/mxfdec.c: support demuxing opatom audio without index
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 22:02:58 +01:00
Michael Niedermayer
79888388e7 avcodec/svq1enc: fix error handling/cleanup in case of ff_get_buffer() or scratchbuffer alloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 21:25:06 +01:00
Michael Niedermayer
2a3af77284 avcodec/svq1enc: Check memory allocations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 21:21:44 +01:00
Michael Niedermayer
65b83ce01b avformat/rmdec: Check the return value of av_get_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 20:55:49 +01:00
Michael Niedermayer
8d7ce5cdb7 avformat/nsvdec: Check the return value of av_get_packet()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 20:53:25 +01:00
Muhammad Faiz
eba5cb2028 avfilter/showcqt: add gamma2 option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 05:15:15 +01:00
Michael Niedermayer
dff6c9250b avcodec/mpegvideo_parser: Check the ff_set_dimensions() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 05:08:30 +01:00
Michael Niedermayer
741fa0493b avcodec/mpegvideo_parser: more robust dimension setup
Before this missing seq headers could have led to wrong dimensions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-18 04:52:28 +01:00
Clément Bœsch
14f3e8b821 avformat/sbgdec: remove double ;; 2015-01-18 00:36:56 +01:00
Clément Bœsch
fa6c9e54df avdevice/pulse_audio_dec: remove double ;; 2015-01-18 00:35:04 +01:00
Clément Bœsch
4d028bf202 avcodec/vp8: remove double ;; 2015-01-18 00:34:19 +01:00
Clément Bœsch
ca3c7be7c6 avcodec/tiffenc: remove double ;; 2015-01-18 00:33:06 +01:00
Michael Niedermayer
ab161bfa4b avformat/asfdec: Check the av_get_packet() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 20:40:21 +01:00
Michael Niedermayer
4adf75cade avformat/rtpdec_hevc: Fix 2 "may be used uninitialized in this function" warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 20:40:21 +01:00
Timo Rothenpieler
bc3f76779b avcodec/nvenc: Add support for nvenc api version 5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 18:24:34 +01:00
Michael Niedermayer
8de0990e9f avcodec/dvbsubdec: Check get_region() return value
Fixes null pointer dereference with DEBUG enabled

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 16:33:02 +01:00
Michael Niedermayer
edf1cb7aee avformat/nsvdec: Check av_get_packet() return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 16:27:18 +01:00
Michael Niedermayer
e0623953e1 avfilter/vf_frei0r: fix build with DEBUG enabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 15:41:23 +01:00
Michael Niedermayer
353cf95f94 avfilter/vf_frei0r: also set AVFilterLink.frame_rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 14:46:21 +01:00
Michael Niedermayer
f8ff76199c avcodec/mss12: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 13:01:26 +01:00
Michael Niedermayer
1f4ef3ccae avcodec/libopusenc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 12:58:56 +01:00
Michael Niedermayer
7532f0e14c avcodec/libmp3lame: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 12:56:19 +01:00
Michael Niedermayer
c4d85fc23c avcodec/flac_parser: fix handling EOF if no headers are found
Fixes assertion failure
Fixes Ticket4269

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 01:56:03 +01:00
Michael Niedermayer
040e5703e6 avcodec/flac_parser: print error messages in case of errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-17 01:40:39 +01:00
Michael Niedermayer
f96148913b Fix precission typos
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 22:42:42 +01:00
Michael Niedermayer
a46a23d30f avfilter/vf_framepack: Check and update frame_rate
The frame_rate update was missing leaving the output frame rate
wrong.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 22:02:52 +01:00
Michael Niedermayer
d3d9a00bcd ffmpeg: Use filter graph output frame rate also for frame duration estimation
Previously the duration was sometimes wrong, this addition
limits the value and improves which frames are choosen when
reducing the frame rate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 20:33:08 +01:00
Michael Niedermayer
7b32856011 ffmpeg: Maintain higher precision pts between video filter and fps code
This is a bit ugly as it attempts to keep most of the computation
in integers before the double based fps code. The use of integers
is to reduce the chances of rounding differences between platforms

Previously the timestamp was rounded to the encoder timebase
before being converted back to double precision which could cause loss
of precision

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 19:53:17 +01:00
Michael Niedermayer
261e8ccbd1 ffmpeg: drop redundant frame_pts value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 16:42:20 +01:00
Michael Niedermayer
2d0440f93f Merge commit '3941df546276b190cc9362fd093e6721e8e52f50'
* commit '3941df546276b190cc9362fd093e6721e8e52f50':
  aea: Return proper error code on invalid header

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 14:20:37 +01:00
Michael Niedermayer
aee51ee8b9 Merge commit '2df7277711cbe3ca5415ff8e31228dcffa309211'
* commit '2df7277711cbe3ca5415ff8e31228dcffa309211':
  swscale: fix gbrap to gbrap alpha scaling

Conflicts:
	libswscale/input.c
	tests/ref/fate/filter-pixfmts-scale

Not merged, the code works fine as is and does not work with this
change

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 13:53:34 +01:00
Michael Niedermayer
a0aa3eaafc Merge commit '89df3fd49e9992441f680326902b4912d79f514f'
* commit '89df3fd49e9992441f680326902b4912d79f514f':
  swscale: fix warning about incompatible function pointer type

Not merged, this change is incorrect for FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 12:51:10 +01:00
Nidhi Makhijani
3941df5462 aea: Return proper error code on invalid header 2015-01-16 10:35:02 +01:00
Anshul Maheshwari
bb0344dc55 ffmpeg: improve data stream support
This adds data codec/stream handling where previously there was only
audio/video/subtitles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 02:52:04 +01:00
Vittorio Giovara
2df7277711 swscale: fix gbrap to gbrap alpha scaling 2015-01-16 02:47:15 +01:00
Vittorio Giovara
89df3fd49e swscale: fix warning about incompatible function pointer type 2015-01-16 02:47:10 +01:00
Anshul Maheshwari
a47c9331ef avformat: Improve data streams/codec support
This adds data codec/stream handling where previously there was only
audio/video/subtitles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 02:24:08 +01:00
Michael Niedermayer
ba97cf2c45 avdevice: Use av_format_get_control_message_cb()
This is required as the location of this field could change and is
specified in libavformat not avdevice

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 02:13:01 +01:00
raxon1s
4184d344af ffmpeg: Add bitrate value under -progress action
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-16 00:31:08 +01:00
Michael Niedermayer
2c22042aa0 avcodec/g2meet: Use av_mallocz_array() for framebuffer allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 23:04:59 +01:00
Michael Niedermayer
5989a2b24f avcodec/g722enc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 23:02:43 +01:00
Michael Niedermayer
71bd6ea0fa avcodec/flashsv2enc: use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 23:00:52 +01:00
Michael Niedermayer
e7d85186d6 avcodec/parser: Check that the parser return code is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 20:58:58 +01:00
Michael Niedermayer
6c3cb02a74 avcodec/flac_parser: Check for av_malloc() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
5f964c6027 avcodec/flac_parser: Use sizeof(variable) instead of sizeof(type)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
ec9935b288 avutil/pixfmt: Support the AV_PIX_FMT_GBRAP* formats with AV_HAVE_INCOMPATIBLE_LIBAV_ABI
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
46b0fce627 avutil/pixfmt: Document the duplicated AV_PIX_FMT_GBRAP* formats
This is similar to the other duplicated cases

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Michael Niedermayer
b0be6d8385 avformat/id3v2: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 17:09:39 +01:00
Clément Bœsch
a83398c8d2 doc: fix showpalette position 2015-01-15 16:40:02 +01:00
Clément Bœsch
f532603993 avfilter: add showpalette filter 2015-01-15 16:36:13 +01:00
agathah
72c61c272c avcodec/nvenc: fix b frame settings
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 16:29:25 +01:00
Michael Niedermayer
6e69bf4a7e Merge commit '024e5a2d5ff8a94adce48abb15ce2fb471f9d18e'
* commit '024e5a2d5ff8a94adce48abb15ce2fb471f9d18e':
  rtmppkt: Repeat the full 32 bit timestamp for chunking continuation packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 14:45:29 +01:00
Michael Niedermayer
330e892c08 Merge commit 'def69553e745e007925147b2e7e4b32c57d08fdf'
* commit 'def69553e745e007925147b2e7e4b32c57d08fdf':
  h264_cabac: Break infinite loops

Conflicts:
	libavcodec/h264_cabac.c

See: cdf0877bc3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 14:32:33 +01:00
Michael Niedermayer
2bc841815c Merge commit '402fb5550e36dd994b13941ef5499f9087afd345'
* commit '402fb5550e36dd994b13941ef5499f9087afd345':
  opus_parser: drop unused variable

See: 74141f693d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:55:42 +01:00
Michael Niedermayer
c5eb725fd3 Merge commit '8a9641a652ed1546fedfda22584f79d3d423096e'
* commit '8a9641a652ed1546fedfda22584f79d3d423096e':
  bsf: check memory allocations

Conflicts:
	libavcodec/noise_bsf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:47:12 +01:00
Michael Niedermayer
9fb5a91c66 Merge commit '014b6b416fec89777cb9cff61bcf7896eaf7cf39'
* commit '014b6b416fec89777cb9cff61bcf7896eaf7cf39':
  vp8: improve memory allocation checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:10:48 +01:00
Michael Niedermayer
eb215be9ce Merge commit '54bc15d5ebfd07fd468743ba29f709ea19e840b9'
* commit '54bc15d5ebfd07fd468743ba29f709ea19e840b9':
  id3v2: fix reading v2.2 attached pictures

Conflicts:
	libavformat/id3v2.c

See: 05c3c568dc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 13:01:40 +01:00
Michael Niedermayer
24c76bae5f Merge commit '932788be5af8dee062c77851b573ea47dd6d047a'
* commit '932788be5af8dee062c77851b573ea47dd6d047a':
  id3v2: add names to the parameters of ID3v2EMFunc.read

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 12:53:53 +01:00
Michael Niedermayer
7eef45a76f avformat/id3v2: Fix incompatible pointer type warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 12:46:13 +01:00
Michael Niedermayer
06ec2f1d32 Merge commit '8809c974a3fb51f96e498a5556a4a5bbacc581ce'
* commit '8809c974a3fb51f96e498a5556a4a5bbacc581ce':
  id3v2: constify the 'tag' parameter to special metadata parsing callback

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 12:45:20 +01:00
Clément Bœsch
3b3229aef3 avfilter/edgedetect: fix indent 2015-01-15 11:39:41 +01:00
Martin Storsjö
024e5a2d5f rtmppkt: Repeat the full 32 bit timestamp for chunking continuation packets
This fixes sending chunked packets (packets larger than the output
chunk size, which often can be e.g. 4096 bytes) with a timestamp delta
(or absolute timstamp, if it's a timestamp step backwards, or the
first packet of the stream) larger than 0xffffffff.

The RTMP spec explicitly says (in section 5.3.1.3.) that packets of
type 3 (continuation packets) should include this field, if the
previous non-continuation packet had it included.

The receiving code handles these packets correctly.

Pointed out by Cheolho Park.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-15 10:20:18 +02:00
Michael Niedermayer
def69553e7 h264_cabac: Break infinite loops
This fixes out of array reads and/or infinite loops.

30 is the maximum number of bits that can be read into
coeff_abs below.

CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-15 10:17:01 +02:00
Michael Niedermayer
3779973a9b Merge commit 'f86f39cb9b1fcd063d5e4812132a75c06cc7acd2'
* commit 'f86f39cb9b1fcd063d5e4812132a75c06cc7acd2':
  tiff: support decoding GBRP and GBRAP formats

Conflicts:
	libavcodec/tiff.c

See: 379ad9788b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 06:11:32 +01:00
Michael Niedermayer
27513846f6 Merge commit '928061670e873e816daa14827853b7e11221ff5f'
* commit '928061670e873e816daa14827853b7e11221ff5f':
  libswscale: GBRAP input & output and GBRAP16 input support

Conflicts:
	libswscale/input.c
	libswscale/swscale_internal.h
	libswscale/swscale_unscaled.c
	libswscale/utils.c
	tests/ref/fate/filter-pixdesc-gbrap
	tests/ref/fate/filter-pixfmts-copy
	tests/ref/fate/filter-pixfmts-null
	tests/ref/fate/filter-pixfmts-scale
	tests/ref/fate/filter-pixfmts-vflip

See: 5c057433cc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:47:25 +01:00
Michael Niedermayer
5edbd4f410 Merge commit '9a4aaae3b29392b6d74997e06be249d7d54a7394'
* commit '9a4aaae3b29392b6d74997e06be249d7d54a7394':
  lavc: add GBRAP to avcodec_align_dimensions2

See: 5c057433cc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:45:48 +01:00
Michael Niedermayer
ada0fc4efa Merge commit '0e6c7dfa650e8b0497bfa7a06394b7a462ddc33a'
* commit '0e6c7dfa650e8b0497bfa7a06394b7a462ddc33a':
  lavu: add planar 16 bit and 8 bit rgb with alpha

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

See: e6d4e68755
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:24:01 +01:00
Michael Niedermayer
55dc253c24 Merge commit 'e2ad0b66fa273c5c823978e8f601f2c0d9ee42f8'
* commit 'e2ad0b66fa273c5c823978e8f601f2c0d9ee42f8':
  imgutils: create misc functions for dealing with buffers

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/avpicture.c
	libavutil/imgutils.c
	libavutil/imgutils.h
	libavutil/version.h

See: e6674e46ec
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:07:25 +01:00
Michael Niedermayer
cc18ea8de0 avformat/mov: Do not set aspect ratios that would contain zeros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 04:26:16 +01:00
Michael Niedermayer
47795505ac avformat/mov: rewrite aspect from matrix code
The original code was intended purely for rotation == 0
In cf70ba37ba the condition was
changed to use it only for rotation != 0
which broke the cases for which it was intended to be used
as well as breaking cases for which it was not intended to be
used.
This changes the code so it could work for the more general
case and fixes the regressions
If you have sample files that are not handled correctly
please open tickets or mail me!

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 04:22:00 +01:00
Michael Niedermayer
89b6382bec Merge commit 'cf70ba37ba74089a18295b29e77dead0a3222c9e'
* commit 'cf70ba37ba74089a18295b29e77dead0a3222c9e':
  mov: Check angle rather than full matrix when updating SAR

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 04:00:51 +01:00
Michael Niedermayer
cd960c8a4f Merge commit '1e763454322f7fbc7799f6009bf2e11d7a3b9821'
* commit '1e763454322f7fbc7799f6009bf2e11d7a3b9821':
  png: improve signature check

Conflicts:
	libavcodec/pngdec.c

See: 8a08503b78
See: 0a3589bf2f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 02:54:04 +01:00
Michael Niedermayer
140dfd14fd Merge commit '456ffec35d55288d589aa1901919e038c3427f30'
* commit '456ffec35d55288d589aa1901919e038c3427f30':
  img2dec: correctly use the parsed value from -start_number

No change, start_number works fine without this change
and does not work with it

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 02:35:28 +01:00
Vittorio Giovara
402fb5550e opus_parser: drop unused variable 2015-01-15 01:25:16 +01:00
Vittorio Giovara
8a9641a652 bsf: check memory allocations 2015-01-15 01:25:16 +01:00
Vittorio Giovara
014b6b416f vp8: improve memory allocation checks
Check memory earlier, check one more allocation and clean up on error.

CC: libav-stable@libav.org
Bug-Id: CID 1257773
2015-01-15 01:25:07 +01:00
Michael Niedermayer
3cfd07a53f fate: add qp filter test
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 20:45:50 +01:00
Paul B Mahol
baea14d860 avfilter: port qp filter from libmpcodecs
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 18:46:38 +01:00
Anton Khirnov
54bc15d5eb id3v2: fix reading v2.2 attached pictures
In v2.2, the picture type is not a zero-terminated string, but has a
constant size of 3 bytes.
2015-01-14 17:17:24 +01:00
Anton Khirnov
932788be5a id3v2: add names to the parameters of ID3v2EMFunc.read
Some of them are not immediately obvious.
2015-01-14 17:17:24 +01:00
Anton Khirnov
8809c974a3 id3v2: constify the 'tag' parameter to special metadata parsing callback
Those functions should not ever modify it.
2015-01-14 17:17:24 +01:00
Paul B Mahol
f86f39cb9b tiff: support decoding GBRP and GBRAP formats
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Paul B Mahol
928061670e libswscale: GBRAP input & output and GBRAP16 input support
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Paul B Mahol
9a4aaae3b2 lavc: add GBRAP to avcodec_align_dimensions2 2015-01-14 17:17:24 +01:00
Paul B Mahol
0e6c7dfa65 lavu: add planar 16 bit and 8 bit rgb with alpha
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Stefano Sabatini
e2ad0b66fa imgutils: create misc functions for dealing with buffers
Move the lavc/imgconvert functions and rename them as follows:
  avpicture_get_size -> av_image_get_buffer_size()
  avpicture_fill     -> av_image_fill_arrays()
  avpicture_layout   -> av_image_copy_to_buffer()

The new functions have an align parameter, which allows to define the
linesize alignment assumed in the buffer (which is set or read).

The names of the functions are consistent with the lavu/samples API
(av_samples_get_buffer_size(), av_samples_fill_arrays()).

A redundant check has been dropped from av_image_fill_arrays().

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:24 +01:00
Vittorio Giovara
cf70ba37ba mov: Check angle rather than full matrix when updating SAR
When the display matrix is not the identity one, but the rotation angle
is zero, there is no need to update the sample aspect ratio.

Otherwise, it is possible to obtain negative values which interferes
with transcoding in later stages. This kind of behaviour is reproducible
on mov files with "major_brand: MSNV".

CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-14 17:17:23 +01:00
Vittorio Giovara
1e76345432 png: improve signature check
Return proper error code, print an error message and add missing
parentheses.
2015-01-14 17:10:19 +01:00
Vittorio Giovara
456ffec35d img2dec: correctly use the parsed value from -start_number
Previously the image sequence was always starting from the minimum
number rather than the requested one.

CC: libav-stable@libav.org
2015-01-14 17:10:01 +01:00
Michael Niedermayer
c4f1abecb1 avcodec/sunrast: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 13:35:11 +01:00
Michael Niedermayer
e6f1601d6d avcodec/svq3: Use av_mallocz_array() for emu_edge_buffer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 13:23:57 +01:00
Michael Niedermayer
2493558a06 avcodec/svq3: Check av_mallocs return value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 13:23:20 +01:00
Hendrik Leppkes
a9d700f212 mpegts: identify h264 mvc streams
This fixes missdetecting such streams as something else like AAC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 01:39:16 +01:00
Michael Niedermayer
f2e12f8942 avformat/smoothstreamingenc: Add missing "goto fail"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 00:17:52 +01:00
Michael Niedermayer
8d7d88135c avformat/mpeg: Avoid dead assignment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-14 00:06:43 +01:00
Michael Niedermayer
e172f5e53a avcodec/hevc: Fix handling of skipped_bytes() reallocation failures
Fixes CID1260704

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 20:10:21 +01:00
wm4
921706691a qpeg: avoid pointless invalid memcpy()
If refdata was NULL, the memcpy() ended up copying the same memory
block onto itself, which is not only pointless, but also undefined
behavior.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 17:27:45 +01:00
Michael Niedermayer
295b79b5d8 avcodec/roqvideoenc: Check for av_malloc_array() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 15:14:27 +01:00
Michael Niedermayer
88a46fa8c9 avcodec/snowenc-test: use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 15:04:15 +01:00
Michael Niedermayer
482761b85a avcodec/snowenc-test: check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 15:02:36 +01:00
Stefano Sabatini
c648879827 Changelog: mention the port of various mp PP filters 2015-01-13 13:13:04 +01:00
Arwa Arif
8c7e512ad9 lavfi: remove mp=pp7
The filter was ported to a native libavfilter filter in
a299cd5ab3.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-01-13 13:13:04 +01:00
Stefano Sabatini
57ede2a507 lavfi: use ff_norm_qscale(), factorize 2015-01-13 13:12:58 +01:00
Mark Reid
b23a866844 libavformat/mxfdec.c: export the full UMID as metadata
Previous version reviewed-by: tim nicholson

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-13 01:16:39 +01:00
Michael Niedermayer
fbe8672e15 avcodec/shorten: use av_reallocp_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:46:50 +01:00
Michael Niedermayer
56c7e1059a avcodec/snow: Fix av_malloc* failure checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:46:50 +01:00
Michael Niedermayer
13871a95d0 avcodec/snow: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:36:00 +01:00
Michael Niedermayer
24222cc1d5 avcodec/opus_imdct: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 23:36:00 +01:00
Mark Reid
b08b5f4be2 libavformat/mxfdec.c: read project_name metadata
MXF files generated by Media Composer or LibMXF can contain a
project name property in the Preface. Lots of existing samples have them.

http://samples.ffmpeg.org/MXF/issue2160/PW0805A0V01.4C5B5636.EFA330.mxf
project_name    : DNX145 PW Test

http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket3450/WriteAvidMXFgenerated/5502_0010_v1.mxf
project_name    : Rombus

http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket3100/1sec_mxf_test_Video5270C795.mxf
project_name    : NVB_DOOD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 20:26:58 +01:00
James Almer
59ac93f6af x86/swr: add SSE/AVX unpack_6ch functions
int32/float only

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-12 15:40:03 -03:00
Lou Logan
e9f8780381 doc/general: update libilbc link
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-01-12 09:32:06 -09:00
James Almer
3aaff80348 avutil/opencl: don't include config.h
It's not an installed header.

Tested-by: Thilo Borgmann <thilo.borgmann@mail.de>
Tested-by: Wei Gao <highgod0401@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-12 13:49:56 -03:00
Michael Niedermayer
365ef88d5d avcodec/wma: Print more details in case of spectral RLE overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 13:56:13 +01:00
Michael Niedermayer
4f664d8aae avcodec/ccaption_dec: Fix typos and cosmetics
Found-by: ubitux
(rest of found stuff left to the author to decide which way to fix)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 13:43:53 +01:00
Michael Niedermayer
e2db9a736f avcodec/wmadec: fix 0 frame bit_reservoir
Fixes Ticket968
partly fixes Ticket691

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 03:33:16 +01:00
Michael Niedermayer
a8bc901033 avcodec/wmadec: also print the number of bits left in the nb_frames <= 0 case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 03:33:02 +01:00
Michael Niedermayer
843d93d286 doc/codecs: document nomc flag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-12 01:18:01 +01:00
Anshul Maheshwari
78e78f621b Adding Closed caption accessories
Signed-off-by: Anshul Maheshwari <anshul.ffmpeg@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 22:19:48 +01:00
Anshul Maheshwari
4b6262610b Adding Closed caption Support
Signed-off-by: Anshul Maheshwari <anshul.ffmpeg@gmail.com>

To test Closed caption use following command
ffmpeg -f lavfi -i "movie=input.ts[out0+subcc]" -map s output.srt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 22:19:48 +01:00
Lukasz Marek
f463df18bc cmdutils: use av_match_name to filter devices
Device name may be coma-separated list.
Use dedicated funtion to compare.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Lukasz Marek
ea0ac11f1b lavd/v4l2: implement list device callback
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Lukasz Marek
44e6eeb30d cmdutils: use helper functions for listing sinks/sources
List device callback must be able to return valid list without opening device.
This callback should return input values for open function, not vice-versa.
Read header funtion is very likey to fail without proper configuration provided.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Lukasz Marek
007c33df0a lavd/avdevice: introduce helper functions for sink/sources listing
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:26 +01:00
Lukasz Marek
9241e544ff lavd/avdevice: remove av_ prefix from private function
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:54:49 +01:00
Michael Niedermayer
8b13a4d6f0 avcodec/error_resilience: Remove special case for H.264 from is_intra_more_likely
This should not be needed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 17:30:02 +01:00
Michael Niedermayer
855463c007 avcodec/h264: Keep a reference to the last picture for EC
This and the next commit improve error concealment for
green-block-artifacts-from-canon-100-hs.MOV

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 17:30:02 +01:00
Michael Niedermayer
cba199b595 avcodec/options_table: add entries for MPEG4 video profiles
Fixes part of Ticket2901

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 14:55:28 +01:00
Michael Niedermayer
bcfd9f8d7f avcodec/proresdec_lgpl: Use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 13:42:06 +01:00
Michael Niedermayer
4207c5a4ce avcodec/pgssubdec: Use av_malloc*_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 13:41:14 +01:00
Michael Niedermayer
0f08b587fa avcodec/libvo-aacenc: Use av_mallocz_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 13:32:55 +01:00
Carl Eugen Hoyos
a5334d4081 Handle r10k endianess atom DpxE.
Fixes playback and remuxing of r10k_full-range_big-endian.mov.

Reported, analyzed and tested by Olaf Matthes, olaf matthes gmx de
2015-01-11 12:15:03 +01:00
Michael Niedermayer
aa6545e1f3 avformat/hlsenc: more robust error tests
errors are negative throughout ffmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 05:17:44 +01:00
James Almer
6abf00d615 x86/swr: load constants outside the loop in pack_6ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-11 01:11:46 -03:00
Michael Niedermayer
c8f83a4c78 avformat/voc: add seeking support
Fixes Ticket1333

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-11 00:35:01 +01:00
Matt Oliver
87deebe11a avcodec/libvpxenc.c: Fix linking with codec interface with msvc.
Default libvpx msvc buils used module definition to export symbols.
These symbols are exported as pointers to data which dont link when
referenced directly.

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 21:10:02 +01:00
wm4
09b4ad1568 vp9: avoid infinite loop with broken files
With a certain fuzzed file, the parser will always return 0 consumed
bytes, which makes calling code call the parser infinitely. Return the
full packet size on error instead. (Here it would be nice if parsers
could return errors at all.)

Additionally, _if_ there's some data left, return that too, which might
help with somewhat broken but still somehow playable files.

Fixes ticket #4242.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 20:12:36 +01:00
Michael Niedermayer
0898a6d4e4 avcodec/ratecontrol: Check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:29:39 +01:00
Michael Niedermayer
1bf747ae84 avcodec/dvbsubdec: Return proper error codes from more functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:24:27 +01:00
Michael Niedermayer
ebe3a41ea3 avcodec/dvbsubdec: Add some av_malloc() failure checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 19:21:58 +01:00
Michael Niedermayer
a4d3cf10b2 avcodec/diracdec: Check slices malloc and propagate error code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 17:28:22 +01:00
Michael Niedermayer
0b52bdfb3b avfilter/vf_pp7: Add GBRP pixel format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 16:19:16 +01:00
Michael Niedermayer
1673436d85 avfilter/vf_pp7: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 16:19:16 +01:00
Paul B Mahol
241f858cf4 LICENSE.md: mention mpdecimate and not decimate to be GPL
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-10 13:32:55 +00:00
Michael Niedermayer
35e559ae32 avcodec/cavs: Check for av_malloc* failure in ff_cavs_init_top_lines()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 14:02:39 +01:00
Michael Niedermayer
6f838dee3c avformat/movenc: move variable to a more local block
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 04:50:50 +01:00
Andreas Cadhalpun
f97f2a3527 doc/examples: fix lib math dep for decoding_encoding
It uses at least sin().

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 04:50:42 +01:00
Andreas Cadhalpun
6108485cf7 configure: enable vsx together with altivec for ppc64el
The altivec optimizations on little endian ppc64 don't work without vsx.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 04:50:17 +01:00
Michael Niedermayer
7824dc5150 avformat/movenc: workaround bug in "PathScale EKOPath(tm) Compiler Suite Version 4.0.12.1"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 03:43:54 +01:00
Michael Niedermayer
bdb136d302 avfilter/internal: add fixme to ff_norm_qscale() to document obvious scaling issue
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 02:27:49 +01:00
Arwa Arif
4df01d5d44 avfilter: Factorize the use of norm_qscale in pp7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 02:22:02 +01:00
wm4
aab74a38b8 rm: fix memory leak on init failure
AVInputFormat.read_close is not called if AVInputFormat.read_header
fails, so this needs to be handled separately.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 00:26:43 +01:00
Michael Niedermayer
11d8fa5e9d ffserver: Use av_malloc_array()
Reviewed-by: "Reynaldo H. Verdejo Pinochet" <reynaldo@osg.samsung.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 00:17:38 +01:00
James Almer
da02ee127a x86/vf_pp7: port dctB_mmx to yasm
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-09 20:02:27 -03:00
Michael Niedermayer
f95cd5a235 Merge commit '51da7d02748cc54b7d009115e76efa940b99a8ef'
* commit '51da7d02748cc54b7d009115e76efa940b99a8ef':
  matroskaenc: refuse to write AAC without valid extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 21:25:49 +01:00
Michael Niedermayer
1cf0f27985 Merge commit '7e4e010b80e76862e83afbd41c25d50e72f0b44c'
* commit '7e4e010b80e76862e83afbd41c25d50e72f0b44c':
  mpeg4audio: check the init_get_bits() return value

Conflicts:
	libavcodec/mpeg4audio.c

See: deefdf9788
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 20:51:17 +01:00
Michael Niedermayer
aefb99f2c0 avcodec/ass_split: use *alloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 20:33:53 +01:00
Michael Niedermayer
727cb2bda9 avcodec/ass: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 20:33:53 +01:00
Arwa Arif
a299cd5ab3 lavfi: port mp=pp7 to libavfilter
The only difference with mp=pp7 is that default mode is "medium", as stated
in the MPlayer docs, rather than "hard".

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2015-01-09 17:26:31 +01:00
Michael Niedermayer
b1d223301f avformat/hdsenc: Remove redundant NULL pointer checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 15:55:07 +01:00
Michael Niedermayer
0409155261 ffmpeg: remove unneeded NULL pointer check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 15:55:07 +01:00
Michael Niedermayer
323355413d tools/uncoded_frame: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 15:55:07 +01:00
Anton Khirnov
51da7d0274 matroskaenc: refuse to write AAC without valid extradata 2015-01-09 15:51:00 +01:00
Anton Khirnov
7e4e010b80 mpeg4audio: check the init_get_bits() return value
Fixes possible invalid reads.

CC:libav-stable@libav.org
2015-01-09 15:44:31 +01:00
Michael Niedermayer
ef3a6a48b5 avformat/tee: Simplify code by using avio_closep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 13:40:09 +01:00
Michael Niedermayer
643dee846a avformat/sapenc: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 13:39:48 +01:00
Michael Niedermayer
2959a61232 avformat/utils: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 13:39:06 +01:00
wm4
b88e80589b vp9: fix parser return values in error case
The parser must always set the out_size and out_data pointers. The API
seems to require it, and the common code in parser.c also relies on it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 12:34:05 +01:00
Michael Niedermayer
d1c6b7b2d1 configure: fix convoluted shlib code
Fixes Ticket 4199

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 05:04:25 +01:00
Peter Ross
6243845036 avformat/aiffdec: improve readability
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-09 00:50:45 +01:00
Carl Eugen Hoyos
cd3405282c Skip Exif data when auto-detecting jpeg images. 2015-01-09 00:30:02 +01:00
Michael Niedermayer
6d1a2efb8a 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>
2015-01-08 23:02:30 +01:00
Michael Niedermayer
d1d8f866b5 avformat/mlvdec: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
edeaf6f3a4 avformat/mlvdec: Simplify code by using avio_closep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
07e4ed5637 avformat/mov: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
f9ddaa35c7 avformat/rtpenc_chain: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
Michael Niedermayer
e360d030b3 avformat/rtsp: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 20:19:20 +01:00
wm4
816577716b 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>
2015-01-08 17:45:32 +01:00
Michael Niedermayer
3fd3647fdc Merge commit '2dbd35b00c6433e587d5f44d5dbc8972ebbaa88e'
* commit '2dbd35b00c6433e587d5f44d5dbc8972ebbaa88e':
  libfdk-aacdec: Make sure decoding doesn't add any extra delay in the latest version of fdk-aac

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 17:36:48 +01:00
Michael Niedermayer
93870f0a0b Merge commit '3852e2c926ddb166c7aa69c4644a86100ea144d9'
* commit '3852e2c926ddb166c7aa69c4644a86100ea144d9':
  libopenh264enc: Fix a typo and some nitpicks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 17:27:19 +01:00
Michael Niedermayer
de8f70b8e0 Merge commit '71ec3d36fa6122b3b6c5c68a21b9c70cb2e668e8'
* commit '71ec3d36fa6122b3b6c5c68a21b9c70cb2e668e8':
  doc: Add initial documentation about the OpenH264 encoder wrapper

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 17:13:38 +01:00
Carl Eugen Hoyos
26ac6d5435 lavfi/boxblur: Readd 8bit colour spaces on big-endian. 2015-01-08 15:24:59 +01:00
Michael Niedermayer
bf3126db6a avformat/hlsenc: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:51:04 +01:00
Michael Niedermayer
26c72d2941 avformat/img2dec: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:50:34 +01:00
Michael Niedermayer
50bb9b87ab avformat/img2enc: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:50:07 +01:00
Michael Niedermayer
b565fd4464 avformat/hdsenc: Simplify code by using avio_closep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:13:36 +01:00
Michael Niedermayer
e5993aeb60 avdevice/lavfi: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:11:44 +01:00
Michael Niedermayer
eb3e661bab ffserver: Use avio_closep() to avoid leaving stale pointers in memor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:11:12 +01:00
Michael Niedermayer
78cb3c069d ffmpeg: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:10:58 +01:00
Michael Niedermayer
558cef8860 ffmpeg_opt: Use avio_closep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 14:10:23 +01:00
Martin Storsjö
2dbd35b00c libfdk-aacdec: Make sure decoding doesn't add any extra delay in the latest version of fdk-aac
The latest version added support for a new option for enabling
a signal level limiter, which adds some extra delay. In fdk-aac, this
is enabled by default, but disable it by default here since we'd rather
have zero-delay decoding.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:58:43 +02:00
Martin Storsjö
3852e2c926 libopenh264enc: Fix a typo and some nitpicks
Also move the .long_name entry to below the .name entry.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:53:25 +02:00
Martin Storsjö
71ec3d36fa doc: Add initial documentation about the OpenH264 encoder wrapper
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-08 13:53:15 +02:00
Michael Niedermayer
a85f033149 doc/examples/transcoding: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:29:10 +01:00
Michael Niedermayer
a63c17cec7 idoc/examples/remuxing: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:28:59 +01:00
Michael Niedermayer
c61b84ccfd doc/examples/transcode_aac: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:28:51 +01:00
Michael Niedermayer
1d2410639d doc/examples/muxing: Use avio_closep() in examples as it avoids leaving stale pointers
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 05:28:15 +01:00
Lou Logan
919e038a95 doc: fix typos
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-01-07 17:17:33 -09:00
wm4
bcaa9099b3 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>
2015-01-08 01:42:42 +01:00
Michael Niedermayer
3ed80bd95e Merge commit '5a1addd7c1d8ff218ed4b84f4f02fdb83980094c'
* commit '5a1addd7c1d8ff218ed4b84f4f02fdb83980094c':
  xsub: Support DXSA subtitles

Conflicts:
	libavcodec/xsubdec.c

See: d6f910ea47
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-08 00:09:13 +01:00
Michael Niedermayer
0e1bb03cb0 Merge commit '01168bf1405ddbf671f1074a927b951b8777adbb'
* commit '01168bf1405ddbf671f1074a927b951b8777adbb':
  mpeg: Remove unused field

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 22:48:24 +01:00
Michael Niedermayer
e2404096b0 avformat/segment: Clear contexts after deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 22:29:16 +01:00
Michael Niedermayer
2a741baeff Merge commit 'b3f04657368a32a9903406395f865e230b1de348'
* commit 'b3f04657368a32a9903406395f865e230b1de348':
  segment: Fix the failure paths

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 22:15:45 +01:00
Michael Niedermayer
86e7d20ac2 avcodec/aic: Use av_malloc_array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 19:46:16 +01:00
Michael Niedermayer
7efabffc28 ffmpeg_opt: Check for av_realloc_array() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 18:22:37 +01:00
Michael Niedermayer
2d7fd4cc33 ffmpeg_opt: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 18:22:37 +01:00
Michael Niedermayer
e00499eb4c avcodec/libxvid: fix potential integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 18:22:31 +01:00
Michael Niedermayer
dfffc4aadc avformat/dvbsub: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 17:21:31 +01:00
Alexandre Colucci
5a1addd7c1 xsub: Support DXSA subtitles
These have a DXSA tag and contain alpha in addition to
color values for palette.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-01-07 13:51:30 +01:00
Luca Barbato
01168bf140 mpeg: Remove unused field 2015-01-07 13:49:10 +01:00
Michael Niedermayer
ad465e7897 avcodec/mpeg12: Try to fetch pts/dts from both the packet associated with the picture start code as well as earlier start codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 13:25:09 +01:00
Luca Barbato
b3f0465736 segment: Fix the failure paths
A failure in segment_end() or segment_start() would lead to freeing
a dangling pointer and in general further calls to seg_write_packet()
or to seg_write_trailer() would have the same faulty behaviour.

CC: libav-stable@libav.org
Reported-By: luodalongde@gmail.com
2015-01-07 12:36:28 +01:00
Michael Niedermayer
69ee915e1c avcodec/parser: add fuzzy mode to ff_fetch_timestamp()
This will be needed for the following timestamp fix

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 11:52:08 +01:00
Michael Niedermayer
ddae03f69b avcodec/allcodecs: prefer x264 over openh264 if both are available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 01:15:57 +01:00
Michael Niedermayer
c09eeca546 Merge commit '8a3d9ca603f4d15ecaa9ca379cbaab4ecaec8ce4'
* commit '8a3d9ca603f4d15ecaa9ca379cbaab4ecaec8ce4':
  libavcodec: Add an OpenH264 encoder wrapper

Conflicts:
	Changelog
	configure
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:48:23 +01:00
Michael Niedermayer
cb03d29dec Merge commit '2a1500fb552364488cfbee3e29e296788a3a6bdd'
* commit '2a1500fb552364488cfbee3e29e296788a3a6bdd':
  movenc: Fix a typo in a comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:46:47 +01:00
Michael Niedermayer
0d0a905152 Merge commit 'e581e88cbdb3323ca0026a54b39a9716a3686e9f'
* commit 'e581e88cbdb3323ca0026a54b39a9716a3686e9f':
  movenc: Readd an accidentally removed condition

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:39:44 +01:00
Michael Niedermayer
4009ee3ecc Merge commit '8e03ca2fff40ce065ea5a516200e777c96cd785e'
* commit '8e03ca2fff40ce065ea5a516200e777c96cd785e':
  isom: add 'mp1v' fourcc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:31:05 +01:00
Michael Niedermayer
89388cf60b Merge commit '1c6183233d56fb27a4a154e7e64ecab98bd877f1'
* commit '1c6183233d56fb27a4a154e7e64ecab98bd877f1':
  msmpeg4: check memory allocations and propagate errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:13:24 +01:00
Michael Niedermayer
40e123bc67 Merge commit 'ed97963bdbf3bb17fca4f9ea0aa1a97722dec907'
* commit 'ed97963bdbf3bb17fca4f9ea0aa1a97722dec907':
  ulti: invert the order of parameters of ulti_decode_frame()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:05:04 +01:00
Michael Niedermayer
f2f88b952d Merge commit '4438c256387a5845e5cdc5c14c43f4047b68301b'
* commit '4438c256387a5845e5cdc5c14c43f4047b68301b':
  vf_interlace: remove the warning tag in the message

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-07 00:03:10 +01:00
Michael Niedermayer
82b1bcd7f9 Merge commit '15ea222778caaec0877b3f9938140b707c931d96'
* commit '15ea222778caaec0877b3f9938140b707c931d96':
  vf_interlace: merge FIELD_LOWER check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 23:50:51 +01:00
Michael Niedermayer
6279cb3597 Merge commit '046f75a970701b4c947d38bfd2186dcc5f2ddae2'
* commit '046f75a970701b4c947d38bfd2186dcc5f2ddae2':
  vf_interlace: also assert for height

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 23:40:16 +01:00
Michael Niedermayer
ac3f6429ba vfilter/vf_tinterlace: Fix issues with linesize and cols
Based on patch by Vittorio Giovara <vittorio.giovara@gmail.com> from 696141e898

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 23:21:28 +01:00
Michael Niedermayer
f931b1ef45 Merge commit '696141e898193311c994b399a8dc60713709092f'
* commit '696141e898193311c994b399a8dc60713709092f':
  vf_interlace: use image width rather than linesize

Conflicts:
	libavfilter/vf_interlace.c

See: f043965cd5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:46:10 +01:00
Michael Niedermayer
30cf755548 Merge commit 'fe082998683334e7f573cfe3876810fb80c5249c'
* commit 'fe082998683334e7f573cfe3876810fb80c5249c':
  build: Use -Werror=format-security

Conflicts:
	configure

See: 97592faa51
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:34:08 +01:00
Michael Niedermayer
2ab6deb36f Merge commit '2cef68da69a17ed09c313ba3c3850ec1cc0a80e0'
* commit '2cef68da69a17ed09c313ba3c3850ec1cc0a80e0':
  vda: error out if decoded CVPixelBuffer is empty

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:13:39 +01:00
Michael Niedermayer
9198397115 avcodec/ffv1enc: Fix incompatible pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:05:13 +01:00
Michael Niedermayer
3b3782d74e Merge commit '0352ff102d62ee94e79e0baaf64d5ad4e66f907b'
* commit '0352ff102d62ee94e79e0baaf64d5ad4e66f907b':
  ffv1: const correctness for encode_rgb_frame()

Conflicts:
	libavcodec/ffv1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 22:05:06 +01:00
Michael Niedermayer
f4cc19cdd0 Merge commit 'ca09effb01e126b0ac74ff3de70a475423ddee82'
* commit 'ca09effb01e126b0ac74ff3de70a475423ddee82':
  ffv1: Drop unnecessary casts and const qualifiers to match function signatures

Conflicts:
	libavcodec/ffv1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:54:26 +01:00
Michael Niedermayer
90de28befd Merge commit '1dd797e3c9f179f957316a0becbec048b42df8aa'
* commit '1dd797e3c9f179f957316a0becbec048b42df8aa':
  swscale: check memory allocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:44:50 +01:00
Michael Niedermayer
b20e79dbe9 Merge commit '07a0c0f0005072d115ace61e60f46be68582cc3a'
* commit '07a0c0f0005072d115ace61e60f46be68582cc3a':
  opt: check memory allocation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:37:48 +01:00
Michael Niedermayer
dede2f7fc4 tools/ismindex.c: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:08:33 +01:00
Michael Niedermayer
a0a7b154bb tools/ismindex: Keep count fields consistent with arrays in case of errors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 21:07:50 +01:00
Martin Storsjö
8a3d9ca603 libavcodec: Add an OpenH264 encoder wrapper
Compared to existing, common opensource H264 encoders, this can be
useful since it has got a different license (BSD instead of GPL).

Performance- and qualitywise it is comparable to x264 in ultrafast
mode.

Hooking it up as an encoder in libavcodec also simplifies comparing
it against other common encoders.

This requires OpenH264 1.3 or newer. Since the OpenH264 API and ABI
changes frequently, only releases are supported.

To take advantage of the OpenH264 patent offer, the OpenH264 library
must not be redistributed, but downloaded at runtime at the end-user's
system.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-06 19:58:44 +02:00
Martin Storsjö
2a1500fb55 movenc: Fix a typo in a comment
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-06 19:47:18 +02:00
Martin Storsjö
e581e88cbd movenc: Readd an accidentally removed condition
This was removed accidentally as part of 847bf598. This could cause
groundless warning logging.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-06 19:47:09 +02:00
Michael Niedermayer
d2838f09d6 cmdutils.c: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 17:52:54 +01:00
Justin Ruggles
8e03ca2fff isom: add 'mp1v' fourcc
As referenced in the CoreMedia API docs.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-01-06 17:05:53 +01:00
Vittorio Giovara
1c6183233d msmpeg4: check memory allocations and propagate errors
Bug-Id: CID 1257781
2015-01-06 16:43:54 +01:00
Vittorio Giovara
ed97963bdb ulti: invert the order of parameters of ulti_decode_frame()
This is the order that the caller uses in the rest of the file.
Variables are modified to reflect the order above too and their
initialization is merged with their declarationt. No behavioral
change.

Bug-Id: CID 732286
2015-01-06 16:43:53 +01:00
wm4
ea7af58fc6 avformat/id3v2: support USLT tags
I think this turned out pretty terrible. There's no good way to add new
custom tags that write to AVFormatContext->metadata.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 16:39:52 +01:00
Michael Niedermayer
369b4cd412 cmdutils: Use 64bit for file size/offset related variable in cmdutils_read_file()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:27:17 +01:00
Michael Niedermayer
bbfca8e84b avformat/utils: Clear pointer in ff_alloc_extradata() to avoid leaving a stale pointer in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
da0dadbee4 avfilter/buffer: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
59ca6e2586 avformat/hlsproto: Use av_freep, to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
6e70e4aca5 avformat/matroskadec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
383c6a3a07 avformat/mov: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Michael Niedermayer
62eafb6a0d avformat/mov: Clear array to prevent potential out of array read from av_dlog()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:07:50 +01:00
Paul B Mahol
145a84717b lavfi: check av_strdup() return value
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-06 10:02:11 +00:00
Dale Curtis
3ebd76a9c5 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>
2015-01-06 05:23:45 +01:00
Michael Niedermayer
3859868c75 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>
2015-01-06 04:44:16 +01:00
Dale Curtis
db42d93a61 mov: Fix overflow and error handling in read_tfra().
Under abnormal conditions the item_count may exceed the max
allocation size on 32-bit systems, this causes the allocated
size to overflow and become too small for the given count.

Additionally, if av_reallocp() fails its allocation, the
fragment_index_count is not correctly decremented.

Ensuring further havoc may be wrought, the error code for
read_tfra() is not checked upon return.

Found-by: Paul Mehta <paul@paulmehta.com>

positive return code and use of _array functions by commiter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 04:44:16 +01:00
Michael Niedermayer
a79ac73b63 avfilter/vf_idet: Add analyze_interlaced_flag mode
This should allow us to insert idet before scale and let scale have interl=-1 as default in that case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 01:21:19 +01:00
Michael Niedermayer
42411a85b7 avfilter/vf_yadif: detect telecine content
Fixes: yadif with interlaced_flag_switch.mpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 00:31:37 +01:00
wm4
bd78010407 avformat/id3v1: strip trailing whitespace
ID3v1 fields have a fixed size, and they are padded either with zeros,
or with spaces. Handle the latter case, instead of putting strings with
trailing spaces into the AVDictionary.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 20:52:51 +01:00
James Almer
08810a8895 x86/flacdsp: remove unneeded ifdeffery
x86inc can translate r*m into a register or stack on its own

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-01-05 16:29:28 -03:00
Michael Niedermayer
d02d4d0457 avformat/dvbsub: increase probe score
Ive not found a single false positive after some moderate testing with
probetest

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 17:40:16 +01:00
Michael Niedermayer
b0826b8324 avformat/dvbsub: fix indent after previous commit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 17:40:16 +01:00
Michael Niedermayer
3bf2b376e6 avformat/dvbsub: check for 0xf0 earlier in probe, 30% faster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 17:40:09 +01:00
Michael Niedermayer
0e1c827e84 Merge remote-tracking branch 'origin/master'
* origin/master:
  libavfilter/vf_blend: do not unconditionally compile both filters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 15:55:47 +01:00
Vittorio Giovara
4438c25638 vf_interlace: remove the warning tag in the message
The log level is already a warning.
2015-01-05 15:35:46 +01:00
Vittorio Giovara
15ea222778 vf_interlace: merge FIELD_LOWER check 2015-01-05 15:35:46 +01:00
Vittorio Giovara
046f75a970 vf_interlace: also assert for height 2015-01-05 15:35:46 +01:00
Vittorio Giovara
696141e898 vf_interlace: use image width rather than linesize
Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
2015-01-05 15:35:46 +01:00
Agostino Sarubbo
fe08299868 build: Use -Werror=format-security
Reduce the chance of introducing a class of bugs quite hard to track.
2015-01-05 15:35:39 +01:00
Stefano Pigozzi
2cef68da69 vda: error out if decoded CVPixelBuffer is empty
On some video samples, VDA silently fails to decode frames and returns
kVDADecoderNoErr. Error out in these cases to avoid producing AVFrames with
empty planes.

Signed-off-by: Stefano Pigozzi <stefano.pigozzi@gmail.com>
2015-01-05 15:35:39 +01:00
Diego Biurrun
0352ff102d ffv1: const correctness for encode_rgb_frame()
libavcodec/ffv1enc.c:922:53: warning: passing argument 5 of ‘encode_rgb_frame’ discards ‘const’ qualifier from pointer target type
2015-01-05 15:35:39 +01:00
Diego Biurrun
ca09effb01 ffv1: Drop unnecessary casts and const qualifiers to match function signatures
libavcodec/ffv1dec.c:898:36: warning: cast discards ‘const’ qualifier from pointer target type
2015-01-05 15:35:39 +01:00
Vittorio Giovara
1dd797e3c9 swscale: check memory allocations
CC: libav-stable@libav.org
Bug-Id: CID 1257779
2015-01-05 15:35:39 +01:00
Paul B Mahol
91bdb24400 libavfilter/vf_blend: do not unconditionally compile both filters
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-01-05 14:14:54 +00:00
Vittorio Giovara
07a0c0f000 opt: check memory allocation
CC: libav-stable@libav.org
Bug-Id: CID 1257771
2015-01-05 14:58:20 +01:00
wm4
c9151de7c4 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>
2015-01-05 05:03:49 +01:00
Werner Robitza
beedeb4399 doc/ffmpeg: mention both ffpreset/avpreset in documentation, remove superfluous example
ffmpeg looks for both .ffpreset and .avpreset files depending on whether the
-[avsf]pre or -pre option is used. Added two sections for each type of preset
including the rules according to which files are searched.

(Notably, the lookup order is swapped for avpreset files, because it first
looks for <codec>_<arg>.avpreset and then for <arg>.avpreset.)

This removes the section explaining -pre only, which was under "Examples",
where it did not really make sense.

Signed-off-by: Werner Robitza <werner.robitza@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 04:34:37 +01:00
Michael Niedermayer
fb22e5ae45 Merge commit '46808fdf04ab113df374157b90b506eb3110daf2'
* commit '46808fdf04ab113df374157b90b506eb3110daf2':
  movenc: Enable editlists by default if delay_moov is enabled

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:45:34 +01:00
Michael Niedermayer
e7521d9771 Merge commit '9f810a9b374e0ff8e2a19fd8a7347afe2933e229'
* commit '9f810a9b374e0ff8e2a19fd8a7347afe2933e229':
  libavformat: Check for malloc failures in avformat_new_stream

See: a66893ac94
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:37:17 +01:00
Michael Niedermayer
dd4de4a987 Merge commit 'c4aa0f865fb2c3b28a309d1bb27fd1c24b75ba28'
* commit 'c4aa0f865fb2c3b28a309d1bb27fd1c24b75ba28':
  libavformat: Remove a misleading/incorrect comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:27:00 +01:00
Michael Niedermayer
1ed5912e81 Merge commit 'f4d4e66a24a5c9497a5b6d3c089ac58089a87428'
* commit 'f4d4e66a24a5c9497a5b6d3c089ac58089a87428':
  configure: Remap -L to -libpath for msvc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:20:06 +01:00
Michael Niedermayer
1d41571bbf Merge commit '3e160652219ff4da433f5672ae1e5f4956abb815'
* commit '3e160652219ff4da433f5672ae1e5f4956abb815':
  cmdutils: update copyright year to 2015.

Conflicts:
	cmdutils.c

See: b8db25a333
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 02:10:17 +01:00
Peter Ross
f1098eb97d avformat/aiffdec: only read codec tag when there is space in header
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
ce1e10aa24 avformat/utils: add dvbsub to set_codec_from_probe_data()
Fixes part of ticket 4221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
e313735d7d avformat: add dvbsub demuxer
This is needed for probing some dvbsub streams in mpegts

Fixes part of ticket4221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
d1781fd786 avformat/rawdec: Add FF_DEF_RAWSUB_DEMUXER
This is similar to the corresponding audio and video macros

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
dc265e2b6b avformat/rawdec: Make ff_raw_data_read_header() non static
This is similar to the raw video read header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
58721388b8 avformat/flvenc: omit more metadata elements with specific meaning
Reviewed-by: Thilo Borgmann <thilo.borgmann@mail.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
0f931b29f7 Factorize avpriv_mirror() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
9bff052b51 avfilter/vf_sab: fix filtering tiny images
Fixes out of array reads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 00:49:42 +01:00
Martin Storsjö
46808fdf04 movenc: Enable editlists by default if delay_moov is enabled
Being able to write editlists properly is one of the main points
in the delay_moov flag.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 20:04:36 +02:00
Martin Storsjö
9f810a9b37 libavformat: Check for malloc failures in avformat_new_stream
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 20:04:36 +02:00
Martin Storsjö
c4aa0f865f libavformat: Remove a misleading/incorrect comment
This comment can be traced back to the initial commit from 2001,
and it seemed to be misleading/incorect already back then. (It
was used for normal, non-raw file formats already then.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 20:04:33 +02:00
Martin Storsjö
f4d4e66a24 configure: Remap -L to -libpath for msvc
This allows using libraries that are detected via pkg-config with
msvc. (The libraries themselves may have to be built with MSVC
though.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 19:57:34 +02:00
Johan Andersson
3e16065221 cmdutils: update copyright year to 2015.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 13:22:25 +02:00
Reynaldo H. Verdejo Pinochet
9975088472 ffserver: reindent rtsp_cmd_setup()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
ac1940b2ba ffserver: reflow rtsp_cmd_setup()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
196bc03a86 ffserver: drop redundant else clause
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
9e55130a9d ffserver: reindent compute_status()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Reynaldo H. Verdejo Pinochet
907101eb83 ffserver: reflow compute_status()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2015-01-03 20:22:45 -03:00
Michael Niedermayer
5c95de150f avcodec/libxvid: check for av_malloc*() failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 23:51:18 +01:00
Michael Niedermayer
bd12aa2bc5 avcodec/ljpegenc: Check for av_malloc_array() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 21:25:26 +01:00
Michael Niedermayer
d56b0984f9 avformat/westwood_vqa: Remove unneeded cast
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 21:03:44 +01:00
Michael Niedermayer
0daf60140b avformat/movenc: fix DELAY_MOOV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 17:45:12 +01:00
Michael Niedermayer
00f9e51a26 tests/regression-funcs: Remove hardcoded threads 1
The tests which use encoders which either use slices or store the encoder thread count
keep a hardcoded value of 1

This will help test more threading code like in filters

Found-by: ubitux
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 15:09:12 +01:00
Michael Niedermayer
4bcb58b3ad Merge commit 'f2ad1495f23376ce61542967f4fc14205f284d40'
* commit 'f2ad1495f23376ce61542967f4fc14205f284d40':
  avisynth: Use RTLD_LOCAL instead of RTLD_GLOBAL

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 13:24:57 +01:00
Clément Bœsch
cc5f5e140c build: require libxcb >= 1.4
Fixes Ticket #4139
2015-01-03 09:56:53 +01:00
Michael Niedermayer
38c1bffd80 Merge commit '470c9db11ff2c3249e995e7ba68e87bb81bf778c'
* commit '470c9db11ff2c3249e995e7ba68e87bb81bf778c':
  sidxindex: Remove parsing that isn't necessary any longer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 05:48:08 +01:00
James Almer
b8db25a333 configure: bump year
Happy new year!
2015-01-03 01:42:27 -03:00
Michael Niedermayer
e566667d8f Merge commit '5cf6bda6e2eae496e8eb2bb06c96852d59a58b8a'
* commit '5cf6bda6e2eae496e8eb2bb06c96852d59a58b8a':
  sidxindex: Don't adjust the Period start time depending on the track start time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:51:45 +01:00
Michael Niedermayer
3be67f33a5 Merge commit '7a1a63e34fa46af18311c2493fdaec9a93bdb750'
* commit '7a1a63e34fa46af18311c2493fdaec9a93bdb750':
  dashenc: Use pts for MPD timeline timestamps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:26:20 +01:00
Michael Niedermayer
983778f1f6 Merge commit 'c5e7ea13d2d4da0c5da91973a547afff6fe9e011'
* commit 'c5e7ea13d2d4da0c5da91973a547afff6fe9e011':
  dashenc: Use delay_moov

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:08:09 +01:00
Michael Niedermayer
b0ba8a23b6 Merge commit 'b3b0b35db2f3b61bf2f0f4fa85f5b6267d83c8fe'
* commit 'b3b0b35db2f3b61bf2f0f4fa85f5b6267d83c8fe':
  movenc: Get rid of a hack for updating the dvc1 atom

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 04:01:34 +01:00
Michael Niedermayer
f38e2bcb72 Merge commit '847bf5988fec1d3e65c1d8cf0cdb8caf0cfd0c1b'
* commit '847bf5988fec1d3e65c1d8cf0cdb8caf0cfd0c1b':
  movenc: Add an option for delaying writing the moov with empty_moov

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 03:13:16 +01:00
Michael Niedermayer
504267fb56 avformat/movenc: Use cluster timestamps when available in edts
Also print both if they differ

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 02:47:35 +01:00
Michael Niedermayer
0506f687e8 Merge commit 'c725faebda9a516766d94c33b07972ab0f70cf93'
* commit 'c725faebda9a516766d94c33b07972ab0f70cf93':
  movenc: Use start_dts/cts instead of cluster[0] for writing edit lists

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 01:38:58 +01:00
Martin Storsjö
f2ad1495f2 avisynth: Use RTLD_LOCAL instead of RTLD_GLOBAL
There shouldn't be any need to add the loaded libraries to the global
symbol namespace.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 02:30:03 +02:00
Michael Niedermayer
68a06a244c Merge commit '724cbea7193945fe5a5b4dea8ede344803572844'
* commit '724cbea7193945fe5a5b4dea8ede344803572844':
  movenc: Remove an unnecessary condition when flushing fragments

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 01:25:30 +01:00
Michael Niedermayer
7ca10d10aa Merge commit '355d01a1bf55297b1d1f04e4bfbf0ddc93b6247e'
* commit '355d01a1bf55297b1d1f04e4bfbf0ddc93b6247e':
  movenc: Factorize writing ftyp and other identification tags to a separate function

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-03 01:18:54 +01:00
Martin Storsjö
470c9db11f sidxindex: Remove parsing that isn't necessary any longer
When we don't adjust the Period start time, we don't need to
parse the earliest_presentation_time from the sidx boxes either.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:24:30 +02:00
Martin Storsjö
5cf6bda6e2 sidxindex: Don't adjust the Period start time depending on the track start time
This was only necessary to get playback to start with dash.js 1.2.0,
it has been fixed in the git version.

The previous behaviour was incorrect - the Period's start time
is irrespective of the actual first timestamp of the contents
within the period. The Period start time only says when, within the
global timeline, this particular piece should start to be played
back.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:24:29 +02:00
Martin Storsjö
7a1a63e34f dashenc: Use pts for MPD timeline timestamps
This should be more correct. This also should give more sensible
switching between video streams with different amount of b-frame
delay.

The current dash.js release (1.2.0) fails to start playback of
such files from the start (if the start pts is > 0), but this has
been fixed in the current git version of dash.js.

Also enable the use of edit lists, so that streams in many cases
start at pts=0.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:22:09 +02:00
Martin Storsjö
c5e7ea13d2 dashenc: Use delay_moov
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:20:55 +02:00
Martin Storsjö
b3b0b35db2 movenc: Get rid of a hack for updating the dvc1 atom
Use the more generic approach with the delay_moov flag, instead of
having a update mechanism specific to this one single atom.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:20:40 +02:00
Martin Storsjö
847bf5988f movenc: Add an option for delaying writing the moov with empty_moov
This delays writing the moov until the first fragment is written,
or can be flushed by the caller explicitly when wanted. If the first
sample in all streams is available at this point, we can write
a proper editlist at this point, allowing streams to start at
something else than dts=0. For AC3 and DNXHD, a packet is
needed in order to write the moov header properly.

This isn't added to the normal behaviour for empty_moov, since
the behaviour that ftyp+moov is written during avformat_write_header
would be changed. Callers that split the output stream into header+segments
(either by flushing manually, with the custom_frag flag set, or by
just differentiating between data written during avformat_write_header
and the rest) will need to be adjusted to take this option into use.

For handling streams that start at something else than dts=0, an
alternative would be to use different kinds of heuristics for
guessing the start dts (using AVCodecContext delay or has_b_frames
together with the frame rate), but this is not reliable and doesn't
necessarily work well with stream copy, and wouldn't work for getting
the right initialization data for AC3 or DNXHD either.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:19:27 +02:00
Martin Storsjö
c725faebda movenc: Use start_dts/cts instead of cluster[0] for writing edit lists
This allows writing edit lists even when track->entry == 0, if
the start times have been set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:18:52 +02:00
Martin Storsjö
724cbea719 movenc: Remove an unnecessary condition when flushing fragments
If fragments == 0 it means we haven't written any moov atom yet.
If the empty_moov flag is set, we already have written an empty moov
atom at startup. Thus, the check for empty_moov is redundant.

This is in preparation for allowing writing the moov atom later,
even when using the empty moov flag.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:18:38 +02:00
Martin Storsjö
355d01a1bf movenc: Factorize writing ftyp and other identification tags to a separate function
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-03 01:18:28 +02:00
Giorgio Vazzana
a3ab87427c avutil/camellia: cosmetic fixes
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:24:02 +01:00
Giorgio Vazzana
fbb792f90f avutil/camellia: use K[2] instead of *K in generate_round_keys()
Additionally, change parameters order.

Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:56 +01:00
Giorgio Vazzana
8e38b1539e avutil/camellia: make LR128() more robust
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:50 +01:00
Giorgio Vazzana
88d19d240a avutil/camellia: fix documentation for av_camellia_crypt()
Signed-off-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 21:23:45 +01:00
Nicolas George
55763b6f5e lavd/lavfi: allow to extract subcc.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 20:17:05 +01:00
Supraja Meedinti
c6bb651bce libavutil: Added Camellia symmetric block cipher
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Previous version of this patch reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 15:19:36 +01:00
Michael Niedermayer
4c7a1ccb36 Changelog: Add cropdetect non 8bpp
Suggested-by: Reimar
Previous patch reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 14:44:31 +01:00
Clément Bœsch
11201bbf7f avformat/mov: reindent after previous commit 2015-01-02 11:38:28 +01:00
Clément Bœsch
55faf56c72 avformat/mov: move edit list heuristics into mov_build_index()
mov_read_elst() is now only responsible from storing the table in a data
structure; this is consistent with other table readers functions.
2015-01-02 11:38:21 +01:00
Michael Niedermayer
75cc57f73f avcodec/mpeg12dec: Check actual aspect ratio instead of aspect_ratio_info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Michael Niedermayer
1010b36d86 avcodec/mpeg12dec: Recalculate SAR unconditionally
Fixes Ticket4161

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Michael Niedermayer
aeb36fd207 avcodec/mpeg12dec: Move user data debug code out of unrelated if (buf_size > 29)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 03:22:51 +01:00
Clément Bœsch
6a29499b95 avformat/flvdec: remove duplicated line error
Fix typo regression since 5c37ffca59

Found-By: cousin_luigi
2015-01-01 22:09:21 +01:00
Michael Niedermayer
8009a51f7b Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: dump format before selecting streams
  ffplay: add support for stream specifiers in -ast, -vst, -sst options
  ffplay: remove unused no_background from videostate
  ffplay: remove flushed state from decoder context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 20:19:56 +01:00
Michael Niedermayer
efc4bfc195 avformat/flvdec: use named identifier instead of literal numbers as return values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 20:19:09 +01:00
Michael Niedermayer
eb767a276b 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>
2015-01-01 18:16:04 +01:00
Michael Niedermayer
322f0f5960 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>
2015-01-01 18:13:22 +01:00
Michael Niedermayer
5c37ffca59 avformat/flvdec: add several error messages to error conditions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 18:03:54 +01:00
Marton Balint
46aa75eea1 ffplay: dump format before selecting streams
This helps the user to see the available streams just before the error message
if the stream specifiers do not match.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:12 +01:00
Marton Balint
5e7dcb0491 ffplay: add support for stream specifiers in -ast, -vst, -sst options
Also fix the outdated documentation of these options.

Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:12 +01:00
Marton Balint
82928656b1 ffplay: remove unused no_background from videostate
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:12 +01:00
Marton Balint
8c1f5fb0ae ffplay: remove flushed state from decoder context
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-01-01 14:38:11 +01:00
Michael Niedermayer
d25d929600 avfilter/vf_idet: Add 9, 12 and 14 bit pixel formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 05:56:53 +01:00
Michael Niedermayer
18802bc81c avfilter/vf_idet: Use frame_requested instead of prev
This is more robust if the delay is not constant

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-01 02:30:16 +01:00
Michael Niedermayer
3eb5cbe0c5 avformat/cdxl: Fix integer overflow of image_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 22:33:51 +01:00
James Almer
975ff6a3c6 x86/swr: disable pack_8ch functions on msvc/icl x86_32
Until a proper fix is committed.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-31 16:38:33 -03:00
James Almer
5f14f9e984 x86/swr: add missing alignment check to pack_6ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-31 13:35:11 -03:00
Michael Niedermayer
5ba62e89df avcodec/loco: check the init_get_bits8() return code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 15:42:17 +01:00
Michael Niedermayer
131a185826 avcodec/loco: use enum for mode variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 15:42:17 +01:00
Michael Niedermayer
037b527d62 doc/filters: document bit-depth independent cropdetect limit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 04:49:48 +01:00
Michael Niedermayer
d97b94f1af avcodec/loco: Support LOCO reference encoder with odd width
Fixes Ticket1221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 04:49:48 +01:00
James Almer
37b35feb64 x86/swr: add SSE2/AVX pack_8ch functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-30 23:05:27 -03:00
Michael Niedermayer
a288d08d84 avfilter/vf_cropdetect: adjust Default threshold based on bit depth
Also allow specifying thresholds that are bit depth independant

Previous version reviewed by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-31 00:33:33 +01:00
Michael Niedermayer
081567397e avfilter/vf_yadif: add >8bit planar rgb formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 22:52:45 +01:00
Michael Niedermayer
eee9b7a673 ffprobe: Support extracting the number of reference frames
Fixes Ticket3141

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 17:55:20 +01:00
Michael Niedermayer
eb465b8c56 avfilter/vf_uspp: clear AVPacket to not leave uninitialized memory
Fixes CID1260707

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 15:15:36 +01:00
Clément Bœsch
0c10cf6ab1 fate: add a fate-filter-framepack rule 2014-12-30 14:28:54 +01:00
Clément Bœsch
39e18b1f40 avfilter/framepack: use FF_CEIL_RSHIFT() 2014-12-30 14:25:41 +01:00
Michael Niedermayer
e405a8a73e avfilter/vf_cropdetect: extend limit to cover 16bit pixel formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 05:33:43 +01:00
Michael Niedermayer
a2e2a9f240 avfilter/vf_cropdetect: fix ; typos
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 05:32:14 +01:00
Michael Niedermayer
6ab4812f31 avfilter/vf_cropdetect: support 9-16bit planar formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 05:31:24 +01:00
Michael Niedermayer
5c7227bbb3 avfilter/vf_cropdetect: Unroll 3 & 4 bytes per sample loop
19484 -> 10266 decicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 02:39:36 +01:00
Michael Niedermayer
60e2c3110a avfilter/vf_cropdetect: Unroll 1byte per sample loop
12807 -> 6336 decicycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 02:32:00 +01:00
Michael Niedermayer
17dc83ab5e avfilter/vf_cropdetect: add RGB & RGBA support
These where already supported in the code but not listed in the supported
pixel formats.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 02:19:05 +01:00
Michael Niedermayer
0ffb61e8ca Merge commit '8d54bacb789c7d37ca3cf48d9ac13083ad0c1ba7'
* commit '8d54bacb789c7d37ca3cf48d9ac13083ad0c1ba7':
  dashenc: Remove some stray double spaces

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 01:57:21 +01:00
Michael Niedermayer
e5a3766767 Merge commit 'b91a5757fcbf723da99b05b298a6f820271dbc2b'
* commit 'b91a5757fcbf723da99b05b298a6f820271dbc2b':
  dashenc: Fix writing of timelines that don't start at t=0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 01:50:53 +01:00
Michael Niedermayer
8d3133f468 Merge commit '50036c30df83b609bc5a95276f1287f8b9b8bdd6'
* commit '50036c30df83b609bc5a95276f1287f8b9b8bdd6':
  fate: Use bitexact conversions in the dpxparser test

Conflicts:
	tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-30 01:44:08 +01:00
Carl Eugen Hoyos
7905bd5555 Fix decoding for little endian Aja Kona 10-bit RGB.
The little endian fourcc is r10k, big endian uses R10k.
Reported and analyzed by Jason Freets, jasonslife hotmail
2014-12-29 22:49:08 +01:00
Martin Storsjö
8d54bacb78 dashenc: Remove some stray double spaces
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-29 23:26:43 +02:00
Martin Storsjö
b91a5757fc dashenc: Fix writing of timelines that don't start at t=0
When writing an explicit time, reset the cur_time variable to this
value as well. This avoids writing excessive time attributes for each
segment in the timeline, as long as the segments are continuous.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-29 23:26:25 +02:00
Martin Storsjö
50036c30df fate: Use bitexact conversions in the dpxparser test
This fixes fate on e.g. ppc.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-29 23:21:43 +02:00
Michael Niedermayer
256df8a2fa libavformat/cdxl: fix duration in case of overflow
Fixes integer overflow
Fixes CID1260706

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 20:53:56 +01:00
Michael Niedermayer
827af24230 avutil/rational: Check that av_reduce() returns values within the requested max
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 15:52:34 +01:00
Michael Niedermayer
db0a52d611 avcodec/ituh263enc: Check den==0 in ff_h263_aspect_to_info()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 15:51:36 +01:00
Michael Niedermayer
748ad112e2 avcodec/ffwavesynth: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 14:06:26 +01:00
Michael Niedermayer
ac08c5c0ad avformat/mux: 2 subtitle packets could have the same DTS
Fixes Ticket3514

See: ETSI EN 300 743 V1.3.1 (2006-11)
"In summary, all of the segments of a single display set shall be carried in one (or more) PES packets that have the same
 PTS value."
with PTS = DTS and remuxing of such a stream it is to be expected that sometimes
multiple packets would have the same DTS

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-29 03:57:44 +01:00
Pedro E. M. Brito
202947a066 libavformat/segment.c: Add strftime expansion for segment filename templates
Allows expansion of the filename template with strftime() with the option
-strftime 1 (disabled by default). This allows segments to be named by time of
creation, adding some flexibility.

Fixes Ticket 4104 (add strftime to segment muxer)

Signed-off-by: Pedro E. M. Brito <pedroembrito@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 21:48:44 +01:00
Carl Eugen Hoyos
6a6a0620e2 Fix R10k blue channel output.
Makes R10k -> gbrp10 ffv1 -> R10k roundtrip bit-identical.
2014-12-28 21:07:56 +01:00
Simon Thelen
750b10ff85 doc/ffmpeg.texi: document the new -sdp_file option
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 19:16:21 +01:00
Michael Niedermayer
9c3a8693a2 avdevice/dshow: Remove unneeded NULL checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:17:12 +01:00
Michael Niedermayer
a3f6e8c4d9 avdevice/dshow: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:16:37 +01:00
Michael Niedermayer
beaea2de61 avdevice/dv1394: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:16:02 +01:00
Michael Niedermayer
3b1f747238 avfilter/vf_cropdetect: add max_outliers parameter
Fixes Ticket3030

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 18:10:49 +01:00
Michael Niedermayer
627f5658b6 ffmpeg: Use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 02:56:02 +01:00
Simon Thelen
cc63da1223 ffmpeg: add sdp_file option
Allow printing of sdp information to a file specified by -sdp_file
This allows users to print sdp information when at least one of the
outputs isn't an rtp stream.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 02:05:34 +01:00
Michael Niedermayer
c263102298 avcodec/vdpau: fix assertion failure and < vs > error
Fixes Ticket4211

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-28 01:47:05 +01:00
Michael Niedermayer
17dde95ec5 Merge remote-tracking branch 'rbultje/vp9-32bit-lpf'
* rbultje/vp9-32bit-lpf:
  vp9/x86: add myself to copyright holders for loopfilter assembly.
  vp9/x86: make filter_16_h work on 32-bit.
  vp9/x86: make filter_48/84/88_h work on 32-bit.
  vp9/x86: make filter_44_h work on 32-bit.
  vp9/x86: make filter_16_v work on 32-bit.
  vp9/x86: make filter_48/84_v work on 32-bit.
  vp9/x86: make filter_88_v work on 32-bit.
  vp9/x86: make filter_44_v work on 32-bit.
  vp8/x86: save one register in SIGN_ADD/SUB.
  vp9/x86: store unpacked intermediates for filter6/14 on stack.
  vp8/x86: move variable assigned inside macro branch.
  vp9/x86: simplify ABSSUM_CMP by inverting the comparison meaning.
  vp8/x86: remove unused register from ABSSUB_CMP macro.
  vp9/x86: slightly simplify 44/48/84/88 h stores.
  vp9/x86: make cglobal statement more conservative in register allocation.
  vp9/x86: save one register in loopfilter surface coverage.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 23:17:29 +01:00
Reimar Döffinger
035180901d r210enc.c: Simplify and never store more than 10 bits.
The r10k and avrp decoders would previously store 12 bit precision
for the blue channel, which is inconsistent and probably not a
desirable behaviour.
Now the 2 unused extra bits are set to 0.
This is possibly not ideal either as RGBA1010102 format has the same
layout but stores alpha in these bits, thus explicitly setting them
to 1 might be preferable.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-27 22:57:53 +01:00
Ronald S. Bultje
3aefca68ca vp9/x86: add myself to copyright holders for loopfilter assembly. 2014-12-27 16:55:16 -05:00
Ronald S. Bultje
afd8c464b7 vp9/x86: make filter_16_h work on 32-bit. 2014-12-27 16:55:16 -05:00
Ronald S. Bultje
b26bc3520f vp9/x86: make filter_48/84/88_h work on 32-bit. 2014-12-27 16:55:15 -05:00
Ronald S. Bultje
8a1cff1c35 vp9/x86: make filter_44_h work on 32-bit. 2014-12-27 16:55:15 -05:00
Ronald S. Bultje
047088b8c6 vp9/x86: make filter_16_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
0cc9c23ea1 vp9/x86: make filter_48/84_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
6433a9133f vp9/x86: make filter_88_v work on 32-bit. 2014-12-27 16:55:14 -05:00
Ronald S. Bultje
75f8e52089 vp9/x86: make filter_44_v work on 32-bit. 2014-12-27 16:55:13 -05:00
Ronald S. Bultje
7f80c3344c vp8/x86: save one register in SIGN_ADD/SUB. 2014-12-27 16:55:13 -05:00
Ronald S. Bultje
8ea2194ebb vp9/x86: store unpacked intermediates for filter6/14 on stack.
filter16 goes from 508 to 482 (h) or 346 to 314 (v) cycles; filter88
goes from 240 to 238 (h) or 174 to 165 (v) cycles, measured on TOS.
2014-12-27 16:55:13 -05:00
Ronald S. Bultje
e42409479f vp8/x86: move variable assigned inside macro branch.
The value is not used outside the branch.
2014-12-27 16:55:12 -05:00
Ronald S. Bultje
418c202c63 vp9/x86: simplify ABSSUM_CMP by inverting the comparison meaning. 2014-12-27 16:55:12 -05:00
Ronald S. Bultje
d1c55654e1 vp8/x86: remove unused register from ABSSUB_CMP macro. 2014-12-27 16:55:12 -05:00
Ronald S. Bultje
e59bd08986 vp9/x86: slightly simplify 44/48/84/88 h stores. 2014-12-27 16:55:11 -05:00
Ronald S. Bultje
8132629bd5 vp9/x86: make cglobal statement more conservative in register allocation. 2014-12-27 16:55:11 -05:00
Ronald S. Bultje
c013ca58c5 vp9/x86: save one register in loopfilter surface coverage. 2014-12-27 16:55:11 -05:00
Clément Bœsch
56e432b27b avutil/atomic: reuse ret to avoid dereferencing twice the same value. 2014-12-27 22:14:23 +01:00
Michael Niedermayer
cc91488588 avfilter/vf_cropdetect: Factorize duplicated code using a macro
This simplifies subsequent changes

Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 19:09:05 +01:00
Michael Niedermayer
ed96830afc avfilter/vf_blend: Fix AVClass
Fixes infinite loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 19:01:07 +01:00
Stefano Sabatini
d4fd3f24e8 lavfi: add tblend filter 2014-12-27 16:15:24 +01:00
Michael Niedermayer
05e74ac2f3 avutil/hmac: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:50:01 +01:00
Michael Niedermayer
6d639ecf44 avutil/audio_fifo: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:49:13 +01:00
Michael Niedermayer
336bb3f706 avutil/dict: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:48:32 +01:00
Michael Niedermayer
9e89347329 Merge commit '60d4c6ff76467d4d8f55c1cc61ab6c618e8ea2f3'
* commit '60d4c6ff76467d4d8f55c1cc61ab6c618e8ea2f3':
  h264: restore a block mistakenly removed in e10fd08a

See: 0ecb3075c1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 15:02:12 +01:00
Michael Niedermayer
6f764d2911 Merge commit '737d35e33408263c04d7730f5487eed0d04938ba'
* commit '737d35e33408263c04d7730f5487eed0d04938ba':
  vdpau: add support for the H.264 High 4:4:4 Predictive profile

Conflicts:
	libavcodec/vdpau_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 14:46:15 +01:00
Michael Niedermayer
a6ab9ed50d Merge commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec'
* commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec':
  avconv_vdpau: allocate video surface of VDPAU-specified size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:26:38 +01:00
Michael Niedermayer
751731540f Merge commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68'
* commit 'ebd5320afd42d4315851f3e0ca7f5d4a6300eb68':
  vdpau: add support for 4:2:2 and 4:4:4 chroma sampling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:17:20 +01:00
Michael Niedermayer
d7aaeea540 Merge commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9'
* commit 'c220a60f92dde9c7c118fc4deddff5c1f617cda9':
  vdpau: add helper for surface chroma type and size

Conflicts:
	libavcodec/vdpau.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 13:06:25 +01:00
Michael Niedermayer
ddb9a24a7f Merge commit '6c99c92a42add7f6a462114d5a4a53c93c551058'
* commit '6c99c92a42add7f6a462114d5a4a53c93c551058':
  libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flag

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:52:59 +01:00
Michael Niedermayer
d16079abf4 Merge commit '57b6704ecd0f56d6a3092e448687cfd837bb0ac1'
* commit '57b6704ecd0f56d6a3092e448687cfd837bb0ac1':
  avcodec: add AVCodecContext.sw_pix_fmt

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:41:10 +01:00
Michael Niedermayer
57089084ba Merge commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5'
* commit '4cfbeef31d4e6096c0596359d212f5d99a7ba4b5':
  h264: factor hwaccel pixel formats list

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 12:15:34 +01:00
Anton Khirnov
60d4c6ff76 h264: restore a block mistakenly removed in e10fd08a
CC: libav-stable@libav.org
Bug-ID: 781
2014-12-27 10:44:48 +01:00
Michael Niedermayer
fa0e5ffb89 avfilter/vf_cropdetect: add yuv440p and yuv410p support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-27 05:06:14 +01:00
Michael Niedermayer
a4b13dbd02 avfilter/vf_fspp: Add GBRP and gray8 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 23:47:15 +01:00
Reynaldo H. Verdejo Pinochet
a18456a203 ffserver: check for EOF|error at loop condition
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 19:02:16 -03:00
Reynaldo H. Verdejo Pinochet
0121ddabb8 ffserver: reflow close_connection()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:44:33 -03:00
Reynaldo H. Verdejo Pinochet
1146223699 ffserver: minor formatting improvement to http_server()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:34:52 -03:00
Reynaldo H. Verdejo Pinochet
978bc4327b ffserver: reindent start_multicast()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:18:19 -03:00
Reynaldo H. Verdejo Pinochet
719cc02586 ffserver: reflow start_multicast()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 18:12:39 -03:00
Reynaldo H. Verdejo Pinochet
18011888cc ffserver: reindent start_children()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
Reynaldo H. Verdejo Pinochet
ec42251715 ffserver: reflow start_children()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
Reynaldo H. Verdejo Pinochet
1abdfb100a ffserver: break lines at 80 in func prototypes
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-26 17:45:56 -03:00
James Almer
a4f876a1a2 x86/vf_fspp: move pxor in store slice functions out of the loop
m7 is not overwritten, so we only need to clear it once.
Found by Christophe Gisquet.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-26 17:15:34 -03:00
James Almer
466e32bf25 x86/vf_fspp: port inline asm to yasm
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-26 15:39:51 -03:00
Michael Niedermayer
9224c7f0dd avfilter/vf_fspp: clarify comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 18:17:12 +01:00
Kieran Kunhya
18982f084c swscale: Pass through chroma positions in sws_getCachedContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 17:55:12 +01:00
Michael Niedermayer
4bc0dbfc9f avfilter/vf_boxblur: generate supported pixfmt list instead of hardcoding
This adds support for several more >8bit planar formats

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 15:09:59 +01:00
Michael Niedermayer
f7da4b1cf1 avformat/rtsp: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 14:59:29 +01:00
Michael Niedermayer
0704c44d68 avformat/cache: remove ftruncate usage, its not always available
In case of errors the cache file will be slightly larger than needed,
this should have no practical relevance though

Should fix build on VS201*

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 12:41:15 +01:00
Stefano Sabatini
afaa4a8946 lavfi/blend: add difference128 mode 2014-12-26 11:24:48 +01:00
Michael Niedermayer
7c210c4424 avformat/cache: Extend cache entries if possible instead of creating new ones
This reduces the number of cache entries and should significantly
reduce memory requirements

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 02:21:51 +01:00
Michael Niedermayer
312151bb9a avformat/cache: avoid lseek() on reading from the cache if possible
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 01:24:27 +01:00
Michael Niedermayer
ce3551896a avformat/cache: keep cache_pos updated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 01:22:52 +01:00
Michael Niedermayer
954fc854f2 avformat/cache: cleanup cache file on cache write failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 01:13:49 +01:00
Michael Niedermayer
68609edd4a Changelog: Mention non continuous cache protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-26 00:49:22 +01:00
Clément Bœsch
6e6b0a8eed avfilter/xbr: reindent after previous commit 2014-12-25 23:50:25 +01:00
Clément Bœsch
87984d2fe2 avfilter/xbr: refactor px calculation in FILT[234] 2014-12-25 23:50:25 +01:00
Clément Bœsch
20cac72a4f avfilter/xbr: move alpha blend assignment out of the macros 2014-12-25 23:50:25 +01:00
Clément Bœsch
006caf03d7 avfilter/xbr: remove unused mask 2014-12-25 23:50:25 +01:00
Clément Bœsch
2188df96cf avfilter/xbr: refactor alpha blending macros 2014-12-25 23:50:25 +01:00
Michael Niedermayer
8706910c4c avformat/cache: Support user specified read-ahead for non seekable media
Fixes Ticket2406

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:09:24 +01:00
Michael Niedermayer
7018d3d351 avformat/cache: Use the correct io handle in seeking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:07:32 +01:00
Michael Niedermayer
dedd3c89ae avformat/cache: more informative error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:07:32 +01:00
Michael Niedermayer
681559d3ff avformat/cache: remember EOF point if hit and use it to handle SEEK_END
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 22:07:23 +01:00
Rémi Denis-Courmont
737d35e334 vdpau: add support for the H.264 High 4:4:4 Predictive profile
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
1f9237f2ac avconv_vdpau: allocate video surface of VDPAU-specified size
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
ebd5320afd vdpau: add support for 4:2:2 and 4:4:4 chroma sampling
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
c220a60f92 vdpau: add helper for surface chroma type and size
Since the VDPAU pixel format does not distinguish between different
VDPAU video surface chroma types, we need another way to pass this
data to the application.

Originally VDPAU in libavcodec only supported decoding to 8-bits YUV
with 4:2:0 chroma sampling. Correspondingly, applications assumed that
libavcodec expected VDP_CHROMA_TYPE_420 video surfaces for output.
However some of the new HEVC profiles proposed for addition to VDPAU
would require different depth and/or sampling:
http://lists.freedesktop.org/archives/vdpau/2014-July/000167.html
...as would lossless AVC profiles:
http://lists.freedesktop.org/archives/vdpau/2014-November/000241.html

To preserve backward binary compatibility with existing applications,
a new av_vdpau_bind_context() flag is introduced in a further change.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
6c99c92a42 libavcodec: add AV_HWACCEL_ALLOW_HIGH_DEPTH flag
This can be used by the application to signal its ability to cope with
video surface of types other than 8-bits YUV 4:2:0.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
57b6704ecd avcodec: add AVCodecContext.sw_pix_fmt
This carries the pixel format that would be used if it were not for
hardware acceleration. This is equal to AVCodecContext.pix_fmt if
hardware acceleration is not in use.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:49 +01:00
Rémi Denis-Courmont
4cfbeef31d h264: factor hwaccel pixel formats list
This is to avoid proliferation of similar tables in following changes.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-25 20:47:48 +01:00
Michael Niedermayer
0c0168a210 avformat/cache: support non continuous caching
This allows using the cache protocol on top of seekable but slow protocols to
speed them up

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 19:20:55 +01:00
Timo Rothenpieler
1efdb0a43f avcodec/nvenc: Remove special cases for cygwin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 15:54:26 +01:00
Michael Niedermayer
7dce91368f avformat/smoothstreamingenc: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 12:51:48 +01:00
Michael Niedermayer
443bd2715d avformat/wtvdec: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 12:51:48 +01:00
Michael Niedermayer
68fa549230 avformat/segment: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 12:51:48 +01:00
Kieran Kunhya
1515bfb313 vf_scale: Use correct chroma positions for YUV420P
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 02:53:29 +01:00
Michael Niedermayer
b51cc701bc avcodec/vc1_mc: use the same reference as luma does in ff_vc1_mc_4mv_chroma()
Fixes Ticket3230

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-25 01:25:29 +01:00
James Almer
b94e85453e avfilter/vf_fspp: add missing inline asm guards 2014-12-24 15:44:06 -03:00
Stefano Sabatini
a51c78c65d lavfi/mp: drop mp=fspp filter
It has been ported to libavfilter.
2014-12-24 16:29:18 +01:00
Arwa Arif
bdc4db0ee3 lavfi: port mp=fspp to a native libavfilter filter
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-12-24 16:29:18 +01:00
Clément Bœsch
ecafde6606 avfilter/showwaves: fix height range for cline mode 2014-12-24 15:13:31 +01:00
Clément Bœsch
f6950a077c avfilter/showwaves: use INT16_MAX instead of a self defined macro 2014-12-24 15:13:31 +01:00
Michael Niedermayer
96dce6f7ce avformat/seek: move the cur variable into the loop
This improves readability and makes it clear that the freed
value is not used after the end of an iteration

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Michael Niedermayer
3f56224a9a avformat/rtpdec_mpeg4: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Michael Niedermayer
ef05af82b2 avformat/rtpproto: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Michael Niedermayer
82d1abc44c avformat/seek: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 13:14:07 +01:00
Reimar Döffinger
bed78064f4 tableprint_vlc.h: Should not be checked by checkheaders.
Same as for tableprint.h.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-24 12:56:36 +01:00
Michael Niedermayer
3a2bed1f9e swscale/yuv2rgb: Fix width % 4 != 0 with bgr4_byte/rgb4_byte
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 00:33:21 +01:00
Michael Niedermayer
3848512d48 swscale/yuv2rgb: Fix width % 4 != 0 with bgr4/rgb4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 00:32:53 +01:00
Michael Niedermayer
3d00ba2688 swscale/yuv2rgb: fix width % 8 != 0 and rgb/bgr8 output
Fixes Ticket2570

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-24 00:23:49 +01:00
Michael Niedermayer
341bd6ec6a avfilter/vf_uspp: use av_malloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 22:52:56 +01:00
Michael Niedermayer
e01467241f avformat/aea: reduce false positives in probing
Fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 18:41:53 +01:00
Michael Niedermayer
0d7a14e236 avformat/avidec: optimize probe
about 2x as fast

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 16:32:26 +01:00
Michael Niedermayer
f7f4a90174 avformat/rtpdec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 15:35:07 +01:00
Michael Niedermayer
bb858e67e5 avformat/rtpdec_latm: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 15:34:29 +01:00
Michael Niedermayer
ba8d2c90cd avformat/rtpdec_xiph: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 15:33:57 +01:00
Nicolas George
40948819fc doc/faq: explain pkg-config basic setup. 2014-12-23 14:38:11 +01:00
James Almer
32c836cb11 x86/vp9: remove duplicate function prototypes
Fixes "redundant redeclaration" warnings.

Signed-off-by: James Almer <jamrial@gmail.com>
2014-12-23 00:56:51 -03:00
Michael Niedermayer
13306dde22 tools/probetest: support testing a single specified input format
This reduces the time the test takes significantly when only one
formats needs to be tested

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 03:39:52 +01:00
Hendrik Leppkes
1ffcf6ac90 frame_thread_encoder: use ref-counting to avoid memcpy of all input frames
Apparently uneeded lock/unlock removed by commiter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-23 01:36:13 +01:00
Michael Niedermayer
fe439c2069 avcodec/h264: also show frames with missing fields when CODEC_FLAG2_SHOW_ALL is set
This allows viewing more of ticket2254

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 21:42:36 +01:00
Piotr Bandurski
75cc85b239 cdxl: fix duration
fixes ticket #1937

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 19:49:02 +01:00
Michael Niedermayer
03b84f2fb2 avformat/rtmpproto: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 12:03:36 +01:00
Michael Niedermayer
fd3e7447c8 avformat/riffdec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 12:03:35 +01:00
Michael Niedermayer
5dfae3f40a avformat/os_support: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-22 12:03:34 +01:00
Michael Niedermayer
41ee459e88 avformat/img2dec: check w/h in dpx_probe
Fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 23:32:57 +01:00
Michael Niedermayer
b7e506b3b9 avformat/swfdec: Check frame size rectangle in probe()
fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 21:10:20 +01:00
Michael Niedermayer
f7a4589b36 avformat/mpegtsenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 19:25:17 +01:00
Michael Niedermayer
47b9481d9d avformat/mpegenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 19:24:11 +01:00
Michael Niedermayer
c73b288927 avfilter/vf_boxblur: Support 10bit planar formats 2014-12-21 16:12:03 +01:00
Michael Niedermayer
34f103b171 avfilter/vf_boxblur: add gbrp pixfmt
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 03:12:02 +01:00
Michael Niedermayer
6706a2986c avfilter/vf_spp: Fix overflow in 8bit store slice
Fixes regression with
ffplay -f lavfi -i testsrc=640x480  -vf format=gray,boxblur=20:10,geq="'mod(lum(X,Y),16)*15'",boxblur=10,geq="'abs(mod(lum(X,Y),15)-7)*32'",spp=4:40

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 01:48:19 +01:00
Michael Niedermayer
f622ff16cd avfilter/vf_boxblur: avoid one addition per line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 00:59:23 +01:00
Michael Niedermayer
7cdce8cb55 avfilter/vf_boxblur: factor rounder offset out
3322 -> 3204 cycles

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-21 00:58:56 +01:00
Michael Niedermayer
1ac5abb1d0 avfilter/vf_spp: fix overflows with depth > 8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 20:39:13 +01:00
Michael Niedermayer
5318cf521f Merge commit '9cfa68c560bdec82d2d5ec079f9c5b0f9ca37af0'
* commit '9cfa68c560bdec82d2d5ec079f9c5b0f9ca37af0':
  mpegts: add support for Opus

Conflicts:
	libavcodec/opus_parser.c
	libavformat/mpegts.c

See: 74141f693d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 19:15:11 +01:00
Michael Niedermayer
988ca9bd53 avfilter/vf_spp: add support for 9bit YUV and GBR as well as GBRP10
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 18:33:52 +01:00
Michael Niedermayer
88c1869afe avcodec/idctdsp: use the 10bit code for 9 bit too
9bit is currently not used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 18:33:37 +01:00
Michael Niedermayer
bb852f0066 avcodec/fdctdsp: use the 10bit code for 9 bit too
9bit is currently not used

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 18:32:50 +01:00
Michael Niedermayer
8db0c2ffe6 avformat/mmst: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 16:54:25 +01:00
Michael Niedermayer
bcd4447173 avformat/http: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 16:53:37 +01:00
Michael Niedermayer
081913aec5 avformat/id3v2: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 16:53:14 +01:00
James Almer
7696e429c7 x86/vp3dsp: port put_vp_no_rnd_pixels8_l2_mmx to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 13:25:43 +01:00
Kieran Kunhya
9cfa68c560 mpegts: add support for Opus
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-20 11:29:19 +01:00
Michael Niedermayer
4ae87554f3 Makefile: add dependencies which require ffversion.h
Without this ffversion.h could sometimes be built too late

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 04:17:03 +01:00
Michael Niedermayer
1728659319 avformat/westwood_aud: replace != 0 error check by <0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 01:51:16 +01:00
Michael Niedermayer
4b45aa517c avformat/asfenc: replace != 0 error check by <0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 01:48:26 +01:00
Michael Niedermayer
3d6545d51e Merge commit '8ebf02f8f530240edf7e45f35f7647ef9dd44a58'
* commit '8ebf02f8f530240edf7e45f35f7647ef9dd44a58':
  libavformat: Only use MoveFileExA when targeting the desktop API subset

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:49:47 +01:00
Michael Niedermayer
a701a9cff4 Merge commit 'fc308b30bb24e623fed042ec78b10803b2362a18'
* commit 'fc308b30bb24e623fed042ec78b10803b2362a18':
  rtpenc_mpegts: Call write_trailer for the mpegts muxer even if no output buffer exists

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:42:07 +01:00
Michael Niedermayer
6b0f54ddc7 Merge commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa'
* commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa':
  mpegts: Support running the write_trailer function without an AVIOContext

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:33:40 +01:00
Michael Niedermayer
3a15168a6e Merge commit '4895aa65c6ddec2e33ec3c023f221b1bafcbaf9f'
* commit '4895aa65c6ddec2e33ec3c023f221b1bafcbaf9f':
  libavformat: Allow calling av_write_trailer with a NULL AVIOContext

Conflicts:
	libavformat/mux.c

See: 277f20c3c8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 00:27:10 +01:00
Clément Bœsch
edbbb11488 avformat/rsd: make tag_buf string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.
2014-12-20 00:17:43 +01:00
Clément Bœsch
d60fb4f794 avformat/apngdec: make tag_buf string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.
2014-12-20 00:17:21 +01:00
Clément Bœsch
83b0fe395b avformat/wavdec: make start_code string larger
av_get_codec_tag_string() uses more that 1 char for unprintable characters.
2014-12-19 23:57:39 +01:00
Thomas Volkert
e8d57e4163 wavdec: avoid output of arbitrary chars
use av_get_codec_tag_string() in wav_read_header() for printing the
faulty start code from riff header

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 23:43:58 +01:00
Thomas Volkert
1a971d33eb wavdec: refactor wav_read_header()
Make it more readable and display an error message in case an invalid
header is detected (the current version just returns
AVERROR_INVALIDDATA)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 22:39:29 +01:00
Martin Storsjö
8ebf02f8f5 libavformat: Only use MoveFileExA when targeting the desktop API subset
The MoveFileExA is available in the headers regardless which API
subset is targeted, but it is missing in the Windows Phone link
libraries. When targeting Windows Store apps, the function is
available both in the headers and in the link libraries, and thus
there is no indication for the build system that this function
should be avoided - such an indication is only given by the
Windows App Certification Kit, which forbids using the MoveFileExA
function.

Therefore check the WINAPI_FAMILY defines instead, to figure out
which API subset is targeted.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:24:47 +02:00
Martin Storsjö
fc308b30bb rtpenc_mpegts: Call write_trailer for the mpegts muxer even if no output buffer exists
Since the mpegts muxer now can handle being called with a NULL
AVIOContext, we don't need to try to allocate one before calling
write_trailer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:14:45 +02:00
Martin Storsjö
e2ce163922 mpegts: Support running the write_trailer function without an AVIOContext
If opening and closing dynamic buffers as AVIOContext, we may
not have any AVIOContext available when wanting to close and
deallocate the muxer. Allow calling write_trailer despite this.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:13:04 +02:00
Martin Storsjö
4895aa65c6 libavformat: Allow calling av_write_trailer with a NULL AVIOContext
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-19 23:12:58 +02:00
Michael Niedermayer
c3e6a55956 avcodec/vp3: Fix offset handling
Fixes use of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 20:53:53 +01:00
Michael Niedermayer
2df5b506ca avcodec/mpegvideo_enc: remove rtp_mode=0 for H261
Suggested-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 20:50:02 +01:00
James Almer
a4d62f7775 x86/constants: fix alignment of pw_255
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 20:21:34 +01:00
Michael Niedermayer
649c158e8c Add FFMPEG_VERSION into the binary libs
This simplifies identifying from which revision a binary of a lib came from

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 19:32:40 +01:00
Michael Niedermayer
869b56cae6 avformat/mpegenc: replace always enabled asserts by av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 15:18:31 +01:00
Michael Niedermayer
b44ae59b70 avfilter/vsrc_life: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 15:04:56 +01:00
Michael Niedermayer
4d48ea3c4b avfilter/vf_libopencv: use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 15:04:34 +01:00
Supraja Meedinti
4e1ecfe214 libavutil: Added cbc mode to cast128
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Previous version reviewed-by: Giorgio Vazzana <mywing81@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:35:29 +01:00
Ronald S. Bultje
bdc1e3e3b2 vp9/x86: intra prediction sse2/32bit support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:07:19 +01:00
Ronald S. Bultje
b6e1711223 vp9/x86: invert hu_ipred left array ordering.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 14:07:18 +01:00
Michael Niedermayer
e67496fe9d Merge commit 'cee4490b521fd0d02476d46aa2598af24fb8d686'
* commit 'cee4490b521fd0d02476d46aa2598af24fb8d686':
  on2avc: check number of channels

See: 550f3e9df3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:39:41 +01:00
Michael Niedermayer
c266d0e1bd Merge commit 'd423dd72be451462c6fb1cbbe313bed0194001ab'
* commit 'd423dd72be451462c6fb1cbbe313bed0194001ab':
  smc: fix the bounds check

Conflicts:
	libavcodec/smc.c

See: c727401aa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:30:55 +01:00
Michael Niedermayer
8af8833591 Merge commit '0b39ac6f54505a538c21fe49a626de94c518c903'
* commit '0b39ac6f54505a538c21fe49a626de94c518c903':
  gifdec: refactor interleave end handling

Conflicts:
	libavcodec/gifdec.c

See: 8f1457864b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:28:57 +01:00
Carl Eugen Hoyos
96ff6d3805 lavf/rtp_h261: Replace restrict with av_restrict.
Fixes compilation on Windows.
2014-12-19 13:25:51 +01:00
Michael Niedermayer
6c7b153d97 Merge commit '17ba719d9ba30c970f65747f42d5fbb1e447ca28'
* commit '17ba719d9ba30c970f65747f42d5fbb1e447ca28':
  mmvideo: check frame dimensions

See: 8b0e96e1f2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:05:49 +01:00
Michael Niedermayer
f346e37aa2 Merge commit '88626e5af8d006e67189bf10b96b982502a7e8ad'
* commit '88626e5af8d006e67189bf10b96b982502a7e8ad':
  jvdec: check frame dimensions

See: 105654e376
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 13:04:03 +01:00
Michael Niedermayer
6c68522a2a Merge commit '809c3023b699c54c90511913d3b6140dd2436550'
* commit '809c3023b699c54c90511913d3b6140dd2436550':
  mjpegdec: check for pixel format changes

Conflicts:
	libavcodec/mjpegdec.c

See: 5c378d6a6d
See: a2f680c7bc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 12:49:23 +01:00
Michael Niedermayer
24af050c2f Merge commit '64f7575fbd64e5b65d5c644347408588c776f1fe'
* commit '64f7575fbd64e5b65d5c644347408588c776f1fe':
  mov: avoid a memleak when multiple stss boxes are present

Conflicts:
	libavformat/mov.c

See: 5ab882d728
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 12:31:52 +01:00
Michael Niedermayer
cee4490b52 on2avc: check number of channels
Fixes invalid memory access.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8549
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Michael Niedermayer
d423dd72be smc: fix the bounds check
Fixes invalid writes when there are more blocks in a run than total
remaining blocks.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8548
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Michael Niedermayer
0b39ac6f54 gifdec: refactor interleave end handling
Fixes invalid writes with very small image heights.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8547
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-19 08:01:47 +01:00
Anton Khirnov
17ba719d9b mmvideo: check frame dimensions
The frame size must be set by the caller and each dimension must be a
multiple of 2.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8543
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
88626e5af8 jvdec: check frame dimensions
The frame size must be set by the caller and each dimension must be a
multiple of 8.

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8542
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
809c3023b6 mjpegdec: check for pixel format changes
Fixes possible invalid memory access.

Based on code by Michael Niedermayer <michaelni@gmx.at>

CC: libav-stable@libav.org
Bug-ID: CVE-2014-8541
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Anton Khirnov
64f7575fbd mov: avoid a memleak when multiple stss boxes are present
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-12-19 08:01:46 +01:00
Michael Niedermayer
c89751aa21 Merge commit '210461c0a83a5625560fa1d92229200dc7fb869b'
* commit '210461c0a83a5625560fa1d92229200dc7fb869b':
  imgconvert: check memory allocations and propagate errors

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:37:26 +01:00
Michael Niedermayer
8ccfafa7b4 Merge commit '596b5c488fa1d40f114a64d3b73e1863cab073fb'
* commit '596b5c488fa1d40f114a64d3b73e1863cab073fb':
  wma: check memory allocations and propagate errors

Conflicts:
	libavcodec/wma.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:36:20 +01:00
Michael Niedermayer
8c9a23833d Merge commit '63be97ec403023fb664798432acedaf6e6922527'
* commit '63be97ec403023fb664798432acedaf6e6922527':
  lavfi: always check av_expr_parse_and_eval() return value

not merged, this is incorrect

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:28:09 +01:00
Michael Niedermayer
c054cff87a Merge commit '9e06327ecb8f73c7904d10af7ad339c57cdaa788'
* commit '9e06327ecb8f73c7904d10af7ad339c57cdaa788':
  xcbgrab: Move NULL check before pointer dereference

Conflicts:
	libavdevice/xcbgrab.c

See: e86df0206f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:14:38 +01:00
Michael Niedermayer
d05b154b5b Merge commit '5ac06633cb63fcc51f2471a3478b44d3f010b16b'
* commit '5ac06633cb63fcc51f2471a3478b44d3f010b16b':
  takdec: check av_samples_get_buffer_size() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:06:23 +01:00
Michael Niedermayer
69234e29ad Merge commit '16c7a8a142277aa3c98b4802ee57daaebe6999e5'
* commit '16c7a8a142277aa3c98b4802ee57daaebe6999e5':
  aacps: invert the order of parameters of ipdopd_reset()

See: 9f36ec6aa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:05:23 +01:00
Michael Niedermayer
bf6e332cb4 Merge commit '76ccf114a6c107218e2a1948afc1d0fb3ac7ba0b'
* commit '76ccf114a6c107218e2a1948afc1d0fb3ac7ba0b':
  rtsp: check ffurl_get_file_handle() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 05:04:24 +01:00
Michael Niedermayer
988d27b802 Merge commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e'
* commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e':
  check memory errors from av_strdup()

Conflicts:
	avprobe.c
	libavformat/matroskaenc.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:57:25 +01:00
Michael Niedermayer
76a8127a45 Merge commit '9745f19ffc9031ce480e43d7cf1053b58100d70f'
* commit '9745f19ffc9031ce480e43d7cf1053b58100d70f':
  assdec: check the right variable

Conflicts:
	libavcodec/assdec.c

See: cc7342f712
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:54:27 +01:00
Michael Niedermayer
5387b0cbfb Merge commit '971099ff5a85377579eb5b8d3620e283957f097e'
* commit '971099ff5a85377579eb5b8d3620e283957f097e':
  aacenc: correctly check returned value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:45:32 +01:00
Michael Niedermayer
445ec2dfcb Merge commit 'ac467d94fa6d9d626f77d4ca8125a5eb1ad5425d'
* commit 'ac467d94fa6d9d626f77d4ca8125a5eb1ad5425d':
  lcl: return an appropriate error code

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:44:08 +01:00
Michael Niedermayer
6781ec6714 Merge commit '8b263331c5ebbb10b6ea521e9fd56751ba94254b'
* commit '8b263331c5ebbb10b6ea521e9fd56751ba94254b':
  mpegts: check get16() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:43:41 +01:00
Michael Niedermayer
5a1cd796e2 Merge commit '430a8168594b3cb29f44141d4da88f2c642de06f'
* commit '430a8168594b3cb29f44141d4da88f2c642de06f':
  oggdec: add support for VP8 demuxing

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

See: d890db5f53
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:36:45 +01:00
Michael Niedermayer
934f2d2f5c Merge commit '38129c26c51b933d7db423f904ba0cd6a88ca1ed'
* commit '38129c26c51b933d7db423f904ba0cd6a88ca1ed':
  cmdutils: check file access functions return values

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:31:17 +01:00
Michael Niedermayer
ff4f2036de Merge commit 'c63dd3f0a48a9f6389d253597ab51caddc0118db'
* commit 'c63dd3f0a48a9f6389d253597ab51caddc0118db':
  a64multi: check elbg return values

Conflicts:
	libavcodec/a64multienc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:21:13 +01:00
Michael Niedermayer
bb7ad47ddf Merge commit '3beb9cbad35218ed1fb3473eeb3cfc97a931bff4'
* commit '3beb9cbad35218ed1fb3473eeb3cfc97a931bff4':
  roqvideo: check memory allocations and propagate errors

Conflicts:
	libavcodec/roqvideoenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:20:30 +01:00
Michael Niedermayer
16f0618200 Merge commit 'ae2d41ec875965ce4ab9fdd88a5e8ba57cada67a'
* commit 'ae2d41ec875965ce4ab9fdd88a5e8ba57cada67a':
  elbg: check memory allocations and propagate errors

Conflicts:
	libavcodec/elbg.c
	libavcodec/elbg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:10:17 +01:00
Michael Niedermayer
bce06eb059 Merge commit '5d839778b9f3edb682b7f71dde4f80f07c75b098'
* commit '5d839778b9f3edb682b7f71dde4f80f07c75b098':
  lavu: Refactor side data wiping

Conflicts:
	libavutil/frame.c

See: a400edbb6d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:57:59 +01:00
Michael Niedermayer
1137ccef70 Merge commit 'effa7d2a6a260ca3ce801c180ee6131d67d665fb'
* commit 'effa7d2a6a260ca3ce801c180ee6131d67d665fb':
  fate: add test for offset theora

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:55:02 +01:00
Michael Niedermayer
6fcdcc414b Merge commit '67fc8a15e4182ea111cfcd05897709f09d99a33a'
* commit '67fc8a15e4182ea111cfcd05897709f09d99a33a':
  theora: support different visible and coded frame size

Conflicts:
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:42:16 +01:00
Michael Niedermayer
3e889713ce Merge commit 'a381e0cec87bcb28ebc05fe840bb937a495de736'
* commit 'a381e0cec87bcb28ebc05fe840bb937a495de736':
  fate: add a DPX parser test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:33:42 +01:00
Michael Niedermayer
2e97437657 Merge commit '87bd298abeb901fe16383a0d267502cc7fc03878'
* commit '87bd298abeb901fe16383a0d267502cc7fc03878':
  DPX parser

Conflicts:
	libavcodec/dpx_parser.c
	libavcodec/version.h

See: 8ec328668a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:30:40 +01:00
Michael Niedermayer
9aabe66781 Merge commit '3a3790b8f8b56ee6abc93ccac280eb693675e294'
* commit '3a3790b8f8b56ee6abc93ccac280eb693675e294':
  tiff: support encoding and decoding 64bit images

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

See: c714cd3bd4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 03:19:23 +01:00
Michael Niedermayer
c8e05c438f Merge commit '59f0275dd0a42a7f90271a83a78e9ca5e69ff5b0'
* commit '59f0275dd0a42a7f90271a83a78e9ca5e69ff5b0':
  movenc: Adjust the pts of new fragments similarly to what is done for dts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:58:16 +01:00
Michael Niedermayer
7ef515cda5 Merge commit '8a70ef94b9c377293b3dfa7d92cdc81a4fe1543a'
* commit '8a70ef94b9c377293b3dfa7d92cdc81a4fe1543a':
  libavformat: Add a muxer wrapping mpegts encoding into RTP

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:49:36 +01:00
Michael Niedermayer
5162af67f4 Merge commit 'a505c0d7373336a4cc5aa2022111c46bdd388b1f'
* commit 'a505c0d7373336a4cc5aa2022111c46bdd388b1f':
  rtp: Initial H.261 support

Conflicts:
	Changelog
	libavformat/rtpdec_h261.c
	libavformat/rtpenc_h261.c
	libavformat/sdp.c
	libavformat/version.h

See: 50a4d5cfc6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:34:17 +01:00
Michael Niedermayer
3f5d1c8130 Merge commit 'adc214e6797750285a5e62634b8521db521162ad'
* commit 'adc214e6797750285a5e62634b8521db521162ad':
  rtpenc: Avoid brittle switch fallthroughs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:24:24 +01:00
Michael Niedermayer
03d1467cf8 Merge commit '3bb465245fed6069512e6821000391beae8a6066'
* commit '3bb465245fed6069512e6821000391beae8a6066':
  h261dec: Fix context initialization sequence

See: 6c1ee1a114
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:16:20 +01:00
Reimar Döffinger
70d80ed40f qdm2: Allow hard-coding VLC tables.
Also adds a lot of infrastructure necessary for it.
Some of it is a bit ugly though.
Increases binary size for hardcoded tables by about 12 kB,
which is about 15 kB from qdm2_table minus data and code
saved that was only used for creating it.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-18 23:51:07 +01:00
Reimar Döffinger
de6d44829c aacps.c: Move large arrays to context to reduce stack usage.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-18 23:50:41 +01:00
Vittorio Giovara
210461c0a8 imgconvert: check memory allocations and propagate errors 2014-12-18 23:27:14 +01:00
Vittorio Giovara
596b5c488f wma: check memory allocations and propagate errors 2014-12-18 23:27:14 +01:00
Vittorio Giovara
63be97ec40 lavfi: always check av_expr_parse_and_eval() return value
CC: libav-stable@libav.org
Bug-Id: CID 703624
2014-12-18 23:27:14 +01:00
Vittorio Giovara
9e06327ecb xcbgrab: Move NULL check before pointer dereference
Bug-Id: CID 1254668
2014-12-18 23:27:14 +01:00
Vittorio Giovara
5ac06633cb takdec: check av_samples_get_buffer_size() return value
CC: libav-stable@libav.org
Bug-Id: CID 747734
2014-12-18 23:27:14 +01:00
Vittorio Giovara
16c7a8a142 aacps: invert the order of parameters of ipdopd_reset()
This is the order that the caller uses in the rest of the file. The
same operation is applied to both parameters, so this change is only
done for consistency, it doesn't change the actual behaviour.

Bug-Id: CID 732285 / CID 732286
2014-12-18 23:27:14 +01:00
Vittorio Giovara
76ccf114a6 rtsp: check ffurl_get_file_handle() return value
CC: libav-stable@libav.org
Bug-Id: CID 717844
2014-12-18 23:27:14 +01:00
Vittorio Giovara
b1306823d0 check memory errors from av_strdup() 2014-12-18 23:27:14 +01:00
Vittorio Giovara
9745f19ffc assdec: check the right variable
CC: libav-stable@libav.org
Bug-Id: CID 1257815
2014-12-18 23:27:14 +01:00
Vittorio Giovara
971099ff5a aacenc: correctly check returned value
CC: libav-stable@libav.org
2014-12-18 23:27:14 +01:00
Vittorio Giovara
ac467d94fa lcl: return an appropriate error code 2014-12-18 23:27:14 +01:00
Vittorio Giovara
8b263331c5 mpegts: check get16() return value
And break flow of execution rather than exiting the function.

CC: libav-stable@libav.org
Bug-Id: CID 732186
2014-12-18 23:27:13 +01:00
James Almer
430a816859 oggdec: add support for VP8 demuxing
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:27:07 +01:00
Vittorio Giovara
38129c26c5 cmdutils: check file access functions return values
CC: libav-stable@libav.org
Bug-Id: CID 703706
2014-12-18 23:23:00 +01:00
Vittorio Giovara
c63dd3f0a4 a64multi: check elbg return values 2014-12-18 23:22:59 +01:00
Vittorio Giovara
3beb9cbad3 roqvideo: check memory allocations and propagate errors 2014-12-18 23:22:59 +01:00
Vittorio Giovara
ae2d41ec87 elbg: check memory allocations and propagate errors 2014-12-18 23:22:59 +01:00
Luca Barbato
5d839778b9 lavu: Refactor side data wiping
And make sure the nb_side_data field is reset as well.

Based on an initial patch from wm4 <nfxjfg@googlemail.com>.

CC: libav-stable@libav.org
2014-12-18 23:22:59 +01:00
Vittorio Giovara
effa7d2a6a fate: add test for offset theora 2014-12-18 23:22:59 +01:00
Vittorio Giovara
67fc8a15e4 theora: support different visible and coded frame size
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:22:59 +01:00
Vittorio Giovara
a381e0cec8 fate: add a DPX parser test 2014-12-18 23:22:59 +01:00
Paul B Mahol
87bd298abe DPX parser
Additional improvements and fixes by Michael Niedermayer <michaelni@gmx.at>.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:22:59 +01:00
Carl Eugen Hoyos
3a3790b8f8 tiff: support encoding and decoding 64bit images 2014-12-18 23:22:59 +01:00
Martin Storsjö
59f0275dd0 movenc: Adjust the pts of new fragments similarly to what is done for dts
The pts and the corresponding duration is written in sidx
atoms, thus make sure these match up correctly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:14:27 +02:00
Martin Storsjö
8a70ef94b9 libavformat: Add a muxer wrapping mpegts encoding into RTP
Since this structurally is quite different from normal RTP
(multiple streams are muxed into one single mpegts stream,
which is packetized into one single RTP session), it is kept
as a separate muxer.

Since this structurally also behaves differently than normal
RTP, all of the other muxers that do chained RTP muxing
(rtsp, sap, mp4) would need to be updated similarly to handle
this - in particular, creating one single rtp_mpegts muxer
for the whole presentation instead of one rtp muxer per stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:12:33 +02:00
Thomas Volkert
a505c0d737 rtp: Initial H.261 support
The packetizer only supports splitting at GOB headers - if
such aren't available frequently enough, it splits at any
random byte offset (not at a macroblock boundary either, which
would be allowed by the spec) and sends a payload header pretend
that it starts with a GOB header.

As long as a receiver doesn't try to handle such cases cleverly
but just drops broken frames, this shouldn't matter too much
in practice.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:11:37 +02:00
Martin Storsjö
adc214e679 rtpenc: Avoid brittle switch fallthroughs
Instead explicitly jump to the default case in the cases where
it is wanted, and avoid fallthrough between different codecs,
which could easily introduce bugs if people editing the code
aren't careful.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:11:37 +02:00
Michael Niedermayer
3bb465245f h261dec: Fix context initialization sequence
ff_mpv_common_init sets s->context_initialized.

This fixes decoding of h261 in the cases where the demuxer
hasn't already set the frame size.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:10:24 +02:00
Yayoi
0463df6f42 avfilter/lut: reduce dereference in the inner loop
For rgb, with a 1080p source, 69 to 74fps on core i5(2 core, 1.8GHz),
and 136 to 160 fps on an core i7(4770R, 3.2Ghz)
Changed the yuv code for consistency, even though the performance
increase is not as obvious as rgb

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 21:54:23 +01:00
Michael Niedermayer
3d8bedef45 Merge commit '91bfac759dfd536e439ad3e35964705012c6a5a7'
* commit '91bfac759dfd536e439ad3e35964705012c6a5a7':
  h261enc: Disallow sliced encoding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 21:10:56 +01:00
Michael Niedermayer
5d97af0cb2 Merge commit 'df07c07b3de0a5e8890078944de1eb5cb8372ef8'
* commit 'df07c07b3de0a5e8890078944de1eb5cb8372ef8':
  rtpdec_h263_rfc2190: Clear the stored bits if discarding buffered data

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 20:40:39 +01:00
Michael Niedermayer
7c0ab0a3b8 Merge commit '42181740a3972e17d0097d28fabc9a1a60322d47'
* commit '42181740a3972e17d0097d28fabc9a1a60322d47':
  rtpenc: Set the AVFMT_TS_NONSTRICT flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 20:30:12 +01:00
Michael Niedermayer
c0586b257d Merge commit '01f251c44d83eedc819625d2caac9ff9697a085d'
* commit '01f251c44d83eedc819625d2caac9ff9697a085d':
  rtpenc: Set the timestamp properly when sending mpegts data, too

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 20:22:47 +01:00
Michael Niedermayer
4d5ca069c7 Merge commit 'f2c614e8c4a935b52bbf86819128d9e797230c20'
* commit 'f2c614e8c4a935b52bbf86819128d9e797230c20':
  srtpproto: fix option flag type

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 19:59:03 +01:00
Michael Niedermayer
368642361f avcodec/indeo3: ensure offsets are non negative
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 18:57:27 +01:00
Michael Niedermayer
19ecd675c5 avfilter/vf_spp: add gbrp support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 17:46:35 +01:00
Michael Niedermayer
4a06215c1a avfilter/vf_spp: add gray8 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 17:43:10 +01:00
Michael Niedermayer
3ff8ef62bb avfilter/vf_spp: Fix pointer type warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 16:54:18 +01:00
Michael Niedermayer
e59c28b166 avcodec/adpcm: Check idelta
Fixes integer overflow
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>
2014-12-18 16:10:23 +01:00
Martin Storsjö
91bfac759d h261enc: Disallow sliced encoding
This avoids trying to do sliced encoding, even if a slice/packet
size is requested (via the -ps option or the rtp_payload_size
field), since the encoder currently doesn't support it (or at least
our decoder can't decode it, even if the h261_encode_gob_header
function is hooked up to be called from the slicing part in
mpegvideo_enc.c).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 12:00:01 +02:00
Martin Storsjö
df07c07b3d rtpdec_h263_rfc2190: Clear the stored bits if discarding buffered data
If we throw away the buffered incomplete frame, make sure to also
throw away the buffered bits of an incomplete byte at the same
time.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:59:54 +02:00
Martin Storsjö
42181740a3 rtpenc: Set the AVFMT_TS_NONSTRICT flag
In particular, when packetizing mpegts into rtp, the input packet
timestamp may come from more than one stream, which could cause
multiple packets be written with the same timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:59:19 +02:00
Martin Storsjö
01f251c44d rtpenc: Set the timestamp properly when sending mpegts data, too
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:59:12 +02:00
Tristan Matthews
f2c614e8c4 srtpproto: fix option flag type
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 11:58:23 +02:00
Michael Niedermayer
61296d41e2 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>
2014-12-18 03:45:59 +01:00
Michael Niedermayer
3281fa8925 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>
2014-12-18 02:19:53 +01:00
Michael Niedermayer
99f8c9e4d1 avcodec/hevc: move qp_block_mask to where its used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 01:55:02 +01:00
Thomas Volkert
00d7555f34 wavdec: RIFX file format support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-18 00:10:35 +01:00
Michael Niedermayer
e8714f6f93 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>
2014-12-17 21:55:45 +01:00
Michael Niedermayer
8aa8d12554 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>
2014-12-17 19:43:58 +01:00
Michael Niedermayer
7d593495e4 avcodec/dcadec: Check that the added xch channel isnt already there
Fixes null pointer dereference
Fixes: signal_sigsegv_369609d_623_cov_2008234281_ES_6.1_16bit.dts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 15:33:59 +01:00
Michael Niedermayer
973684a4fb Merge commit '456e93bfdd4cbc5e995dea415019abd0703d0e16'
* commit '456e93bfdd4cbc5e995dea415019abd0703d0e16':
  dashenc: Adjust the start time of a segment to the end of the previous segment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 12:05:00 +01:00
Michael Niedermayer
b32cb08b7f Merge commit '2f628d5943c12389c07d652d23d3916997f9f0f6'
* commit '2f628d5943c12389c07d652d23d3916997f9f0f6':
  dashenc: Write segment timelines properly if the timeline has gaps

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 11:57:09 +01:00
Martin Storsjö
456e93bfdd dashenc: Adjust the start time of a segment to the end of the previous segment
This is the same adjustment that the mp4 muxer does to the start
timestamp of fragments, since the timestamp of a sample in an mp4
file is implicit from the sum of earlier sample durations.

This avoids gaps in the timeline (which can stop dash.js from
playing it back), and makes sure the timestamp on the segmenter
level matches what the mp4 muxer actually writes into the segments.

This is only an issue if the AVPacket duration of the last
packet of a segment doesn't point to the actual start timestamp
of the next packet (the first in the next segment).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-17 09:43:08 +02:00
Martin Storsjö
2f628d5943 dashenc: Write segment timelines properly if the timeline has gaps
Write a new start time if the duration of the previous segment
didn't match the start of the next one. Check that segments
actually are continuous before writing a repeat count.

This makes sure timestamps deduced from the timeline actually
match the real start timestamp as written in filenames (if
using a template containing $Time$).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-17 09:42:30 +02:00
Michael Niedermayer
3ba1050292 avcodec/imc: dont read bits beyond the end
Fixes use of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 05:14:11 +01:00
Michael Niedermayer
ddd7dac7ae avcodec/utils: check the private context class
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 05:14:11 +01:00
Michael Niedermayer
3305acdc92 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>
2014-12-17 05:14:11 +01:00
Reimar Döffinger
254da44bf9 flacenc: calculate lower sum levels in-place.
Should improve cache usage and reduces stack usage.
Also reduces number of copies in case many levels
have the same number of bits.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-12-17 04:27:09 +01:00
Supraja Meedinti
abbcc68e5c libavutil: cosmetic: inserted spaces wherever necessary
Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-17 02:18:02 +01:00
Michael Niedermayer
f3b5b139ad 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>
2014-12-17 01:33:06 +01:00
Michael Niedermayer
2a983ff7fe 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-16 23:37:26 +01:00
Michael Niedermayer
be9ce6e10a avformat/mov: fix integer overflow of size
Fixes: case1_call_stack_overflow.mp4
Found-by: Michal Zalewski <lcamtuf@coredump.cx>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 23:37:25 +01:00
Michael Niedermayer
caa7a3914f 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>
2014-12-16 23:37:24 +01:00
Michael Niedermayer
3881606240 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>
2014-12-16 23:00:04 +01:00
Lou Logan
a9a3c005b8 doc/filters: fix typos and spelling errors
Prompted-by: Carl Oxwall <@oxwall>
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-12-16 10:32:00 -09:00
Michael Niedermayer
211200e0c0 avcodec/xface: Add asserts to limit nb_words from becoming too large
Approved-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 19:19:35 +01:00
Michael Niedermayer
93a5a16f13 avcodec/xface: correct the XFACE_MAX_* values
Fixes out of array access

Fixes: asan_stack-oob_32c12e5_2536_cov_2442316831_lena.xface
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 19:19:28 +01:00
Michael Niedermayer
3030fb7e0d 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>
2014-12-16 16:27:45 +01:00
Michael Niedermayer
b8eb8b0310 avformat/hlsenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 15:37:04 +01:00
Michael Niedermayer
91ea466551 avformat/flvdec: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 15:37:04 +01:00
Michael Niedermayer
16d763fa45 avformat/hdsenc: Use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 15:37:04 +01:00
Paul B Mahol
5f90ef6611 lavfi: add colorlevels filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-12-16 10:10:04 +00:00
Christian Suloway
92a596f13b avformat/hlsenc: fix hls_write_trailer() on hls_start() failure
Close segment I/O context and append segment in hls_write_trailer() only
when segment I/O context is allocated.

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 03:57:58 +01:00
Derek Buitenhuis
402a61c919 snow_dwt: Don't try and free members of non-existent arrays
If allocation fails earlier on, and the next frame is processed,
the slice buffer could be left in a state where line and data_stack
have already been freed, or are otherwise null pointers.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-12-15 21:52:19 -05:00
Ronald S. Bultje
0a7964dca5 vp9/x86: save one register on 32bit idct32x32.
Fixes build on win32.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 02:51:26 +01:00
Michael Niedermayer
1a86e29ff0 Merge commit '6f4364aba9d70dc5fd9f1c88b9c03bf9ea893d40'
* commit '6f4364aba9d70dc5fd9f1c88b9c03bf9ea893d40':
  mov: Fix handling of zero-length metadata values

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-16 02:23:43 +01:00
Michael Niedermayer
d2f9aefbde ffmpeg: Check for subtitle_out malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 23:26:54 +01:00
Michael Niedermayer
4f1923a91b avcodec/tiffenc: Consistently use ADD_ENTRY1()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 22:45:41 +01:00
Martin Storsjö
6f4364aba9 mov: Fix handling of zero-length metadata values
Since 3cec81f4d4, a zero-length metadata value would try to
allocate 2*0 bytes, where av_malloc() returns NULL.

Always add one to the allocated length, to allow space for
a null terminator in the zero-length case.

Incidentally, this fixes fate-alac on RVCT 4.0, where a compiler
bug seems to mess up the mov muxer to the point that it writes
the wrong sort of metadata. Previously this bug was undetected,
but since 3cec81f4d4 such mov files started returning
AVERROR(ENOMEM) in the mov demuxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-15 23:42:10 +02:00
Michael Niedermayer
4cffcbc809 Merge commit '10d4c5e55e5b23e165aa4c7723073ebe2c2e7da0'
* commit '10d4c5e55e5b23e165aa4c7723073ebe2c2e7da0':
  tiff: set the correct return value when check_size() fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 22:14:14 +01:00
Michael Niedermayer
07b4d4b1a2 Merge commit '3c27275c1309190f2d6ed69140b67d014215b6c9'
* commit '3c27275c1309190f2d6ed69140b67d014215b6c9':
  tiff: Check the check_size() return value and forward it

Conflicts:
	libavcodec/tiffenc.c

See: d50aa006fb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 22:00:52 +01:00
Michael Niedermayer
41915d0b86 Merge commit '4690e01c3aaf495c87127e5dc74aa347197dbc0b'
* commit '4690e01c3aaf495c87127e5dc74aa347197dbc0b':
  prores: Evaluate all the quantizers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:46:29 +01:00
Michael Niedermayer
71df932b22 Merge commit '490a3ebf36821b81f73e34ad3f554cb523dd2682'
* commit '490a3ebf36821b81f73e34ad3f554cb523dd2682':
  matroskadec: Fix read-after-free in matroska_read_seek()

See: 33301f0017
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:35:18 +01:00
Michael Niedermayer
38c3ffbd55 Merge commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1'
* commit 'd75190aa93206c02cb4f18a66d2c927d6a0198e1':
  mpegvideo: move REBASE_PICTURE where it is used

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:27:10 +01:00
Michael Niedermayer
0a3ffcfc82 Merge commit '63fcedcf01247f15b72c0d1f959bb3b612853ba8'
* commit '63fcedcf01247f15b72c0d1f959bb3b612853ba8':
  mpegvideo: remove unused function declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:19:40 +01:00
Michael Niedermayer
b799ec7e0b avcodec/hevc: Print an error if luma_log2_weight_denom is out of range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:12:46 +01:00
Michael Niedermayer
241943d3a2 Merge commit 'b2bece5e9a4dd96142962c6798e187c77b88bbfa'
* commit 'b2bece5e9a4dd96142962c6798e187c77b88bbfa':
  hevc: always clip luma_log2_weight_denom

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 21:06:20 +01:00
Nicolas George
acbc2ed26a lavf/concatdec: handle NOPTS start_time.
Fix trac ticket #3598.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 20:00:35 +01:00
Michael Niedermayer
9887e7df9b Changelog: Add 10bit spp
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 18:59:13 +01:00
Michael Niedermayer
838aa08d75 avfilter/vf_spp: support 10bit per sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 18:49:35 +01:00
Michael Niedermayer
1307c11ce6 avcodec/avdct: support >8bit per sample dcts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 18:25:00 +01:00
Michael Niedermayer
c1d9283b1e doc/ffplay: remove duplicate threads option, this is documented in codecs.*
Fixes Ticket3610

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 17:54:14 +01:00
Michael Niedermayer
ae658efef8 avformat/xmv: Check return code of ff_alloc_extradata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 16:01:05 +01:00
Michael Niedermayer
480cd822b3 avformat/flic: se av_freep() to avoid leaving stale extradata pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:49:00 +01:00
Michael Niedermayer
0051e3c233 avformat/rtpdec_mpeg4: Use av_freep() to avoid leaving stale extradata pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:48:35 +01:00
Michael Niedermayer
c116befc92 avformat/xmv: use av_freep() to avoid leaving stale extradata pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:47:54 +01:00
Vittorio Giovara
10d4c5e55e tiff: set the correct return value when check_size() fails
Only one instance affected and solved as other occurences.
2014-12-15 15:46:34 +01:00
Luca Barbato
3c27275c13 tiff: Check the check_size() return value and forward it
Also use the same type for add_entry and check_size.

Bug-Id: CID 700699
CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovarao@gmail.com>
2014-12-15 15:46:34 +01:00
Luca Barbato
4690e01c3a prores: Evaluate all the quantizers
Prevent an uninitialized data access.

CC: libav-stable@libav.org
Bug-Id: CID 703824 / CID 703825
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-15 15:46:34 +01:00
Xiaohan Wang
490a3ebf36 matroskadec: 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 and invalidate |tracks|.

This assigns |tracks| only before using it, so that it will not get
invalidated elsewhere.

Bug-Id: chromium/427266
2014-12-15 15:46:34 +01:00
Vittorio Giovara
d75190aa93 mpegvideo: move REBASE_PICTURE where it is used
Drop an unused #undef from h264 decoder.
2014-12-15 15:46:34 +01:00
Vittorio Giovara
63fcedcf01 mpegvideo: remove unused function declaration 2014-12-15 15:46:34 +01:00
Vittorio Giovara
b2bece5e9a hevc: always clip luma_log2_weight_denom
Its value shall be between 0 and 7 according to the specifications.

CC: libav-stable@libav.org
Bug-Id: CID 1257502
2014-12-15 15:46:34 +01:00
Michael Niedermayer
89f0feadc2 avformat/assenc: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:43:42 +01:00
Michael Niedermayer
51b193214d avformat/avidec: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 15:43:14 +01:00
Michael Niedermayer
e631872f13 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>
2014-12-15 13:56:59 +01:00
Michael Niedermayer
228fded036 Merge commit 'bab8d73765238bfeea7a8dfd454f40ac213b3d22'
* commit 'bab8d73765238bfeea7a8dfd454f40ac213b3d22':
  vaapi: wrap codec specific functions in appropiate #ifs

Conflicts:
	libavcodec/vaapi.c

See: f2118d44c9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 13:03:01 +01:00
Michael Niedermayer
d2f9b9da03 Merge commit '5a82ad644f281701eb22e0359fd732fac67aafa4'
* commit '5a82ad644f281701eb22e0359fd732fac67aafa4':
  svq1dec: Unbreak the scratch buffer allocation

Conflicts:
	libavcodec/svq1dec.c

See: 4213fc5b9e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 12:23:27 +01:00
Michael Niedermayer
0c7733904e Merge commit 'bcbdeb318e0828cf00b458885ffa1e1596c85d06'
* commit 'bcbdeb318e0828cf00b458885ffa1e1596c85d06':
  asvenc: Forward the error instead of asserting on it

Conflicts:
	libavcodec/asvenc.c

Not merged, conditions which are impossible should be checked by assert*()
adding impossible to be true error checks has the potential to confuse

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 12:04:31 +01:00
wm4
a400edbb6d 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>
2014-12-15 04:46:30 +01:00
Carl Eugen Hoyos
4fa42e04ed configure: Set the default for --shlibdir to --libdir.
Fixes ticket #4183.

Reviewed-by: Ivan Kalvachev
2014-12-15 02:49:55 +01:00
Ronald S. Bultje
cae893f692 vp9/x86: sse2 MC assembly.
Also a slight change to the ssse3 code, which prevents a theoretical
overflow in the sharp filter.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 02:34:05 +01:00
Carl Eugen Hoyos
4373a25d94 lavf/mxfdec: Fix memleaks reading corrupt files.
Fixes ticket #4173.

Reviewed-by: Tomas Härdin
2014-12-15 01:37:12 +01:00
Carl Eugen Hoyos
27bdfd29f1 lavf/mxfdec: Factorize mxf_read_close().
This will allow to fix leaks in a subsequent commit.
2014-12-15 01:31:12 +01:00
Ronald S. Bultje
fd77fbb390 vp9/x86: 32bit and sse2 support for vp9 inverse transform assembly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 00:38:05 +01:00
Michael Niedermayer
4efdb29c75 avformat/dv: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 00:38:05 +01:00
Lukasz Marek
00dc2859f0 cmdutils: use macros for device test
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-14 23:55:41 +01:00
Lukasz Marek
b3311f3cc9 lavd/alsa-audio-common: mark default device in device list
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-14 23:55:41 +01:00
Lukasz Marek
279412c833 lavd/avdevice: use better option types for caps options
Using dedicated types allows to use format/layout names,
not just raw int values.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-14 23:55:41 +01:00
Michael Niedermayer
829099545b Merge commit 'fd665f7f48fa7db89eb9a93ac33919f6adc40f9d'
* commit 'fd665f7f48fa7db89eb9a93ac33919f6adc40f9d':
  avconv: Use the mpeg12 private option scan_offset

Conflicts:
	ffmpeg_opt.c

See: e479013ae4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:54:49 +01:00
Michael Niedermayer
27f2e211aa Merge commit '559fa0d41b5cf8f7e1ba89d1ac70e74712eb2816'
* commit '559fa0d41b5cf8f7e1ba89d1ac70e74712eb2816':
  vdpau: add mapping for H.264 Constrained Baseline profile and fallback

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:23:53 +01:00
Michael Niedermayer
3f679f73a2 Merge commit '8502c1e9ff9c1dbb6e467630c048d098f4064021'
* commit '8502c1e9ff9c1dbb6e467630c048d098f4064021':
  vdpau: add mapping for H.264 Extended profile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:14:58 +01:00
Michael Niedermayer
0b30d186f1 Merge commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9'
* commit '8b51bcfed75721e0d20832e5a90e1d585318c9d9':
  vdpau: revector macro to reduce line span

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:07:41 +01:00
Michael Niedermayer
add040ff01 Merge commit 'e10e6651b50b4087f08813f3e503620db7413d3a'
* commit 'e10e6651b50b4087f08813f3e503620db7413d3a':
  thread: use "" instead of <> for including the w32pthreads wrapper

See: 32eadfe453
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 22:06:33 +01:00
Thiago Santos
bab8d73765 vaapi: wrap codec specific functions in appropiate #ifs
Fix linking when only a subset of vaapi decoders is enabled.

Bug-Id: 760
CC: libav-stable@libav.org

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-14 22:04:38 +01:00
Michael Niedermayer
5a82ad644f svq1dec: Unbreak the scratch buffer allocation
The input packets are always assumed to be padded and
the av_fast_ family of function takes a pointer to a pointer.

Thanks to Nicolas Dufresne <nicolas.dufresne@collabora.com> for
a similar patch.

Introduced in 7b588bb691.

Bug-Id: 766
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-14 22:03:58 +01:00
Luca Barbato
bcbdeb318e asvenc: Forward the error instead of asserting on it
Bug-Id: CID 732997
CC: libav-stable@libav.org
2014-12-14 22:03:22 +01:00
Michael Niedermayer
a29524bf2e avformat/utils: Do not update programs streams from program-less streams in update_wrap_reference()
Fixes Ticket3686

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 20:56:59 +01:00
Michael Niedermayer
8ddfc00ab7 avformat/mp3dec: Name the dummy variable as what it is, to avoid confusion
Found-by: nattyzs <nattyzs@163.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 20:08:13 +01:00
Julien Ramseier
fd665f7f48 avconv: Use the mpeg12 private option scan_offset
Introduced in aed7900704

Bug-Id: debian/773055
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:34:54 +01:00
Rémi Denis-Courmont
559fa0d41b vdpau: add mapping for H.264 Constrained Baseline profile and fallback
Old VDPAU drivers do not support this newly defined profile, so falling
back to Main profile is necessary for backward binary compatibility.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:30:03 +01:00
Rémi Denis-Courmont
8502c1e9ff vdpau: add mapping for H.264 Extended profile
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:29:27 +01:00
Rémi Denis-Courmont
8b51bcfed7 vdpau: revector macro to reduce line span
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-12-14 18:29:07 +01:00
Anton Khirnov
e10e6651b5 thread: use "" instead of <> for including the w32pthreads wrapper
Found-by: Dave Yeo <dave.r.yeo@gmail.com>
2014-12-14 18:15:57 +01:00
Michael Niedermayer
ed86dbd05d 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>
2014-12-14 17:39:53 +01:00
Michael Niedermayer
6de2f027cd avfilter/vf_dctdnoiz: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 15:56:32 +01:00
Michael Niedermayer
eb055295bd avfilter/f_sendcmd: Use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 15:54:45 +01:00
Michael Niedermayer
ad2deb02e5 avcodec/xiph: mark returned header pointers const from avpriv_split_xiph_headers()
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 14:30:45 +01:00
Michael Niedermayer
3b537eab27 avformat/nutenc: store the actual r_frame_rate in the corresponding field if available
Fixes Ticket 3629 part3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 02:12:49 +01:00
Michael Niedermayer
28a6f970f6 ffmpeg: forward r_frame_rate to the muxer in case of stream copy
Fixes Ticket3629 part2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 02:12:49 +01:00
Michael Niedermayer
add46edf33 avformat/utils: use r_frame_rate only in the demuxer for ff_compute_frame_duration()
This is primarly to maintain current behavior when r_frame_rate is set for muxers
and could be reverted if it has some advantage

Fixes Ticket3629 part1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-14 02:12:49 +01:00
Clément Bœsch
d823edee8d avcodec: fix wording in AVSubtitleRect doxy 2014-12-13 23:35:22 +01:00
Rob Sykes
4b6f225374 swresample/soxr_resample: fix error handling
Fixes CID1257659

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 21:12:56 +01:00
Michael Niedermayer
d5a263f480 fix "than" typo
Found-by reimar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 20:52:31 +01:00
Michael Niedermayer
53496aa7f3 avformat/utils: Do not estimate the container bitrate from the streams if one video stream lacks the bitrate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 19:20:10 +01:00
Michael Niedermayer
609a73b6ff avfilter/vf_uspp: fix gray pixfmt handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 17:16:49 +01:00
Michael Niedermayer
3dd5f7aaa0 avfilter/vf_uspp: fix used chroma subsampling factors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 16:54:13 +01:00
Michael Niedermayer
354fda7698 avfilter/vf_uspp: fix used pix_fmt
Found-by: carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 16:38:44 +01:00
Michael Niedermayer
5d0cfb58ef avcodec/dvdsubdec: Avoid strerror() due to thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 15:15:07 +01:00
Michael Niedermayer
3ab82e9206 avcodec/libxvid_rc: Avoid strerror() for thread saftey
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 15:12:37 +01:00
Michael Niedermayer
d7de48f0df avformat/mov: Simplify code by using OFFSET() and FLAGS macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 15:06:19 +01:00
Michael Niedermayer
43fb40c3c3 avfilter/vf_kerndeint: use av_freep(), avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 14:18:30 +01:00
Michael Niedermayer
498396f80c avfilter/vf_unsharp: use av_freep() avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 14:18:30 +01:00
Michael Niedermayer
792a5004a1 avfilter/vf_uspp: Add grayscale support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 05:48:28 +01:00
Michael Niedermayer
b898c49ba1 avfilter/vf_uspp: assert that the qp_type is valid
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-13 05:48:28 +01:00
Lou Logan
10ef8f063b doc: add FFREPORT example
And fix a few nits.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-12-12 16:51:16 -09:00
wm4
a963fdb0ea lavu/dict: check for malloc failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 23:40:50 +01:00
wm4
a66893ac94 avformat/utils: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 23:37:29 +01:00
wm4
ce35a61399 lavc/avpacket: check for malloc failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 19:31:29 +01:00
Arwa Arif
9f85c273a3 Delete mp=uspp 2014-12-12 18:28:31 +00:00
Michael Niedermayer
2a8eb0d156 avfilter/vf_spp: The qp array width is qp_stride not stride/16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 18:14:15 +01:00
Michael Niedermayer
e8dbecb995 avfilter/vf_spp: Allocate qp storage after qp_stride is known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 18:13:13 +01:00
Michael Niedermayer
eb725235b0 avdevice/v4l2: use av_freep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 14:46:46 +01:00
Michael Niedermayer
30d2ac4bf9 avfilter/vf_spp: change temporary to unsigned
More consistent with uspp and allows for future 10bit support

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 13:34:18 +01:00
Michael Niedermayer
e07c82688e avfilter/vf_uspp: fix integer overflow in intermediate
Fixes Ticket3596

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 04:28:34 +01:00
Michael Niedermayer
13c3a97bf1 avfilter/vf_uspp: remove YUV 411/422/440
snow doesnt support 422/411/440 currently, so these do not work yet

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:31 +01:00
Michael Niedermayer
e1540cdf07 avfilter/vf_uspp: use the average QP instead of QP[0]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:31 +01:00
Michael Niedermayer
5172782352 avfilter/vf_uspp: The qp array width is qp_stride not stride/16
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:04 +01:00
Michael Niedermayer
d2d8ac24b8 avfilter/vf_uspp: Allocate qp storage after qp_stride is known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 02:00:04 +01:00
Michael Niedermayer
327c5292f2 avfilter/version: bump for uspp
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 01:58:52 +01:00
Clément Bœsch
1a4128c843 LICENSE: mention that uspp is GPL 2014-12-12 01:52:20 +01:00
Clément Bœsch
df307debf2 build: add forgotten avcodec dependency in uspp 2014-12-12 01:52:20 +01:00
Clément Bœsch
e93abe1f40 avfilter/uspp: use AVFILTER_DEFINE_CLASS() 2014-12-12 01:52:19 +01:00
Clément Bœsch
397859c4a8 avfilter/uspp: make src const in store_slice_c() 2014-12-12 01:45:29 +01:00
Clément Bœsch
73d88109c0 avfilter/uspp: misc style fixes 2014-12-12 01:42:25 +01:00
Arwa Arif
100fc395b6 lavfi: USPP Filter
Previous version reviewed by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-12 01:03:44 +01:00
Michael Niedermayer
e2829a8175 avformat/mov: Disable XMP metadata by default
This was suggested by cbsrobot, ubitux and koda

There are files with huge amounts of XMP data, which would otherwise
be displayed in the terminal output of FFmpeg

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 21:47:37 +01:00
Michael Niedermayer
f96fcba1e3 avcodec/libutvideoenc: Check avpicture_get_size() return code
Fixes CID1257656

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 17:14:15 +01:00
Michael Niedermayer
086e29a011 avcodec/libutvideoenc: fix leak of info array on error
Fixes CID1257657

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 17:13:49 +01:00
Michael Niedermayer
ff0a0b62f3 compat/avisynth/avxsynth_c: Clear all unused fields in returned structs
Fixes: CID1257658

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 16:12:47 +01:00
Gabor Nagy
28fc31d78d avformat/avidec: Do not fail for crazy start times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 14:59:10 +01:00
Michael Niedermayer
27dfe54eb7 avcodec/libxavs: fix division by 0 bitrate
Fixes CID1257655

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 13:25:10 +01:00
Michael Niedermayer
a03f72e744 avcodec/x86/hevc_mc: fix sse register counts
These fix failures of --enable-xmm-clobber-test
It would be better to change the code to use fewer registers, but until
someone does the used register count must not be too small

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 13:17:26 +01:00
Michael Niedermayer
dbdc6e554e configure: do not allow nvenc to be build on cygwin to avoid _WIN32 definition hack
Suggested-by: James Almer <jamrial@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 04:48:22 +01:00
Michael Niedermayer
ef23bd939d avcodec/hevc: Silence "warning: ref0/1 may be used uninitialized in this function"
Also make code more robust by initializing the pointers to NULL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 04:17:43 +01:00
Lou Logan
55c5a38369 doc: add loglevel numerical values
Useful for setting FFREPORT log level.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-12-10 16:45:31 -09:00
Michael Niedermayer
7ee5f764ee Merge commit 'e737a4aaafcb1d761b7f96043c2f83ce742c64ae'
* commit 'e737a4aaafcb1d761b7f96043c2f83ce742c64ae':
  dashenc: Change the duration fields to 64 bit

Conflicts:
	libavformat/dashenc.c

See: e65849a70b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 02:03:47 +01:00
Michael Niedermayer
66daf3b811 Merge commit 'c7921a480467876ece06566e0efd8f6bce9d1903'
* commit 'c7921a480467876ece06566e0efd8f6bce9d1903':
  libfdk-aacdec: Fix a boundary check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 01:46:11 +01:00
Timo Rothenpieler
2a428db5e2 avcodec: Add NVENC encoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-11 01:06:27 +01:00
Christian Suloway
97b65f6126 avformat/hlsenc: added segment file deletion
This option flag deletes segment files removed from the playlist after a
period of time equal to the duration of the segment plus the duration of
the playlist.

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 23:49:25 +01:00
Martin Storsjö
e737a4aaaf dashenc: Change the duration fields to 64 bit
For the last_duration field, it's mostly theoretical, but the
total_duration field more probably may need to actually be 64 bit.

Bug-Id: CID 1254944
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-10 22:51:51 +02:00
Martin Storsjö
c7921a4804 libfdk-aacdec: Fix a boundary check
This avoids potential out of bounds writes, with potential future
versions of the library.

Bug-Id: CID 1254945
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-10 22:51:42 +02:00
Michael Niedermayer
ae93965359 avcodec/hevc_refs: fix potential use of uninitialized min_idx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 14:46:39 +01:00
Michael Niedermayer
52a17972de avformat/yuv4mpegdec: fix "warning: field_order may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 14:46:39 +01:00
Michael Niedermayer
0fadbd3623 avformat/flvdec: fix potential use of uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 13:40:20 +01:00
Michael Niedermayer
a2fa1889a6 avfilter/vf_perspective: add av_assert0() to help gcc see that there are no uninitialized variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 13:40:20 +01:00
Michael Niedermayer
81a045fe17 Merge commit '2c3f29c4894ee50635b846f202296ad79a7c0d33'
* commit '2c3f29c4894ee50635b846f202296ad79a7c0d33':
  xcbgrab: Support empty filename string correctly

Conflicts:
	libavdevice/xcbgrab.c

See: 62eca2f827
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 12:33:37 +01:00
Michael Niedermayer
d43d5c5707 avcodec/x86/hevc_mc: remove dead branch from EPEL_FILTER
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 07:34:49 +01:00
Gabor Nagy
ae8168074e avformat/avidec: Increase dshow_block_align use threshold by 1
Fixes 00.avi

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 03:18:30 +01:00
Luca Barbato
2c3f29c489 xcbgrab: Support empty filename string correctly
Bug-Id: CID 1254664
CC: libav-stable@libav.org
2014-12-10 01:45:50 +01:00
Michael Niedermayer
1397cb002d Merge commit 'fa8934d6d6a0bb290010bdf16265c40b331d56fb'
* commit 'fa8934d6d6a0bb290010bdf16265c40b331d56fb':
  dashenc: log file output progress in verbose mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 01:24:56 +01:00
Michael Niedermayer
bd378acad4 Merge commit '95d880fa6436f3b557a9c060428a04b9e4d552df'
* commit '95d880fa6436f3b557a9c060428a04b9e4d552df':
  rtpproto: Fix the input RTP data format check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 01:24:12 +01:00
Michael Niedermayer
b7bfe17824 Merge commit 'd2f1d42b18787e4fcb28864d9d9f701dd64a5747'
* commit 'd2f1d42b18787e4fcb28864d9d9f701dd64a5747':
  fate: add dolby true hd tests

Conflicts:
	tests/fate/lossless-audio.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 00:58:13 +01:00
Michael Niedermayer
cb416a7d79 Merge commit '4c81613df499ba81d64ea102b38d0c6686cc304c'
* commit '4c81613df499ba81d64ea102b38d0c6686cc304c':
  arm: mlpdsp: handle pic offset calculation in a macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 00:51:26 +01:00
Michael Niedermayer
824932dc47 Merge commit '581c7f0e12b1fa39f73d683e54d6ecda0772c5a9'
* commit '581c7f0e12b1fa39f73d683e54d6ecda0772c5a9':
  arm: make ff_mlp_filter_channel_arm and ff_mlp_rematrix_channel_arm position independent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 00:39:00 +01:00
Bryan Huh
fa8934d6d6 dashenc: log file output progress in verbose mode
As the manifest/segments are flushed to disk, log to stderr the
progress, when in verbose logging mode

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-10 00:03:16 +02:00
Martin Storsjö
95d880fa64 rtpproto: Fix the input RTP data format check
Only the upper 2 bits of the first byte are known to be
a fixed value.

The lower bits in the first byte of a RTP packet could be set
if the input is from another RTP packetizers than libavformat's,
but for RTCP packets, they would also be set when sending RTCP RR
packets, triggering false warnings about incorrect input format
to the protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 23:59:14 +02:00
Carl Eugen Hoyos
01ab761b46 Allow mov musing if the ac3 parser was disabled.
This reverts 8091fe30.
Reported and tested by Takashi, ffmpeg-list dubistmeinheld de
2014-12-09 22:12:53 +01:00
Janne Grunau
d2f1d42b18 fate: add dolby true hd tests
The existing meridian audio test does not test
ff_mlp_rematrix_channel_arm. This sample (first 640k of
https://samples.libav.org/A-codecs/TrueHD/TrueHD.raw) uses
ff_mlp_rematrix_channel_arm. Since this sample has 5.1 channels it also
allows testing the integrated downmixing.
2014-12-09 22:00:08 +01:00
Janne Grunau
4c81613df4 arm: mlpdsp: handle pic offset calculation in a macro
Makes the code easier to read since it hides different offset
calculations for arm and thumb mode.
2014-12-09 22:00:08 +01:00
Janne Grunau
581c7f0e12 arm: make ff_mlp_filter_channel_arm and ff_mlp_rematrix_channel_arm position independent
No significant difference in used cpu cycles on a cortex-a9.
2014-12-09 22:00:08 +01:00
Michael Niedermayer
6ef9d1b216 Merge commit 'fccfc22d1f304aef42a0b960e4c1d55ce67107f5'
* commit 'fccfc22d1f304aef42a0b960e4c1d55ce67107f5':
  libavformat: Build hevc.o when building the RTP muxer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 21:40:09 +01:00
Michael Niedermayer
2d0117f816 avformat/crypto: fix key vs iv typo
Fixes Ticket 4167

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 19:58:56 +01:00
Michael Niedermayer
20cb3fab3f avformat/utils: change assert to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 17:57:35 +01:00
Michael Niedermayer
041c6109da avformat/utils: replace impossible condition by av_assert0() in ff_gen_search()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 17:53:30 +01:00
Michael Niedermayer
308429e124 avformat/wavenc: check return value of strftime()
Fixes CID1257006

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 16:15:40 +01:00
Martin Storsjö
fccfc22d1f libavformat: Build hevc.o when building the RTP muxer
The RTP muxer enables the actual codepaths within sdp.c,
which depend on hevc.o since e5cfc8fd.

This fixes builds with --disable-everything --enable-muxer=rtp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 16:09:37 +02:00
Michael Niedermayer
92d47e2aa3 Merge commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793'
* commit '780cd20b00a69e26bbfffbb8eec16fbe999ea793':
  aarch64: Use .data.rel.ro for const data with relocations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 12:08:29 +01:00
Michael Niedermayer
16e65419ed Merge commit 'f963f80399deb1a2b44c1bac3af7123e8a0c9e46'
* commit 'f963f80399deb1a2b44c1bac3af7123e8a0c9e46':
  arm: Use .data.rel.ro for const data with relocations

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 11:58:13 +01:00
Michael Niedermayer
99bf26fc6b Merge commit '3c01039e0bc7d269900e15551f8171c4328a0223'
* commit '3c01039e0bc7d269900e15551f8171c4328a0223':
  mov: further expand the list of parsed metadata tags

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 11:50:48 +01:00
Martin Storsjö
780cd20b00 aarch64: Use .data.rel.ro for const data with relocations
This reverts commit c00365b46d
in addition to using a different section.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:31 +02:00
Martin Storsjö
f963f80399 arm: Use .data.rel.ro for const data with relocations
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 11:43:25 +02:00
Michael Niedermayer
a5e5959d52 avformat/utils: fix calculating the absolute difference of timestamps
we dont use FFABS(a-b) as that could result in undefined behavior if it overflows

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 06:13:32 +01:00
Reynaldo H. Verdejo Pinochet
720dffb843 ffserver_config: reflow add_codec()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Reynaldo H. Verdejo Pinochet
b4c69b7ea8 ffserver_config: break lines at 80 chars
Add braces when needed and drop redundant parethesis while at it.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Reynaldo H. Verdejo Pinochet
b28d587782 ffserver_config: improve error/warning messages
Fix grammar and quote user-supplied values.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Reynaldo H. Verdejo Pinochet
f95cfff077 ffserver_config: check strchr() return for NULL
Should fix FFmpeg Coverity Scan issue #1257013

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-09 01:03:01 -03:00
Michael Niedermayer
dd70470d72 avformat/utils: Compute the current pts of mpeg1/2 I/P frames from the next frame when available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 03:34:20 +01:00
Michael Niedermayer
9e561410c0 avformat/utils: Pass the next pts/dts to compute_pkt_fields() when available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 03:33:44 +01:00
Michael Niedermayer
e86df0206f avdevice/xcbgrab: check xcb_query_pointer_reply_t pointer before use
Fixes CID1254668

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

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 00:57:49 +01:00
Michael Niedermayer
885e74622e Merge commit 'e2e07dbaab1f17e995842b7eacec4665d44c3d14'
* commit 'e2e07dbaab1f17e995842b7eacec4665d44c3d14':
  mov: expand the list of parsed metadata tags

Conflicts:
	libavformat/mov.c

See: 543f3db978
See: dadf668df2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 23:16:43 +01:00
Lukasz Marek
4acc717a05 fate: add libavcodec/options-test
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-08 23:14:29 +01:00
Lukasz Marek
72732307d9 lavc/options: add test for avcodec_copy_context
This test doesn't cover every possible issue with this function.
It covers options management only.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-08 23:14:29 +01:00
Michael Niedermayer
0dcebe2620 Merge commit 'b704b648f9ecb830874627db958a37e004107d1b'
* commit 'b704b648f9ecb830874627db958a37e004107d1b':
  mov: parse XMP metadata on demand

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

See: 054c506e3d

The default is left unchanged at enabled
We can change the default if people prefer but i do not want to do that
in a merge.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 22:59:16 +01:00
Michael Niedermayer
420aebf0c5 Merge commit '174c5fde90060faab67796a5eaef742630f1db6e'
* commit '174c5fde90060faab67796a5eaef742630f1db6e':
  mov: parse @PRM and @PRQ metadata tags

Conflicts:
	libavformat/mov.c

See: f540851ce3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 22:14:29 +01:00
Michael Niedermayer
82f0f0482e Merge commit '35384934d6e27e0334060a23a0c83a3cb5cef198'
* commit '35384934d6e27e0334060a23a0c83a3cb5cef198':
  mov: cosmetics: reorder the list of tags

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:59:08 +01:00
Michael Niedermayer
74622ad320 Merge commit '6fd91fa11909f27902498648680dbb3d13f1f175'
* commit '6fd91fa11909f27902498648680dbb3d13f1f175':
  h264: increase MAX_SLICES to 32

The available sample decodes correctly before, but the reporter of the bug
claims that this change reduces artifacts. This is thus merged
If someone has samples that decode differently depending in the MAX_SLICES
value, please open a ticket on trac.
Also this change should be reverted if it turns out that the artifacts
that where seen had a different cause

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:48:36 +01:00
Michael Niedermayer
6b4cbfec75 Merge commit 'd0b224054f13bf57244694a3ff092cfef68d66f9'
* commit 'd0b224054f13bf57244694a3ff092cfef68d66f9':
  vf_frei0r: do not increment string if it reached the end

See: 02a6ee5168
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:05:59 +01:00
Michael Niedermayer
879ea06bc5 Merge commit '90411b333d6b6bb69d8937117b9250785730dc53'
* commit '90411b333d6b6bb69d8937117b9250785730dc53':
  Allow reading of growing avi files (currently being written)

Conflicts:
	libavformat/avidec.c
	tests/ref/fate/cvid-partial

See: e42a3dd123
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 21:04:30 +01:00
Michael Niedermayer
c9128c2c83 Merge commit '4843a9c74f77f5eb8d2b1ee648fe2ac6e2a48ec3'
* commit '4843a9c74f77f5eb8d2b1ee648fe2ac6e2a48ec3':
  dpx: always write the image offset

Conflicts:
	libavcodec/dpxenc.c
	tests/ref/lavf/dpx

See: 361319d0f4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 20:53:19 +01:00
Michael Niedermayer
3cfe1d9b3e Merge commit '250e077ee9eec0176a6d54a78542dc792943e71a'
* commit '250e077ee9eec0176a6d54a78542dc792943e71a':
  riff: Support decoding png in avi (ImageJ)

See: 3668168afa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 20:37:49 +01:00
Michael Niedermayer
82a60de3b7 avcodec/pngdec: handle 4 more bytes with SIMD for RGB64 in paeth prediction
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 18:24:58 +01:00
Michael Niedermayer
ed9be7dd47 avcodec/x86/pngdsp: fix off by 1 error
This fixes artifacts in the last pixel of rows with some widths and pixel formats

Found-by: Dominique Leroux <Dominique.Leroux@autodesk.com>
Tested-by: Dominique Leroux <Dominique.Leroux@autodesk.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 18:24:40 +01:00
Michael Niedermayer
41a52740d4 avutil/opt: Fix AV_OPT_TYPE_BINARY case in av_opt_is_set_to_default()
Fixes CID1257010

Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 15:39:17 +01:00
Dave Rice
3c01039e0b mov: further expand the list of parsed metadata tags
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 14:28:16 +00:00
Vittorio Giovara
e2e07dbaab mov: expand the list of parsed metadata tags
Based on L-Smash code by Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>.
2014-12-08 14:28:09 +00:00
Rong Yan
9bd8f2cc32 avcodec/ppc/vp3dsp_altivec: POWER LE support to vp3_idct_add_altivec()
add GET_VDST16() macro

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 15:19:12 +01:00
Vittorio Giovara
b704b648f9 mov: parse XMP metadata on demand
The Extensible Metadata Platform tag can contain various kind of data
which are not strictly related to the video file, such as history of edits
and saves from the project file. So display XMP metadata only when the
user explicitly requires it.

Based on a patch by Marek Fort <marek.fort@chyronhego.com>.
2014-12-08 13:53:30 +00:00
Vittorio Giovara
174c5fde90 mov: parse @PRM and @PRQ metadata tags
These tags describe the product and quicktime library version respectively.
They originate from Adobe Premiere, but also some other programs use them.
Contrary to other tags, they contain 'raw' data which is not to be
interpreted as iso639 or mac strings.

Based on a patch by Peter Ross <pross@xvid.org>.
2014-12-08 13:53:20 +00:00
Vittorio Giovara
35384934d6 mov: cosmetics: reorder the list of tags
Alphabetically order the list by the tag to facilitate the insertion of
new ones.
2014-12-08 13:53:10 +00:00
Vittorio Giovara
6fd91fa119 h264: increase MAX_SLICES to 32
H264 streams from CounterPath Bria and some Cisco phones need an
increased pool for correct decoding.

Bug-Id: 645
Sample-Id: bria-h264.mka
2014-12-08 13:30:38 +00:00
Vittorio Giovara
d0b224054f vf_frei0r: do not increment string if it reached the end
Bug-Id: 778
CC: libav-stable@libav.org
2014-12-08 13:30:38 +00:00
Joakim Plate
90411b333d Allow reading of growing avi files (currently being written)
This uses the RIFF header stored size to figure out the expected AVI
file size, instead of the actual file. To work fully it requires handling
failed avio_seek() instead of assuming they always succeed.

Some fate file has been cut off and contains half a frame at the end which
previously was not output during demuxing. This frame is now output to
encoder, thus the fate diff update.

Bug-Id: 261
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 13:29:33 +00:00
Zoltan Kovacs
4843a9c74f dpx: always write the image offset
According to the DPX file format description found at
http://www.fileformat.info/format/dpx/egff.htm the ImageElement part of
the GenericImageHeader also contains an an offset to the real image data
beside the same member that can be found in the GenericFileHeader.

Libav keeps this member empty (=0) while some applications expects it to
be filled properly. FATE test updated accordingly.

Bug-Id: 742
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-08 13:29:18 +00:00
Carl Eugen Hoyos
250e077ee9 riff: Support decoding png in avi (ImageJ) 2014-12-08 13:29:18 +00:00
Michael Niedermayer
5054d2a92b Merge commit 'b280c6202b28b371a8d96850194fd69d7ad5dcc0'
* commit 'b280c6202b28b371a8d96850194fd69d7ad5dcc0':
  arm: fft_vfp: Unify the behaviour in ff_fft_calc_vfp between arm/thumb

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 12:42:47 +01:00
Michael Niedermayer
8554a10992 Merge commit 'ae81576414f2d2083d3118fb4abe1ebc5a7a4c54'
* commit 'ae81576414f2d2083d3118fb4abe1ebc5a7a4c54':
  arm: fft_vfp: Add a missing "endconst" when building in thumb mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 12:31:33 +01:00
Michael Niedermayer
5ab467043a Merge commit '29bc7bfba288ff8572ed967a8752a1dbde7b724b'
* commit '29bc7bfba288ff8572ed967a8752a1dbde7b724b':
  rtpproto: Write a warning if the input data written isn't RTP packetized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 12:15:44 +01:00
Martin Storsjö
b280c6202b arm: fft_vfp: Unify the behaviour in ff_fft_calc_vfp between arm/thumb
Don't include the function pointer table in the code segment
in arm mode.

This shouldn't have any significant performance effect. It does
end up as a few more instructions than before, for ARM, but
only at the entry to this function, not within the fft functions
themselves.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 12:29:53 +02:00
Martin Storsjö
ae81576414 arm: fft_vfp: Add a missing "endconst" when building in thumb mode
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 12:29:49 +02:00
Martin Storsjö
29bc7bfba2 rtpproto: Write a warning if the input data written isn't RTP packetized
Tell the user that the RTP muxer needs to be used to packetize
the data - using the RTP protocol on its own isn't enough.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-08 11:59:12 +02:00
Carl Eugen Hoyos
3f24dacf81 configure: Let the libx264rgb encoder select the libx264 encoder.
Standalone compilation of the libx264rgb encoder does not work.
2014-12-08 10:43:12 +01:00
Benoit Fouet
4fa2758c79 avcodec/pngdec: check av_image_get_linesize return value
Fixes CID 1257012

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 04:58:00 +01:00
Rens Dijkshoorn
dceb8b1252 avformat/movenc: Add 2048x1080 to the aivx case
This improves compatibility of such files with apple tools

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 04:26:16 +01:00
Michael Niedermayer
208c03a4d8 Merge commit '6a880090cd75b6c31b5ee1f088b6578a293099c6'
* commit '6a880090cd75b6c31b5ee1f088b6578a293099c6':
  doc: Use the correct @subsection tag

See: cf3bfc970c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 02:20:00 +01:00
Michael Niedermayer
ef79bbeddd Merge commit '4fd7e63c87226584e60200b82630a6057c0a6663'
* commit '4fd7e63c87226584e60200b82630a6057c0a6663':
  mp3: Tweak the probe scores

Conflicts:
	libavformat/mp3dec.c

FFmpeg detects the file fine, and there is a non zero risk
that this change may lead to misdetections, thus not merged.
If someone has a mp3 file that is misdetected, please open a ticket

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 02:18:28 +01:00
Michael Niedermayer
dce10f8178 Merge commit '4f5906a1d7f4368cec43b224e8a675f54d2001d2'
* commit '4f5906a1d7f4368cec43b224e8a675f54d2001d2':
  latm: Do not give a score for a single instance

Conflicts:
	libavformat/rawdec.c

No change, the buggy case was not part of FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 01:39:43 +01:00
Michael Niedermayer
9bbb4a98fe Merge commit '71f29410e7c58f2ce4aef1d4b8d8d3c064c8ec06'
* commit '71f29410e7c58f2ce4aef1d4b8d8d3c064c8ec06':
  lavfi: Increase drawtext font size limits

Conflicts:
	libavfilter/vf_drawtext.c

See: b87d4c2b9f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 01:34:55 +01:00
Carl Eugen Hoyos
d9a4db657d Improve configure help text.
Show which features external libraries enable.
Fixes ticket #4157
2014-12-08 00:33:21 +01:00
Carl Eugen Hoyos
7502e1a3b7 Fix xcb 32bit pix_fmts: There is no screen transparency. 2014-12-08 00:31:01 +01:00
Michael Niedermayer
72c984432e avformat/matroskadec: request a sample with recursive seek heads
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 22:45:34 +01:00
wm4
6551acab68 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>
2014-12-07 22:30:56 +01:00
Luca Barbato
6a880090cd doc: Use the correct @subsection tag
makeinfo would otherwise refuse to build it.
2014-12-07 21:50:47 +01:00
Luca Barbato
4fd7e63c87 mp3: Tweak the probe scores
Having more than 10 consecutive frames decoded as mp3 should be
considered a clear signal that the sample is mp3 and not mpegps.

Reported-By: Florian Iragne <florian@iragne.fr>
CC: libav-stable@libav.org
2014-12-07 21:50:47 +01:00
Michael Niedermayer
b1c8dfc84e doc/filters: Add ascii graphics to clarify what the currently implemented tinterlace modes do
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 20:41:35 +01:00
Michael Niedermayer
e65849a70b avformat/dashenc: make durations 64bit
Fix potential integer overflow
Fix CID1254944

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 20:07:26 +01:00
Michael Niedermayer
df6cdb23f0 avcodec/utils: Check AVFrame width/height in avcodec_encode_video2()
This is similar to the format check

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 17:47:44 +01:00
Daniel Moran
0ae37e460c avdevice/xcbgrab: Fix show_region rectangle
Fixes trac ticket #4164

This is to address an error when using show_region, which would cause part of the captured area to become static.
It looks like the rectangle specifying the capture area was relative to the capture window.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 16:13:30 +01:00
Clément Bœsch
6153aa2d1e avcodec/jacosubdec: check strftime return value
Fixes CID1257004
2014-12-07 15:46:17 +01:00
Luca Barbato
4f5906a1d7 latm: Do not give a score for a single instance
Bug-Id: 773
CC: libav-stable@libav.org
2014-12-07 13:15:03 +01:00
Михаил Муковников
71f29410e7 lavfi: Increase drawtext font size limits
Raise the maximum font size to a larger value.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-07 13:15:03 +01:00
Michael Niedermayer
ace9161655 avutil/opt: Check av_parse_video_rate()s return value
Fixes CID1257008

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:57:39 +01:00
Michael Niedermayer
eb74839caa avutil/opt: Check av_parse_color() return value
Fixes: CID1257007

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:46:25 +01:00
Michael Niedermayer
3393cd8545 avcodec/utils: check AVframe.format being set in avcodec_encode_video2()
We dont fail hard if its not set as the old API allowed this and our examples
did in the distant past not set it, these examples still work with the
current code and some encoders.

Based on suggestion by: funman
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:44:14 +01:00
Michael Niedermayer
74080ded96 avformat/mpeg: add commented out av_log() to probe
This is commonly needed for debugging mis-detections

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 22:38:38 +01:00
Michael Niedermayer
e15b29bb18 avformat/mpeg: do not count PES packets inside PES packets during probing
Fixes: misdetection of test2.mp3

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 22:34:10 +01:00
Michael Niedermayer
890d8f44fd avutil/buffer: add #if USE_ATOMICS around atomics specific functions to ensure sync types arent mixed by mistake
Fixes CID1257011

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 20:47:41 +01:00
Michael Niedermayer
a4f387bf56 avformat/mpegts: Warn if ffio_ensure_seekback() failed
Should silence CID1257005

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 20:37:16 +01:00
Michael Niedermayer
6be36ef3c1 avcodec/libxavs: disable global header code
This code only segfaults and fixing the segfault, the resulting
files are unplayable, so disable to avoid the segfault.

Better solution is welcome

See: [FFmpeg-devel] [PATCH] avcodec/libxavs: remove global header code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 19:02:32 +01:00
Michael Niedermayer
c149f67e9b avformat/apetag: More completely check avio_get_str() return value
This is not needed but its more proper to check the return value

Fixes CID1041122

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 17:12:49 +01:00
Michael Niedermayer
7ad742b224 avfilter/vf_signalstats: fix avframe leak on error
Fixes CID1257014
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 17:05:20 +01:00
Michael Niedermayer
8280b7db47 avfilter/buffersrc: add context to av_log() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:31:05 +01:00
Michael Niedermayer
1adc1b97e1 avcodec/hevc_ps: Add context to av_log() call
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:30:41 +01:00
Michael Niedermayer
b4ece54947 avfilter/avcodec: use NULL instead of 0 for pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 15:29:23 +01:00
Reynaldo H. Verdejo Pinochet
7cdc99707b ffserver_config: fix line width on fwd declarations
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-06 02:24:53 -03:00
Reynaldo H. Verdejo Pinochet
ac896f0cd1 ffserver_config: reflow _get_arg()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-06 02:24:53 -03:00
Reynaldo H. Verdejo Pinochet
da95fe4ef8 ffserver_config: reflow _parse_ffconfig()
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-12-06 02:24:53 -03:00
Timothy Gu
4a27f05d14 doc: html: Use native viewport
Fixes displaying docs on small-screen devices.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:48:17 +01:00
Timothy Gu
cd6f0f28bc doc: Do not use the headings as links to TOC anchors
Instead, use FontAwesome icons (if configured to be this way) or separate
text.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:42:19 +01:00
Christian Suloway
1c639fa6e0 avformat/hlsenc: added segment filename option
This option allows segment filenames to be specified. Unless -hls_flags
single_file is set the filename is used as a string format with the
segment number.

Example:
ffmpeg -f lavfi -i testsrc -c:v h264 -map 0 -hls_segment_filename
bar%03d.ts foo.m3u8

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:28:23 +01:00
Michael Niedermayer
ce800d4695 avcodec/dvbsubdec: Remove redundant "DVBSub error" prefix
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:03:08 +01:00
Michael Niedermayer
1d048f762d Merge commit '9a738c27dceb4b975784b23213a46f5cb560d1c2'
* commit '9a738c27dceb4b975784b23213a46f5cb560d1c2':
  v210enc: Add SIMD optimised 8-bit and 10-bit encoders

Conflicts:
	libavcodec/v210enc.c
	libavcodec/v210enc.h
	libavcodec/x86/Makefile
	libavcodec/x86/v210enc.asm
	libavcodec/x86/v210enc_init.c
	tests/ref/vsynth/vsynth1-v210
	tests/ref/vsynth/vsynth2-v210

See: 36091742d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 01:54:10 +01:00
Michael Niedermayer
e827f65618 Merge commit '33c827f632f95ffe3399b695a5a0d47b366b6e20'
* commit '33c827f632f95ffe3399b695a5a0d47b366b6e20':
  swscale: Properly scale YUV

Conflicts:
	libswscale/swscale_unscaled.c
	tests/ref/fate/filter-pixdesc-yuv420p10be
	tests/ref/fate/filter-pixdesc-yuv420p10le
	tests/ref/fate/filter-pixdesc-yuv420p9be
	tests/ref/fate/filter-pixdesc-yuv420p9le
	tests/ref/fate/filter-pixdesc-yuva420p10be
	tests/ref/fate/filter-pixdesc-yuva420p10le
	tests/ref/fate/filter-pixdesc-yuva420p9be
	tests/ref/fate/filter-pixdesc-yuva420p9le
	tests/ref/fate/filter-pixfmts-copy
	tests/ref/fate/filter-pixfmts-null
	tests/ref/fate/filter-pixfmts-scale
	tests/ref/fate/filter-pixfmts-vflip

See: abe0b8e9f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 01:30:08 +01:00
Michael Niedermayer
95482092b1 Merge commit '8c0a865ad96b9e8542051f75b0edc424cb73994e'
* commit '8c0a865ad96b9e8542051f75b0edc424cb73994e':
  mov: skip version and flags attributes in mov_read_chan()

See: 59d40fc7e6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 01:23:09 +01:00
Lukasz Marek
8616c5b75a lavc/options: fix leaks in avcodec_copy_context
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-06 01:01:15 +01:00
Michael Niedermayer
66f379da15 Merge commit 'b72727a5248f1ef02db99b378dce1eb48a46357a'
* commit 'b72727a5248f1ef02db99b378dce1eb48a46357a':
  lavc: mention that the parser callback never returns an error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:52:42 +01:00
Michael Niedermayer
03abf55f25 avformat/rmdec: Check for overflow in ff_rm_read_mdpr_codecdata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:49:23 +01:00
Michael Niedermayer
50f9de59a0 avformat/rmdec: rm_read_extradata: add error message for oversized extradata
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:49:20 +01:00
Michael Niedermayer
ef2f9073dd Merge commit '1c77ead1fb14d64e6798fc5e32af04abcb3cebb4'
* commit '1c77ead1fb14d64e6798fc5e32af04abcb3cebb4':
  rm: Use the correct codec_data_size signedness

Conflicts:
	libavformat/rm.h
	libavformat/rmdec.c

See: a6f730730b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:48:47 +01:00
Michael Niedermayer
a0d0799ea2 Merge commit '1eec9bfc383f6dca29d83a2bfb45433dd66561c9'
* commit '1eec9bfc383f6dca29d83a2bfb45433dd66561c9':
  APIchanges: mark the release 11 branch point

Conflicts:
	doc/APIchanges

Not merged as the contents in our APIchanges differ and it could be confusing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 00:37:25 +01:00
Lukasz Marek
53b2809f2c lavc/options: don't copy priv context when it is not AVOption object
This prevents potential crash when opt API is used without a class.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-06 00:05:18 +01:00
Michael Niedermayer
95f719fb8f Merge commit '69c1fe7c9c9bc85eebfc02c6a19caf7e88cd74ff'
* commit '69c1fe7c9c9bc85eebfc02c6a19caf7e88cd74ff':
  mkv: Validate ASS Start and End fields

Conflicts:
	libavformat/matroskaenc.c

No change as the changed code is not in FFmpeg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:32:40 +01:00
Michael Niedermayer
fa4c3130ee Merge commit '7834a54c66d46471b246b411627efe2e8ef9dd47'
* commit '7834a54c66d46471b246b411627efe2e8ef9dd47':
  configure: enable vda hwaccel by default

Conflicts:
	configure

See: 942cded690
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:20:47 +01:00
Michael Niedermayer
d94a475c59 Merge commit '894545cb717427a47f800dc7738b923afde139a6'
* commit '894545cb717427a47f800dc7738b923afde139a6':
  mpegvideo: exit cleanly when ff_mpv_common_frame_size_change() fails

See: cfce6f7efd
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:08:40 +01:00
Michael Niedermayer
2e59e6ff68 Merge commit '7a38987f245e3c280d81442f207b983333b6233c'
* commit '7a38987f245e3c280d81442f207b983333b6233c':
  mpegvideo: free_context_frame() cannot fail, make it return void

See: 94c61cd9ae
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 23:07:20 +01:00
Michael Niedermayer
9222a176e1 Merge commit 'c45eeb2dbf42382d335da8068231a8026c08843b'
* commit 'c45eeb2dbf42382d335da8068231a8026c08843b':
  mpegvideo: replace assert about interlaced EC with debug av_log()

Conflicts:
	libavcodec/mpegvideo.c

See: c88bbc01eb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 22:48:47 +01:00
Michael Niedermayer
9d921cce4f Merge commit '3a56bcee7cb7549b2813e39ce3bee3b7c522aecb'
* commit '3a56bcee7cb7549b2813e39ce3bee3b7c522aecb':
  mpeg12dec: Use more specific error codes

Conflicts:
	libavcodec/mpeg12dec.c

See: 1852b2a0f4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 22:21:56 +01:00
Michael Niedermayer
bcc43de51f Merge commit 'b56afb48aecb96e03347f5b569f16a64147c18b1'
* commit 'b56afb48aecb96e03347f5b569f16a64147c18b1':
  mpeg12dec: Print error/warning messages on issues in mpeg1_decode_sequence()

Conflicts:
	libavcodec/mpeg12dec.c

See: 88b4c1a731
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 22:10:12 +01:00
Michael Niedermayer
81f116d31c Merge commit 'e0bb74a1403ed77ef369b9d62866f8a4afaf3f1d'
* commit 'e0bb74a1403ed77ef369b9d62866f8a4afaf3f1d':
  exr: Add a gamma flag to exr loader to avoid banding

Conflicts:
	libavcodec/exr.c

See: cd3daad77e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 21:58:33 +01:00
Michael Niedermayer
47c066f22e Merge commit 'd69d787dad77f62c89cbc7ea5d301641f45f36e3'
* commit 'd69d787dad77f62c89cbc7ea5d301641f45f36e3':
  h264: proper cleanup in ff_h264_alloc_tables() if DPB alloc fails

See: 949057c958
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 21:43:24 +01:00
Michael Niedermayer
7a64f16841 Merge commit '56de2897a68e3a8795b0b3c593dad1c5832696e0'
* commit '56de2897a68e3a8795b0b3c593dad1c5832696e0':
  h264: Fix memory leak on ff_h264_decode_init() failure

Conflicts:
	libavcodec/h264.c

See: 309a931a38
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 21:41:01 +01:00
Michael Niedermayer
4ba0141921 avcodec/dvbsubdec: Pass context to av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 20:33:57 +01:00
Michael Niedermayer
b0ae362a21 avcodec/golomb: use NULL for pointers instead of 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 20:27:04 +01:00
Piotr Fusik
c99e5191ab doc/examples/filtering_video: fix frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 16:52:19 +01:00
Rafaël Carré
57bfafe76b avformat/mpegts: fix Opus stream count
That number represents the number of streams, not the number of channels

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 16:00:11 +01:00
Kieran Kunhya
9a738c27dc v210enc: Add SIMD optimised 8-bit and 10-bit encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-05 13:03:49 +00:00
Derek Buitenhuis
33c827f632 swscale: Properly scale YUV
Only shift limited range luma, and always only shift chroma
for upconversion.

Based off a patch by Michael Niedermayer.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-05 13:03:49 +00:00
Matthieu Bouron
8c0a865ad9 mov: skip version and flags attributes in mov_read_chan()
Fixes decting channel layout for files with uncommon audio, such as
FL and FR in two separate streams. Introduced in 3bab7cd.

CC: libav-devel@libav.org
Sample-Id: ticket1474.mov
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-05 13:03:49 +00:00
Michael Niedermayer
a7ebd0b011 avcodec/mpegaudiodec_template: only allocate fdsp when its used
Fixes memleak

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 04:27:49 +01:00
Lukasz Marek
4a0b1d9245 lavc/libxvid: workaround for bug in libxvidcore
libxvidcore calculate number of threads basing on video height.
If height is small enough it allocates 0 bytes long memory and
writes to it.
Setting thread_count to 0 uses 1 thread and skips bugged code.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-05 03:29:28 +01:00
Vittorio Giovara
b72727a524 lavc: mention that the parser callback never returns an error 2014-12-05 00:44:42 +00:00
Mark Reid
4f69477870 libavformat/mxfdec.c refactor resolving MultiDescriptor and remove essence group hack
I think this is a better way to deal with single frame essence data then my
previous way.

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 23:31:37 +01:00
Steve Jiekak
a32c3c2392 replaced av_dv_codec_profile by av_dv_codec_profile2 in encoder and dv muxers
Signed-off-by: Steve Jiekak <devaureshy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 20:24:00 +01:00
Steve Jiekak
6e9ac02af8 add av_dv_codec_profile2 : uses framerate to select best matching profile. default on first matching profile
Signed-off-by: Steve Jiekak <devaureshy@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 20:23:52 +01:00
Michael Niedermayer
bde27e1e61 doc/examples/transcoding: check encoder before using it
Fixes null pointer exception

Found-by: stoupeace
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 18:58:38 +01:00
Michael Niedermayer
cbf09545f2 avcodec/imc: only check remaining bits in case bits will be read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 18:24:50 +01:00
Christophe Gisquet
291747581e imc: make issue non-fatal
The "faulty" samples actually sound fine when ignoring this issue.

For ticket #3886, more samples are decoded.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 18:24:33 +01:00
Benoit Fouet
0f6931f4b6 avcodec/pngdec: use memcpy instead of byte loops for P frames.
Rely on the way memcpy is optimized for one's system instead of looping
on a byte buffer for buffer copies to handle P frames.

Tested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 17:01:04 +01:00
Michael Niedermayer
a4f21a8dd9 MAINTAINERS: add 2.5
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 14:24:59 +01:00
Luca Barbato
1c77ead1fb rm: Use the correct codec_data_size signedness
The function takes a size and not an offset.

CC: libav-stable@libav.org
Sample-Id: rm_deadlock.rm

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-12-04 13:14:28 +00:00
Rong Yan
d23e883248 avcodec/ppc/vp8dsp_altivec.c: POWER LE support put_vp8_epel_h_altivec_core() put_vp8_epel_v_altivec_core() put_vp8_pixels16_altivec() add marcos GET_PIXHL() GET_OUTER() LOAD_HL()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 13:35:06 +01:00
Rong Yan
36cd2bcbc3 avcodec/ppc/vc1dsp_altivec: add POWER LE support to vc1_inv_trans_8x4_altivec()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 11:47:23 +01:00
Timothy Gu
af14ae8037 RELEASE: Bump
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 11:44:35 +01:00
Michael Niedermayer
5fe026f2bd avcodec/aacdec: reduce noisiness of missing channel elements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:52:32 +01:00
Michael Niedermayer
8d87c0b3ad Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix standalone compilation of the iec61883 input device.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:52:01 +01:00
Carl Eugen Hoyos
963aa1daf8 Fix standalone compilation of the iec61883 input device. 2014-12-04 01:35:47 +01:00
Michael Niedermayer
0f16ab18db doc/APIchanges: add 2.5 cut marker
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:28:40 +01:00
Michael Niedermayer
f478bdabf2 Changelog: add 2.5 entry
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 01:28:06 +01:00
Benoit Fouet
1d69ab9d1c avcodec/pngdec: fix indentation in handle_row()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 00:31:11 +01:00
Benoit Fouet
6e9b060e4f avcodec/pngdec: fix mem leak in init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 00:30:54 +01:00
Benoit Fouet
08aec6f68e libavcodec/pngdec: support 'previous' dispose operation for APNG.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-04 00:30:38 +01:00
Reimar Döffinger
49d9cbe55d h264_i386: Fix operand size
Fixes fate failure on macosx clang x86-64

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

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

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

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

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 19:05:56 +01:00
Jonathan Baecker
868cec5874 avdevice/decklink_common: fix COM initialization failure check
Signed-off-by: Jonathan Baecker <jonbae77@gmail.com>
Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 18:47:24 +01:00
wm4
1eec9bfc38 APIchanges: mark the release 11 branch point 2014-12-03 15:13:36 +00:00
Michael Niedermayer
534f901fca avcodec/atrac3plusdec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 14:52:38 +01:00
Michael Niedermayer
c5dc8cc03a avcodec/mpegaudiodec_float: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 14:52:38 +01:00
Michael Niedermayer
e316caf712 avcodec/opusdec: Use avpriv_float_dsp_alloc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 14:52:38 +01:00
Luca Barbato
69c1fe7c9c mkv: Validate ASS Start and End fields
CC: libav-stable@libav.org
2014-12-03 13:08:41 +00:00
Vittorio Giovara
7834a54c66 configure: enable vda hwaccel by default
Following the old thread suggestions.
Vittorio
2014-12-03 12:54:23 +00:00
Michael Niedermayer
894545cb71 mpegvideo: exit cleanly when ff_mpv_common_frame_size_change() fails
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 12:52:53 +00:00
Michael Niedermayer
7a38987f24 mpegvideo: free_context_frame() cannot fail, make it return void
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:52:04 +00:00
Michael Niedermayer
c45eeb2dbf mpegvideo: replace assert about interlaced EC with debug av_log()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:51:43 +00:00
Michael Niedermayer
3a56bcee7c mpeg12dec: Use more specific error codes
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 12:50:52 +00:00
Michael Niedermayer
b56afb48ae mpeg12dec: Print error/warning messages on issues in mpeg1_decode_sequence()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 12:44:58 +00:00
Christophe Gisquet
9fa056ba75 pngdsp x86: use unaligned access
For test images manually generated to contain only up prediction,
timing results:
         8380x3032    255x185
before:   138635       1992
after:    139232       1996

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

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

Fixes ticket #4148

Signed-off-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Tested-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-03 11:56:22 +01:00
Gonzalo Garramuno
e0bb74a140 exr: Add a gamma flag to exr loader to avoid banding
This is needed to avoid banding artifacts when gammaing the picture.
Currently, if done with a video filter, the process is done on uints
instead of full float.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-03 02:55:40 +00:00
Michael Niedermayer
d69d787dad h264: proper cleanup in ff_h264_alloc_tables() if DPB alloc fails
CC: libav-devel@libav.org
2014-12-03 02:51:27 +00:00
Dale Curtis
56de2897a6 h264: Fix memory leak on ff_h264_decode_init() failure
CC: libav-devel@libav.org
2014-12-03 02:51:18 +00:00
Michael Niedermayer
242f1152bf ffmpeg: drop usage of coded_frame
It causes all kinds of problems and there is no code in the muxers that reads
this field

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

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

Conflicts:
	libavformat/mpegtsenc.c

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

Conflicts:
	libavformat/mpegtsenc.c

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

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

Conflicts:
	libavformat/mov.c

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

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

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

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

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

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

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

Conflicts:
	libavformat/mov.c

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

Conflicts:
	libavformat/rtsp.c

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

Conflicts:
	libavcodec/aacdec.c

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	RELEASE

Not merged as the tag is not a FFmpeg version

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fate looks good.

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/dashenc.c

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

Conflicts:
	libavformat/rtmpproto.c

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

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

Conflicts:
	libavformat/rtmpproto.c

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

Conflicts:
	libavformat/rtmpproto.c

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

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

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

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

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

Based on a patch by Jeffrey Wescott.

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

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

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

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

Conflicts:
	libavutil/buffer.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	configure

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

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

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

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

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

Based on a suggestion by Reimar Döffinger.

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

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

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

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

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

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

Conflicts:
	libavformat/movenc.c

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavfilter/x86/vf_interlace.asm

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

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

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

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

Conflicts:
	libavcodec/vc1_block.c

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

Conflicts:
	libavcodec/vc1_block.c

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

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

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

Conflicts:
	libavcodec/vc1_pred.c

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/os_support.h

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

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

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

Conflicts:
	libavformat/flvdec.c

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavcodec/roqaudioenc.c

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

Conflicts:
	libavcodec/tiffenc.c

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

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

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

Conflicts:
	libavcodec/aacdec.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/dashenc.c

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

Conflicts:
	libavformat/os_support.h

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

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

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

Based on a patch by Rodger Combs.

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

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

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

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

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

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

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

Conflicts:
	libavcodec/hevc.c

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

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

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

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

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

Conflicts:
	libavcodec/dvdsubdec.c

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

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

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

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

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

Conflicts:
	libavformat/xwma.c

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

Conflicts:
	libavcodec/allcodecs.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fixes Ticket 4119
Fixes Ticket 1578

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

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

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

Conflicts:
	configure

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

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

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

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

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

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

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

Conflicts:
	libavformat/mov.c

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

Conflicts:
	libavcodec/internal.h

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

Conflicts:
	libavcodec/libvpxenc.c

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

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

Conflicts:
	libavformat/mux.c

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

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

Conflicts:
	libavformat/Makefile

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

Conflicts:
	libavformat/movenc.c

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

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

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

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

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

Conflicts:
	Changelog
	libavformat/version.h

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/flvenc.c

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

Conflicts:
	libavcodec/hevc.c

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

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

Conflicts:
	libavcodec/hevc.c

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

Conflicts:
	libavcodec/hevc.c

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

Conflicts:
	libavcodec/hevc.c

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

Conflicts:
	libavcodec/hevcdsp_template.c

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

Conflicts:
	libavcodec/hevc.c

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

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

Conflicts:
	libavcodec/hevc.c

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

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

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

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

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

Fixes CID #1254667

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

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

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

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

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

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

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

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

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

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

Fixes #1275
Fixes #1461

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavcodec/dvdec.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavcodec/jpeg2000.c

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

Conflicts:
	libavcodec/svq1enc.c

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

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

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

Conflicts:
	libavcodec/g2meet.c

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

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

Conflicts:
	libavcodec/shorten.c

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

Conflicts:
	libavcodec/dcadec.c

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

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

Conflicts:
	libavcodec/mlpdec.c

See: 8491ac3ad2

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

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

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

Conflicts:
	libavcodec/vorbisenc.c

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

Conflicts:
	libavcodec/dpxenc.c

No change as the changed code is implemented differently in FFmpeg

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

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

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

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

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

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

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

Conflicts:
	libavcodec/dnxhdenc.c

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

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

Conflicts:
	libavcodec/h264.c

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

Not merged, the original code was correct.

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

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

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

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

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

Conflicts:
	libavcodec/4xm.c

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

Adding such impossible checks would confuse the reader

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libavcodec/tiffenc.c

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

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

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

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

Conflicts:
	libavcodec/png_parser.c

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

Conflicts:
	libavcodec/dvbsubdec.c

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

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

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

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

Conflicts:
	libavcodec/dvbsubdec.c

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

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

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

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

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

Added printing of default values.

Added more cases for testing av_set_options_string

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

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

Conflicts:
	libavcodec/4xm.c

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

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

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

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

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

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

Conflicts:
	libavcodec/mpegvideo.c

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

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

Conflicts:
	libavcodec/Makefile

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

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

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

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

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

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

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

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

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

This fixes builds with --disable-everything.

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

Conflicts:
	libavdevice/v4l2.c

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

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

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

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

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

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

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

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

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

Conflicts:
	libavdevice/v4l2.c

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

Conflicts:
	libavdevice/v4l2.c

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

Conflicts:
	libavcodec/utils.c

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

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

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

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

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

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

Fixes Ticket3762

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

Fixes Ticket #3517

Conflicts:

	libavdevice/v4l2.c

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

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

Conflicts:
	libavformat/movenc.c

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

Conflicts:
	libavformat/movenc.c

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

Conflicts:
	libavformat/movenc.c

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

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

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

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

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

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

Change-Id: I9c7065fe8f4311ca846076281df2282d190ed344

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

Conflicts:
	libavformat/version.h

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

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

Conflicts:
	libavformat/movenc.c

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

Conflicts:
	libavformat/mux.c

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

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

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

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

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

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

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

This simplifies the complicated codepath ever so slightly.

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

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

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

Based on patches by Michael Niedermayer.

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

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

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

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

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

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

Conflicts:
	libavcodec/mjpegdec.c

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

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

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

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

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

Conflicts:
	libavcodec/mpegvideo_enc.c

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

Conflicts:
	libavcodec/mpegvideo_enc.c

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

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

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

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

No functional change in the code.

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

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

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

Not merged, this change is not correct

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

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

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

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

Conflicts:
	libavcodec/Makefile

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

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

Conflicts:
	libavformat/mux.c

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

Conflicts:
	libavformat/oggparsevorbis.c

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

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

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

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

Conflicts:
	libavcodec/vorbis_parser.c

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

Conflicts:
	libavcodec/vorbis_parser.c

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

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

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

Fix trac ticket #4062.

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

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

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

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

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

Conflicts:
	libavformat/rtmpproto.c

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

Based on a patch by Michael Niedermayer.

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

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

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

Conflicts:
	libavcodec/aacdec.c

Note, the default case is currently unreachable

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

Regression from 1c80c9d7ef.

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

Conflicts:
	libavcodec/aacsbr.c

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

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

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

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

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

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

Conflicts:
	libavcodec/get_bits.h

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

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

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

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

Fixes ticket #3694

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

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

Fixes Ticket4046

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

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

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

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

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

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

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

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

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

Options provided more than once are threated as errors.

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

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

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

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

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

This commit postpone context creation until all information is gathered.

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

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

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

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

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

Conflicts:
	libavformat/version.h

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

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

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

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

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

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

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

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

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

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

Conflicts:
	doc/muxers.texi

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

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

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

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

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

Conflicts:
	libavformat/assdec.c

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

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

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

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

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

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

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

Conflicts:
	libavdevice/fbdev_dec.c

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

Conflicts:
	libavformat/mtv.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This should fix Ticket3278 properly and unbreak Ticket4040.

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

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

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

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

no change as the buggy line was not in FFmpeg

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

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

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

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

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

This fixes bug 757.

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

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

Conflicts:
	libavformat/bethsoftvid.c

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

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

Conflicts:
	libavformat/matroskaenc.c

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

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

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

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

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

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

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

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

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

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

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

Fixes ticket #2970.

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

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

Conflicts:
	libavfilter/vf_drawtext.c

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

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

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

Conflicts:
	configure

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

Conflicts:
	libavformat/wtvdec.c

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

Conflicts:
	libavformat/wtvdec.c

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

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

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

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

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

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

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

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

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

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

fate tests accordingly updated.

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

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

Conflicts:
	libavformat/mov.c

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

Conflicts:
	libavformat/mxfenc.c

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

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

Conflicts:
	libavformat/matroskaenc.c

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

Conflicts:
	libavformat/matroskadec.c

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

Conflicts:
	libavformat/matroskadec.c

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

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

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

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

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

Conflicts:
	libavformat/img2dec.c

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

Conflicts:
	libavformat/audiointerleave.c

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

Conflicts:
	libavfilter/avfilter.c

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

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

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

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

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

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

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

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

Conflicts:
	libavformat/mp3enc.c

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

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

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

Conflicts:
	libavformat/mp3dec.c

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

Conflicts:
	libavformat/hls.c

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

Conflicts:
	ffmpeg.c

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

Conflicts:
	ffplay.c

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

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

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

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

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

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

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

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

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

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

Based on a patch by Olivier Langlois.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fate tests have been updated.

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

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

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

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

Conflicts:
	libavformat/nutdec.c

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

Conflicts:
	libavformat/nutenc.c

Not merged, the assert is correct

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

Conflicts:
	libavformat/rmdec.c

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

Conflicts:
	libavformat/rmdec.c

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

Conflicts:
	libavformat/flvdec.c

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

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

Conflicts:
	libavformat/smoothstreamingenc.c

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

Conflicts:
	tests/fate/mpeg4.mak

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

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

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

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

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

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

Conflicts:
	libavformat/nutdec.c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conflicts:
	libswscale/rgb2rgb_template.c

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

Conflicts:
	libavdevice/oss_audio.c

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

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

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

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

Conflicts:
	libavfilter/vf_showinfo.c

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

Conflicts:
	libavfilter/vf_drawtext.c

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

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

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

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 19:23:00 +02:00
Michael Niedermayer
ae6ba2db8f avcodec/mjpegenc: add priv_class to encoders
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 19:13:20 +02:00
Alexander Drozdov
0034314a69 rtmp: Always call rtmp_close() on rtmp_open() failure
Prevent possible memory leaks.

Connect to nginx and request a non-existent resource to
trigger the issue.

CC: libav-stable@libav.org

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Uwe L. Korn <uwelk@xhochy.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-18 17:37:11 +02:00
Vittorio Giovara
fc1eda543c swscale: fix sign extensions in yuv planar conversion
Casting the left-most byte to unsigned avoids an undefined
result of the shift by 24 if bit 7 is set.

yuvPlanartouyvy_c and yuvPlanartoyuy2_c are affected.

CC: libav-stable@libav.org
Bug-Id: CID 732281 / CID 732282
2014-10-18 16:15:10 +01:00
Timothy Gu
b7c77912b6 oss_audio: use a macro to simplify ioctl() error checking
Also add a note about SNDCTL_DSP_GETFMTS which may fail even if OSS is
available.

CC: libav-stable@libav.org
Bug-Id: CID 1238992
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-18 16:15:10 +01:00
Luca Barbato
963f761448 avresample: Make sure the even check does not overflow
CC: libav-stable@libav.org
Bug-Id: CID 732225
2014-10-18 16:15:10 +01:00
Vittorio Giovara
088eca2816 avresample: prevent theoretical division by zero
CC: libav-stable@libav.org
Bug-Id: CID 1231986
2014-10-18 16:15:10 +01:00
Vittorio Giovara
0d989dbfc4 af_resample: check av_opt_set_dict return value
CC: libav-stable@libav.org
Bug-Id: CID 1087076
2014-10-18 16:15:10 +01:00
Vittorio Giovara
6d96c7ea89 vf_showinfo: Forward the av_image_get_linesize error
CC: libav-stable@libav.org
Bug-Id: CID 1087086
2014-10-18 16:15:10 +01:00
Luca Barbato
f401792595 vf_drawtext: Do not leak the mmapped textfile
And validate its size while at it.

CC: libav-stable@libav.org
Bug-Id: CID 1244189
2014-10-18 16:15:09 +01:00
Giorgio Vazzana
b48c95b6c9 libavutil: Add missing av_free() to cast5 selftest
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 16:57:54 +02:00
Michael Niedermayer
709ab39cb9 Merge commit '15ec053c4c0b198a2e93eb8e60c8f41e091e0c40'
* commit '15ec053c4c0b198a2e93eb8e60c8f41e091e0c40':
  lavc: make border_masking into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:58:55 +02:00
Michael Niedermayer
1a5871d1be Merge commit 'c4f7bee0872d5e2e0e91673dd4b0f18de4a3d866'
* commit 'c4f7bee0872d5e2e0e91673dd4b0f18de4a3d866':
  lavc: deprecate unused mb_threshold field

Conflicts:
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:42:29 +02:00
Michael Niedermayer
8be1120deb Merge commit '685be3d1aecf965281128f3b631ed965bcfa754d'
* commit '685be3d1aecf965281128f3b631ed965bcfa754d':
  libvpxenc: add static-thresh private option

Conflicts:
	libavcodec/libvpxenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:33:57 +02:00
Michael Niedermayer
c48e8d9dca Merge commit '59b55c494e01de09dfd7cbf9cbbe7223265ac283'
* commit '59b55c494e01de09dfd7cbf9cbbe7223265ac283':
  lavc: deprecate unused me_threshold field

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 15:04:42 +02:00
Michael Niedermayer
fc67d937cc Merge commit '66a68ddd1ac376b24db8695058bc8fc28f5bada6'
* commit '66a68ddd1ac376b24db8695058bc8fc28f5bada6':
  lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 14:18:41 +02:00
Michael Niedermayer
ec8f56efad Merge commit 'a75c2eb25a62105c09b48521aef429dc8a231637'
* commit 'a75c2eb25a62105c09b48521aef429dc8a231637':
  lavc: make rc_eq into private options of mpegvideo encoders

Conflicts:
	libavcodec/options_table.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 14:06:15 +02:00
Michael Niedermayer
17a065cf20 Merge commit '946f95354ba76ef73c9b66889d86ab5fba4fb486'
* commit '946f95354ba76ef73c9b66889d86ab5fba4fb486':
  lavc: make rc_qmod_* into private options of mpegvideo encoders

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 13:52:06 +02:00
Michael Niedermayer
7412835204 Merge commit 'a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf'
* commit 'a6e4ce9fd50897dc6d9c2ada4b6b8090de7de5bf':
  lavc: make rc_qsquish a private option of mpegvideo encoders

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 13:30:38 +02:00
Michael Niedermayer
17d16008be Merge commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836'
* commit '6cbbf0592f4f3940aac7f687850d1b726a2ea836':
  resample: Avoid off-by-1 errors in PTS calcs.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:47:37 +02:00
Michael Niedermayer
7321fc2f43 tests/fate/mpeg4: add -sws_flags +bitexact
Should fix fate-mpeg4-resolution-change tests

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:44:32 +02:00
Michael Niedermayer
83a897656a Merge commit 'fb238f8230c1b0314985482207add548c68f83cf'
* commit 'fb238f8230c1b0314985482207add548c68f83cf':
  urlprotocol: remove unused url_interrupt_cb declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 12:16:04 +02:00
Anton Khirnov
530c1441fd lavc: make lmax/lmin into private options of mpegvideo encoders 2014-10-18 05:29:14 +02:00
Anton Khirnov
15ec053c4c lavc: make border_masking into private options of mpegvideo encoders 2014-10-18 05:28:40 +02:00
Anton Khirnov
c4f7bee087 lavc: deprecate unused mb_threshold field 2014-10-18 05:28:29 +02:00
Anton Khirnov
685be3d1ae libvpxenc: add static-thresh private option
Currently, this option is accessed through AVCodecContext.mb_threshold,
which originally controlled reusing MB data when transcoding mpeg to
mpeg. Since the libvpx meaning is completely different from the original
mpegvideo meaning, it is better to use a separate private option for
this.
2014-10-18 05:28:03 +02:00
Anton Khirnov
59b55c494e lavc: deprecate unused me_threshold field 2014-10-18 05:26:56 +02:00
Anton Khirnov
66a68ddd1a lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders 2014-10-18 05:26:29 +02:00
Anton Khirnov
a75c2eb25a lavc: make rc_eq into private options of mpegvideo encoders 2014-10-18 05:23:51 +02:00
Anton Khirnov
946f95354b lavc: make rc_qmod_* into private options of mpegvideo encoders 2014-10-18 05:23:05 +02:00
Anton Khirnov
a6e4ce9fd5 lavc: make rc_qsquish a private option of mpegvideo encoders 2014-10-18 05:21:50 +02:00
Timothy B. Terriberry
6cbbf0592f resample: Avoid off-by-1 errors in PTS calcs.
The rounding used in the PTS calculations in filter_frame() does
not actually match the number of samples output by the resampler.
This leads to off-by-1 errors in the timestamps indicating gaps and
underruns, even when the input timestamps are all contiguous.

Bug-Id: 753

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-18 05:01:59 +02:00
Anton Khirnov
fb238f8230 urlprotocol: remove unused url_interrupt_cb declaration
It is a remnant of the old interrupt callback API.
2014-10-18 05:01:20 +02:00
Michael Niedermayer
7891b4fa59 Merge commit '9bec3ca2b878c83d2337bc6095bd51c3e3f8eef0'
* commit '9bec3ca2b878c83d2337bc6095bd51c3e3f8eef0':
  rtmpproto: Add pause support

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 03:12:10 +02:00
Michael Niedermayer
178764e833 Merge commit 'f4cd8b80b9cb2a9a4112d8abb1d3b93cd3b4e467'
* commit 'f4cd8b80b9cb2a9a4112d8abb1d3b93cd3b4e467':
  rtmpproto: Track last received timestamp

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 03:01:35 +02:00
Benoit Fouet
e06263ef1e configure: add pkg-config support for libx264
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 02:36:25 +02:00
Supraja Meedinti
0eabbe2101 libavutil: Add CAST128 symmetric block cipher
Only ECB mode is supported at the moment

Signed-off-by: Supraja Meedinti <supraja0493@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-18 01:33:45 +02:00
Marton Balint
2c4d6a342d ffplay: update documentation
Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-18 00:48:49 +02:00
Marton Balint
0edf3e7a28 ffplay: remove manual bug option handling code
It is supported as a codec option, and those are already parsed.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-17 23:44:04 +02:00
Marton Balint
9dac7977a9 ffplay: remove delays when paused from video and subtitle thread
Once the frame queue is full, we will wait anyway.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-17 23:44:04 +02:00
Uwe L. Korn
9bec3ca2b8 rtmpproto: Add pause support
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 23:13:51 +03:00
Uwe L. Korn
f4cd8b80b9 rtmpproto: Track last received timestamp
Some RTMP commands need the most recent timestamp as their parameter, so
keep track of it. This must be the most recent one and not e.g. the max
received timestamp as it can decrease again through seeking.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 23:13:37 +03:00
Mika Raento
75c8d7c2b4 hlsenc.c, segment.c: propagate defaults to mpegts
This fixes the abnormally high ts overhead in the files produced by the
HLS and segments muxers. See https://trac.ffmpeg.org/ticket/2857 . For
example makes it much more likely that it can produces streams that fit
under the 64kb App store limit.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 21:31:25 +02:00
Michael Niedermayer
0b0d47e4b2 Merge commit 'bae557edcea996328e8ff48b9e074a4210f7e6b4'
* commit 'bae557edcea996328e8ff48b9e074a4210f7e6b4':
  dump: display codec tags when available

Conflicts:
	libavcodec/utils.c

See: d2d7b7134f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 21:13:01 +02:00
Michael Niedermayer
45fed258ee Merge commit '66e9f839536238945fbfe9d2041b6891cb150e45'
* commit '66e9f839536238945fbfe9d2041b6891cb150e45':
  libfdk-aacdec: Enable Dynamic Range Control Metadata Support

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 20:45:43 +02:00
Michael Niedermayer
e18fc35a07 avcodec/libfdk-aacdec: use av_feeep() to avoid leaving stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 20:36:14 +02:00
Michael Niedermayer
5a1aa55905 Merge commit 'b01a2204b5cff7bb920f42fda1bb0103f450fe93'
* commit 'b01a2204b5cff7bb920f42fda1bb0103f450fe93':
  libfdk-aacdec: Enable Decoder Downmix including Downmix Metadata Support

Conflicts:
	libavcodec/libfdk-aacdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 20:35:43 +02:00
Benoit Fouet
242f8bb3a8 avformat/id3v2: support buggy id3v2.3 tag length in id3v2.4
Some encoders do not use syncsafe sizes in v2.4 id3 tags. Check the next
tag to try to choose between the two.

Fixes ticket #4003

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 16:05:53 +02:00
Benoit Fouet
ac1594bc17 gitignore: add test_copy.ffmeta
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 15:57:12 +02:00
Vittorio Giovara
bae557edce dump: display codec tags when available
For both audio and video.
2014-10-17 14:45:07 +01:00
Michael Niedermayer
3dda0bbe42 Merge commit 'e65c776d18dc14df8a279e017760862f9fc8763b'
* commit 'e65c776d18dc14df8a279e017760862f9fc8763b':
  rtmpproto: Add getStreamLength call to query duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 15:34:27 +02:00
Michael Niedermayer
6cf9d02cea Merge commit '324b23dde1bc8638959eb32419c95a93906db272'
* commit '324b23dde1bc8638959eb32419c95a93906db272':
  rtmpproto: Add function to read a number response

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 15:21:40 +02:00
Michael Niedermayer
1eda312aca Merge commit '47e3e1097e09da7f973908e09df15e3bb7c5e1f4'
* commit '47e3e1097e09da7f973908e09df15e3bb7c5e1f4':
  cmdutils: Use the correct guard

Conflicts:
	cmdutils.c

See: 35daf3ca81
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:57:40 +02:00
Omer Osman
66e9f83953 libfdk-aacdec: Enable Dynamic Range Control Metadata Support
For streams which contain DRC metadata, the FDK decoder is able to
control rendering of the decoded output. The rendering parameters
are detailed in fdk_aac_dec_options [].

The default behavior is left up to the decoder.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 15:48:31 +03:00
Omer Osman
b01a2204b5 libfdk-aacdec: Enable Decoder Downmix including Downmix Metadata Support
The FDK decoder is capable of producing mono and stereo downmix from
multichannel streams. These streams may contain metadata that control
the downmix process. The decoder requires an Ancillary Buffer in order to
correctly apply downmix in streams containing downmix Metadata. The
decoder does not have an API interface to inform of the presence of
Metadata in the stream, and therefore the Ancillary Buffer is always
allocated whenever a downmix is requested.

When downmixing multichannel streams, the decoder requires the output
buffer in aacDecoder_DecodeFrame call to be of fixed size in order to
hold the actual number of channels contained in the stream. For example,
for a 5.1ch to stereo downmix, the decoder requires that the output buffer
is allocated for 6 channels, regardless of the fact that the output is in
fact two channels.

Due to this requirement, the output buffer is allocated for the maximum
output buffer size in case a downmix is requested (and also during
decoder init). When a downmix is requested, the buffer used for output
during init will also be used for the entire duration the decoder is open.
Otherwise, the initial decoder output buffer is freed and the decoder
decodes straight into the output AVFrame.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 15:48:30 +03:00
Michael Niedermayer
7dba57d1fa Merge commit '0db6bbb24c1a9f6b5527f460361a5a4132248eee'
* commit '0db6bbb24c1a9f6b5527f460361a5a4132248eee':
  avformat: Make avformat_free_context handle NULL

See: ee23dcf534
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:23:01 +02:00
Michael Niedermayer
61c6e69709 Merge commit 'c92965dbfbb7e2b49df14db2fd0e23a29295730a'
* commit 'c92965dbfbb7e2b49df14db2fd0e23a29295730a':
  avconv: check return value

Conflicts:
	ffmpeg.c

See: 4930cd13d6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:09:15 +02:00
Michael Niedermayer
1dd38e99fd Merge commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581'
* commit 'c802a2e718fb3619291f310f851f1a1cdcf4f581':
  avconv: fix leak in filter error

Conflicts:
	ffmpeg_filter.c

See: 14369f59c5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:47:49 +02:00
Michael Niedermayer
9d1155dae3 Merge commit 'aeb23fc4549a25ef32ff085d2a76227f90caf403'
* commit 'aeb23fc4549a25ef32ff085d2a76227f90caf403':
  avprobe: Remove a pointless check

Conflicts:
	avprobe.c

No change as the code does not exist in ffprobe

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:35:27 +02:00
Michael Niedermayer
ee73a69020 Merge commit 'e58a140cf91d1a9cdfa3115d73c923dab0e9e7dc'
* commit 'e58a140cf91d1a9cdfa3115d73c923dab0e9e7dc':
  avplay: Always free opts

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:28:50 +02:00
Michael Niedermayer
019ff7a0c3 Merge commit 'cf83c0173917a44b89a25ea2b435429bbf9ee767'
* commit 'cf83c0173917a44b89a25ea2b435429bbf9ee767':
  avplay: Always free find_stream_info options

Conflicts:
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:17:05 +02:00
Michael Niedermayer
c40a1bd253 tests/fate/mpeg4: fix samples path
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 13:07:55 +02:00
Michael Niedermayer
a708689fda Merge commit 'f29c226af0ecc34c417b646580a9acd7d8bbaf48'
* commit 'f29c226af0ecc34c417b646580a9acd7d8bbaf48':
  fate: add mpeg4 tests for frame size changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 12:59:07 +02:00
Michael Niedermayer
1aed82846c avformat/m4vdec: mark as possibly containing discontinuities
This will be needed for the resolution change mpeg4 test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 12:51:49 +02:00
Uwe L. Korn
e65c776d18 rtmpproto: Add getStreamLength call to query duration
In (non-live) streams with no metadata, the duration of a stream can
be retrieved by calling the RTMP function getStreamLength with the
playpath. The server will return a positive duration upon the request if
the duration is known, otherwise either no response or a duration of 0
will be returned.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 12:07:19 +03:00
Uwe L. Korn
324b23dde1 rtmpproto: Add function to read a number response
Packets that contain a number as a result to a rtmp function call are
structured the same way (String, Number, Null, Number). This new method
also includes more bounds checks to better handle packets that are not
structured as expected.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-17 12:07:19 +03:00
Luca Barbato
47e3e1097e cmdutils: Use the correct guard
The OptionDef arrays are terminated with a { NULL } element not NULL.

CC: libav-stable@libav.org
Bug-Id: CID 703769
2014-10-17 09:55:46 +01:00
Luca Barbato
0db6bbb24c avformat: Make avformat_free_context handle NULL
Work as the other free()-like functions.

Bug-Id: CID 1087081
CC: libav-stable@libav.org
2014-10-17 09:55:46 +01:00
Vittorio Giovara
c92965dbfb avconv: check return value
CC: libav-stable@libav.org
Bug-Id: CID 1224275
2014-10-17 09:55:46 +01:00
Vittorio Giovara
c802a2e718 avconv: fix leak in filter error
CC: libav-stable@libav.org
Bug-Id: CID 1005311
2014-10-17 09:55:46 +01:00
Luca Barbato
aeb23fc454 avprobe: Remove a pointless check
The element is always valid.

CC: libav-stable@libav.org
Bug-Id: CID 732276
2014-10-17 09:55:46 +01:00
Luca Barbato
e58a140cf9 avplay: Always free opts
CC: libav-stable@libav.org
Bug-Id: CID 733793
2014-10-17 09:55:46 +01:00
Luca Barbato
cf83c01739 avplay: Always free find_stream_info options
CC: libav-stable@libav.org
Bug-Id: CID 1238794
2014-10-17 09:55:46 +01:00
Janne Grunau
f29c226af0 fate: add mpeg4 tests for frame size changes 2014-10-17 09:58:31 +02:00
Moritz Barsnick
bbd8c85263 doc/filters.texi: fix several typos in the vidstab* sections
Also create an anchor for the unsharp filter, and references to
it in its mentions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 06:23:13 +02:00
James Almer
864f9326fb x86/vf_noise: move asm code to a separate file
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-17 00:44:35 -03:00
Michael Niedermayer
f6bb2cd1b0 swresample/resample: fix invert_initial_buffer() after flush
Fixes: asan_heap-uaf_2071250_7_139.ogg
Fixes: assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 22:35:27 +02:00
Michael Niedermayer
080c846f59 swresample: do not put multiple statements in one line
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 18:18:40 +02:00
Benoit Fouet
8bcf425d06 avformat/id3v2: silence a warning when CONFIG_ZLIB is unset.
dlen is only read when CONFIG_ZLIB is set, so mark it as possibly
unused.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 15:54:02 +02:00
Michael Niedermayer
4f1a252fd3 avfilter/vf_noise: Use a separate seed for each plane
This should reduce the correlation between planes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 15:05:17 +02:00
Michael Niedermayer
ed3efbcd0c avfilter/vf_noise: use per component rand_shift
This allows using different shifts per plane

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 15:04:49 +02:00
Michael Niedermayer
aba61b22f7 avfilter/vf_noise: move shift calculation to filter_frame()
This makes the temporal noise case deterministic with threads

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 14:28:47 +02:00
Michael Niedermayer
411be72dcb avfilter/vf_noise: fix high resolution support
Fixes Ticket4017
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 13:23:39 +02:00
Michael Niedermayer
a9b613b60e Merge commit '979932378ae3fbf452e312eb759cc7ce175f78de'
* commit '979932378ae3fbf452e312eb759cc7ce175f78de':
  ismindex: use tfhd default duration if no sample duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 12:45:01 +02:00
Michael Niedermayer
293a8e426f Merge commit '460b509a34fb5fad3bedac8429f53594d3923ea8'
* commit '460b509a34fb5fad3bedac8429f53594d3923ea8':
  rtsp: Check a memory allocation

See: c69f230a3a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 12:28:52 +02:00
Carl Eugen Hoyos
392b4b663c Fix initialisers in dct-test.c.
Silences a warning when running fate on unusual platforms:
libavcodec/dct-test.c:101:21: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/dct-test.c:101:21: warning: (near initialization for 'fdct_tab_arch[0]') [-Wmissing-braces]
libavcodec/dct-test.c:102:21: warning: missing braces around initializer [-Wmissing-braces]
libavcodec/dct-test.c:102:21: warning: (near initialization for 'idct_tab_arch[0]') [-Wmissing-braces]
2014-10-16 12:01:26 +02:00
Mika Raento
979932378a ismindex: use tfhd default duration if no sample duration
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-16 09:22:22 +03:00
Michael Lynch
460b509a34 rtsp: Check a memory allocation
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-16 09:19:03 +03:00
Di Wu
0e406aba14 mpegts: add the judgement if a new program is created successfully
Add the judement after create a new program to avoid segment fault.

Signed-off-by: Di Wu <di1028.wu@samsung.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 04:21:21 +02:00
Michael Niedermayer
d267a0f8c1 avformat/util: Simplify av_guess_frame_rate() by using AVCodecContext.framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 02:46:11 +02:00
Michael Niedermayer
004f1c6cf1 avformat/utils: Try to correct the codec_framerate in ff_compute_frame_duration() for the encoding case
No testcase where this makes a difference is known

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 02:46:02 +02:00
Michael Niedermayer
46f52274f3 avformat/oggparsedirac: use AVCodecContext.framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 01:31:09 +02:00
Michael Niedermayer
7b6a97edd1 avcodec/avcodec: more verbose documentation for time_base
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 00:28:57 +02:00
Michael Niedermayer
2f7bd04afb avcodec/avcodec: fix non doxy comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 00:10:38 +02:00
Michael Niedermayer
917f86f479 Merge commit '79dd756e143a54efc25d64e90505f0dca6cbc4ec'
* commit '79dd756e143a54efc25d64e90505f0dca6cbc4ec':
  rtmpproto: Fix a typo

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-16 00:02:54 +02:00
Michael Niedermayer
f09162c06b Merge commit 'ced7238cd01cc2199acf9225305628641a27c1d7'
* commit 'ced7238cd01cc2199acf9225305628641a27c1d7':
  rtpdec_hevc: Use av_realloc instead of av_malloc+memcpy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 23:23:53 +02:00
Michael Niedermayer
60a876fe7b Merge commit '752e71e74f50e7a6f9a19edb8e775b2ea2fb94d8'
* commit '752e71e74f50e7a6f9a19edb8e775b2ea2fb94d8':
  rtpdec_hevc: Rename a variable for clarity

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 22:03:11 +02:00
Michael Niedermayer
16f9f7b881 Merge commit '74b02377980321934e33969c84733ace7e9f4eeb'
* commit '74b02377980321934e33969c84733ace7e9f4eeb':
  mov: Correctly check the color transfer characteristics range

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 21:40:13 +02:00
Michael Niedermayer
cacc1dcadc Merge commit '1ac5a29b2e5ddeae068deb9d6e0e803a91941d4d'
* commit '1ac5a29b2e5ddeae068deb9d6e0e803a91941d4d':
  imc: fix order of operations in coefficients read

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 21:25:10 +02:00
Michael Niedermayer
1b54e6b12b avformat/mov: auodetect "use_mfra_for"
Reviewed-by: Mika Raento <mikie@iki.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 20:17:23 +02:00
Yu Xiaolei
8091fe3071 build: mov_muxer requires ac3_parser
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 20:15:59 +02:00
Michael Lynch
c69f230a3a avformat/rtsp: check memory allocation
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Commit message by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 20:04:32 +02:00
Martin Storsjö
79dd756e14 rtmpproto: Fix a typo
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 21:00:39 +03:00
Martin Storsjö
ced7238cd0 rtpdec_hevc: Use av_realloc instead of av_malloc+memcpy
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 20:54:32 +03:00
Martin Storsjö
752e71e74f rtpdec_hevc: Rename a variable for clarity
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 20:54:30 +03:00
Lou Logan
8a95379990 doc/encoders: add basic libx265 documentation
Fixes ticket #3944.

Signed-off-by: Lou Logan <lou@lrcd.com>
2014-10-15 09:45:54 -08:00
Clément Bœsch
52b0a0ecaa avcodec/ass: add FFmpeg signature 2014-10-15 19:25:06 +02:00
Clément Bœsch
d281a87ae3 avformat/assdec: typo fix 2014-10-15 19:25:06 +02:00
Clément Bœsch
462f2876ce avcodec/ass_split: realign after addition of new fields 2014-10-15 19:25:06 +02:00
Clément Bœsch
3e86ead383 avcodec/ass_split: assume default order when "Format:" line is not found
Fixes the decoding of the ASS stream in a mkv from a fansub release from
Coalgirls.
2014-10-15 19:25:06 +02:00
Clément Bœsch
d9f272fe33 avcodec/ass_split: extend recognized fields in ASS splitter
This simplifies the logic for the fix in the next commit.
2014-10-15 19:25:06 +02:00
Clément Bœsch
40b9f28641 avcodec/ass: output missing fields in AVSubtitles and output files
Fixes Ticket #3207
2014-10-15 19:25:06 +02:00
Clément Bœsch
bf700a995d avformat/assenc: support remuxing old V4 ASS form (SSA) 2014-10-15 19:24:40 +02:00
Clément Bœsch
b243393e8b fate: fix some subtitles tests dependencies 2014-10-15 19:24:39 +02:00
Clément Bœsch
d97d4795fd fate: add rawdiff and use it for subtitles
We want subtitles tests to match exactly line endings and trailing
characters.
2014-10-15 19:24:39 +02:00
Clément Bœsch
8022bb1d92 fate: make subtitles tests output to stdout instead of md5
This makes tracking subtitles changes simpler.
2014-10-15 19:24:39 +02:00
Lou Logan
b629b421d7 doc/filters: update link to OpenCV docs
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-10-15 09:18:54 -08:00
Michael Niedermayer
a9ed4f1d15 Merge commit 'e5cfc8fdad901c9487fe896421972852f38bcf5'
* commit 'e5cfc8fdad901c9487fe896421972852f38bcf5':
  sdp: Provide out of bound parameter sets for HEVC if extradata is set

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 19:16:55 +02:00
Michael Niedermayer
6afc319eee Merge commit '9b7f932ee568cadfc0f556a061fcc00cb63f9780'
* commit '9b7f932ee568cadfc0f556a061fcc00cb63f9780':
  rtpdec_hevc: Parse out of band vps/sps/pps/sei from fmtp lines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 19:04:22 +02:00
Michael Niedermayer
137f7a630b Merge commit '557d4c4ecae080729e68df54ed2bd8420d0f037a'
* commit '557d4c4ecae080729e68df54ed2bd8420d0f037a':
  avconv: replace AVCodecContext.time_base with framerate

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 18:56:44 +02:00
Michael Niedermayer
a92192d2e4 avformat/utils: use av_reduce() to simplify code and avoid overflow in ff_compute_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 18:23:21 +02:00
Michael Niedermayer
2b37864e7f Merge commit '2d6e58497e76836604364b037df9b00ba3d75b69'
* commit '2d6e58497e76836604364b037df9b00ba3d75b69':
  lavf: switch to AVCodecContext.framerate for demuxing

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 18:19:58 +02:00
Michael Niedermayer
18255441dd avcodec/dpx: fix framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
220a15c074 avcodec/vc1: fix time_base and framerate
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
09450c5509 avcodec/h264: fix time_base and framerate
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
620e7f0f3b avcodec/mpeg12dec: fix time_base and framerate
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:54:02 +02:00
Michael Niedermayer
801876fb07 avcodec/utils: fix time_base after the framerate addition
time_base != 1/framerate for example for interlaced video

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:52:35 +02:00
Michael Niedermayer
17085a0251 Merge commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41'
* commit '7ea1b3472a61de4aa4d41b571e99418e4997ad41':
  lavc: deprecate the use of AVCodecContext.time_base for decoding

Conflicts:
	libavcodec/avcodec.h
	libavcodec/h264.c
	libavcodec/mpegvideo_parser.c
	libavcodec/utils.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 15:49:31 +02:00
Vittorio Giovara
74b0237798 mov: Correctly check the color transfer characteristics range
Reported-by: Ruoyu <liangry@ucweb.com>
2014-10-15 14:48:40 +01:00
Vittorio Giovara
1ac5a29b2e imc: fix order of operations in coefficients read
Reported-by: Ruoyu <liangry@ucweb.com>
2014-10-15 14:48:07 +01:00
Michael Niedermayer
51c810e62b Merge commit 'd565fef1b83b6c5f8afb32229260b79f67c68109'
* commit 'd565fef1b83b6c5f8afb32229260b79f67c68109':
  vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 12:30:07 +02:00
Michael Niedermayer
fd937866f7 Merge commit 'c1724623ce0433c6a9ee72133b1fd4db75ec7193'
* commit 'c1724623ce0433c6a9ee72133b1fd4db75ec7193':
  vdpau: have av_vdpau_bind_context() fail on unsupported flag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 12:17:59 +02:00
Michael Niedermayer
a72e75bf98 Merge commit 'e09a947c1a856d9d34199a13ee378fe46be53d3a'
* commit 'e09a947c1a856d9d34199a13ee378fe46be53d3a':
  doc: fix typing mistake

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 12:08:26 +02:00
Martin Storsjö
e5cfc8fdad sdp: Provide out of bound parameter sets for HEVC if extradata is set
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 12:12:54 +03:00
Martin Storsjö
9b7f932ee5 rtpdec_hevc: Parse out of band vps/sps/pps/sei from fmtp lines
These are assembled into extradata in the order vps/sps/pps/sei.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-15 12:12:02 +03:00
Anton Khirnov
557d4c4eca avconv: replace AVCodecContext.time_base with framerate 2014-10-15 06:38:16 +00:00
Anton Khirnov
2d6e58497e lavf: switch to AVCodecContext.framerate for demuxing 2014-10-15 06:37:55 +00:00
Anton Khirnov
7ea1b3472a lavc: deprecate the use of AVCodecContext.time_base for decoding
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.

Add a new field, called 'framerate', to replace the use of time_base for
decoding.
2014-10-15 06:37:43 +00:00
Rémi Denis-Courmont
d565fef1b8 vdpau: add AV_HWACCEL_FLAG_IGNORE_LEVEL to skip the codec level check
Decoding acceleration may work even if the codec level is higher than
the stated limit of the VDPAU driver. Or the problem may be considered
acceptable by the user. This flag allows skipping the codec level
capability checks and proceed with decoding.

Applications should obviously not set this flag by default, but only if
the user explicitly requested this behavior (and presumably knows how
to turn it back off if it fails).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:56 +00:00
Rémi Denis-Courmont
c1724623ce vdpau: have av_vdpau_bind_context() fail on unsupported flag
Currently, no flags are supported.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:47 +00:00
Rémi Denis-Courmont
e09a947c1a doc: fix typing mistake
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-15 06:21:39 +00:00
Michael Niedermayer
676110e6d4 avformat/mxfdec: cleanup if parsing the header metadata fails
Fixes memleaks
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 06:08:34 +02:00
Michael Niedermayer
0834f2056c avformat/mxfdec: Fix memleak of packages_refs
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 06:08:34 +02:00
Michael Niedermayer
aae4f5108d avformat/mxfdec: Fix memleak of primer_packs
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 06:08:28 +02:00
Michael Niedermayer
e3b28f10bb avformat/mxfdec: Fix termination of mxf_data_essence_container_uls
Fixes: asan_static-oob_87d116_10_201.mxf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 02:09:17 +02:00
Michael Niedermayer
5552594a44 Merge commit 'a74f8121d88e0bdf0d69c22e4b3713032da9300a'
* commit 'a74f8121d88e0bdf0d69c22e4b3713032da9300a':
  mov: Handle tfdt atoms

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 22:24:12 +02:00
Michael Niedermayer
99c26805e9 Merge commit 'c2c22c75cf89e2faab34d1ee1d392cfb065439ea'
* commit 'c2c22c75cf89e2faab34d1ee1d392cfb065439ea':
  movenc: Write tfdt atoms

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 22:03:51 +02:00
Michael Niedermayer
f43ac02723 avcodec/iirfilter: Make ff_iir_filter_free_state() also zero the freed pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 20:46:15 +02:00
Michael Niedermayer
43fb16cf74 avcodec/iirfilter: Change ff_iir_filter_free_coeffs() so it clears the pointers as well
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 18:30:52 +02:00
Michael Niedermayer
9946da4976 avcodec/flac_parser: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 18:30:31 +02:00
Michael Niedermayer
fd367668e1 avcodec/flac_parser: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 18:29:49 +02:00
Michael Niedermayer
5ee6fb7583 avfilter/vf_pp: add gbrp support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 17:15:56 +02:00
Martin Storsjö
a74f8121d8 mov: Handle tfdt atoms
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-14 13:52:32 +03:00
Martin Storsjö
c2c22c75cf movenc: Write tfdt atoms
These allow getting the absolute start timestamp of a fragment
without reading preceding timestamps. This fixes sync between
tracks if starting from fragments in different streams that don't
align exactly.

This also is a prerequisite for producing DASH content.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-14 13:52:32 +03:00
Michael Niedermayer
d58fa9482e avformat/mp3enc: use initial_padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 03:53:17 +02:00
Michael Niedermayer
83f84e4c53 ffmpeg: Fix stream copy with initial_padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 03:30:03 +02:00
Michael Niedermayer
4694c0bb7c Merge commit 'eabdc2a830f1ab1a3f12243eb7e2fba801cb81f0'
* commit 'eabdc2a830f1ab1a3f12243eb7e2fba801cb81f0':
  lavf: use initial_padding instead of deprecated delay

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 03:00:17 +02:00
Michael Niedermayer
320ce9f284 avcodec/ac3enc_template: use the initial_padding field
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 02:46:51 +02:00
Michael Niedermayer
da2189596d Merge commit '2df0c32ea12ddfa72ba88309812bfb13b674130f'
* commit '2df0c32ea12ddfa72ba88309812bfb13b674130f':
  lavc: use a separate field for exporting audio encoder padding

Conflicts:
	libavcodec/audio_frame_queue.c
	libavcodec/avcodec.h
	libavcodec/libvorbisenc.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 02:16:16 +02:00
Michael Niedermayer
1f20fa2da8 avcodec/aacdec: print element types when debug startcode is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 01:54:57 +02:00
Michael Niedermayer
b9918a7688 Merge commit 'c80a816142699dea9cf9fa66689a7838a487ed7e'
* commit 'c80a816142699dea9cf9fa66689a7838a487ed7e':
  h263dec: call get_format() on resolution changes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-14 00:04:18 +02:00
Michael Niedermayer
40f2b16d52 avformat/utils: print more information with av_dlog() in compute_pkt_fields()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 23:45:52 +02:00
Michael Niedermayer
d3d265bae2 Merge commit '1f29e5d7a2b0950f3b6820896e97e2c02e6a10a9'
* commit '1f29e5d7a2b0950f3b6820896e97e2c02e6a10a9':
  h263dec: call get_format after setting resolution and profile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 22:13:04 +02:00
Anton Khirnov
eabdc2a830 lavf: use initial_padding instead of deprecated delay 2014-10-13 19:10:30 +00:00
Anton Khirnov
2df0c32ea1 lavc: use a separate field for exporting audio encoder padding
Currently, the amount of padding inserted at the beginning by some audio
encoders, is exported through AVCodecContext.delay. However
- the term 'delay' is heavily overloaded and can have multiple different
  meanings even in the case of audio encoding.
- this field has entirely different meanings, depending on whether the
  codec context is used for encoding or decoding (and has yet another
  different meaning for video), preventing generic handling of the codec
  context.

Therefore, add a new field -- AVCodecContext.initial_padding. It could
conceivably be used for decoding as well at a later point.
2014-10-13 19:09:01 +00:00
Benoit Fouet
f87134c7a1 avformat/movenc: add support for syncframes concatenation for E-AC-3.
E-AC-3 samples should contain 6 audio blocks, so concatenate syncframes
in order to achieve this.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 19:24:06 +02:00
Benoit Fouet
4da7111eb8 avcodec/aacdec: map LFE[0] to SCE[1] for 4.0 audio.
Fixes ticket #3930

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 17:50:20 +02:00
Michael Niedermayer
0b7e5d0d75 postproc: fix qp count
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 16:12:30 +02:00
Michael Niedermayer
57884172e0 avformat/mov: fix mix of declaration and statement
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 16:12:30 +02:00
Rémi Denis-Courmont
c80a816142 h263dec: call get_format() on resolution changes
Fail safe if the pixel format changes.
2014-10-13 16:05:04 +02:00
Rémi Denis-Courmont
1f29e5d7a2 h263dec: call get_format after setting resolution and profile
Bug-Id: 541
2014-10-13 16:04:53 +02:00
Paul B Mahol
a586b3d9b1 libavcodec/libtwolame: fix null pointer dereference
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-10-13 12:22:41 +00:00
Mika Raento
a59808dd57 mov.c: allow reading fragment start dts/pts from fragmented mp4
This introduces a new option to the mov demuxer: -use_mfra_for
(pts|dts). When it's given and moofs and a MFRA are present, the MFRA's
TFRAs are read for fragment start times.

Unfortunately some programs that produce fragmented mp4s use the TFRA
time field for dts and some for pts. There is no realistic way to detect
which is the case, hence the responsibility is punted onto the user.
This also means that no behavioural change is enabled by default - you
must pass either dts or pts for anything to happen.

Without this change, timestamps for some discontinuous fragmented mp4 are
wrong, and cause audio/video desync and are not usable for generating
HLS.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 12:20:55 +02:00
Michael Niedermayer
b8c50becc8 avfilter/vf_pp: support AV_PIX_FMT_GRAY8
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:56:14 +02:00
Michael Niedermayer
7a11333387 libpostproc: support grayscale
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:55:36 +02:00
Michael Niedermayer
25a4180825 Merge commit '76c70e33d2244a688832f03b53862eb5d9ad3b01'
* commit '76c70e33d2244a688832f03b53862eb5d9ad3b01':
  icecast: Do not use chunked post

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:27:25 +02:00
Michael Niedermayer
094b3ce835 Merge commit 'e44ee1eb8db7393e9d43207c2e1812720e292e6d'
* commit 'e44ee1eb8db7393e9d43207c2e1812720e292e6d':
  movenc: Simplify code by using an existing local pointer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:15:20 +02:00
Michael Niedermayer
20a66868a2 Merge commit 'dad12ce452a9d69c0d9d53c375003947d5f1b02e'
* commit 'dad12ce452a9d69c0d9d53c375003947d5f1b02e':
  movenc: Print a warning for an unhandled case of nonzero start dts with empty_moov

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:10:13 +02:00
Michael Niedermayer
ca5a77191b Merge commit 'dbb472cb2f2f799295a12b4922a6a8be2cccfdee'
* commit 'dbb472cb2f2f799295a12b4922a6a8be2cccfdee':
  movenc: Write edit lists for fragmented files as well, if necessary

Conflicts:
	libavformat/movenc.c

The default for writing EDTS for fragmented mp4 is left at disabled
this can be overridden via command line with -use_editlist
but EDTS + fragments still does not fully work, which is why it is
left disabled by default

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-13 01:02:36 +02:00
James Almer
ccd04f4320 fate: add test for vp90-2-trac3849.webm
Regression test for the bug from trac ticket #3849 fixed in commit 14e30255

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-12 19:45:25 -03:00
Michael Niedermayer
687cc836ea Merge commit '95ee4e2ce774e0339632d067161596bf3dadfc72'
* commit '95ee4e2ce774e0339632d067161596bf3dadfc72':
  movenc: Add some comments explaining subtle details in writing the edit lists

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:48:49 +02:00
Michael Niedermayer
031285dedf Merge commit '72f801619a1ae91969fee9a7d72519422433c998'
* commit '72f801619a1ae91969fee9a7d72519422433c998':
  movenc: Adjust edit lists to trim out parts of tracks with negative pts

Conflicts:
	libavformat/movenc.c

See: 66b45d8f7a
See: 14fd34d73b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:39:17 +02:00
Michael Niedermayer
5afe1233c5 Merge commit '8bef43388132b53f59a6e90add18900a3bb4cc60'
* commit '8bef43388132b53f59a6e90add18900a3bb4cc60':
  smoothstreamingenc: Simplify code by removing a redundant variable

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:29:47 +02:00
Michael Niedermayer
941aaa39e8 postproc/postprocess: fix quant store for fq mode
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:22:39 +02:00
Michael Niedermayer
9a460db63b avfilter/vf_pp: add yuv 4:4:0 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:22:39 +02:00
Michael Niedermayer
1d3c87d6cd postprocess: add YUV 4:4:0 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 22:22:39 +02:00
James Almer
59d8050df1 avfilter: remove obsolete FF_API_DRAWTEXT_OLD_TIMELINE cruft 2014-10-12 15:54:58 -03:00
Mark McGough
76c70e33d2 icecast: Do not use chunked post
Icecast uses HTTP 1.0 while Libav uses HTTP 1.1 and enables by
default chunked post.

Icecast actually forwards the HTTP chunk headers to the listener
as part of the media stream (without the chunk encoding HTTP headers)
causing the players to lose sync.

Disabling the option is enough to feed icecast properly.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-12 19:54:07 +02:00
Martin Storsjö
e44ee1eb8d movenc: Simplify code by using an existing local pointer
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:48:09 +03:00
Martin Storsjö
dad12ce452 movenc: Print a warning for an unhandled case of nonzero start dts with empty_moov
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:46:56 +03:00
Martin Storsjö
dbb472cb2f movenc: Write edit lists for fragmented files as well, if necessary
This is necessary to get the right timestamp offset for content
that starts with dts != 0.

This currently only helps when writing fragmented files with a non-empty
moov atom. When writing an empty moov atom, we don't have any packets
yet, so we don't know the starting dts for the tracks.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:46:31 +03:00
Martin Storsjö
95ee4e2ce7 movenc: Add some comments explaining subtle details in writing the edit lists
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:46:01 +03:00
Michael Niedermayer
72f801619a movenc: Adjust edit lists to trim out parts of tracks with negative pts
This makes sure that audio preroll for e.g. AAC is signaled correctly.

Previously we only wrote the edit list correctly if we had negative
dts but started with pts == 0 (e.g. for video with B-frames).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:45:55 +03:00
Martin Storsjö
8bef433881 smoothstreamingenc: Simplify code by removing a redundant variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 17:42:42 +03:00
Michael Niedermayer
acea53fea0 avcodec/eatgv: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 12:22:28 +02:00
Michael Niedermayer
28b829b8bb avcodec/eatqi: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 12:22:16 +02:00
Michael Niedermayer
20df02680c avcodec/error_resilience: avoid pointer arithmetic with NULL
move the code after the existing NULL check
Fixes: signal_sigsegv_844d59_10_signal_sigsegv_a17bb7_366_mpegts_mpeg2video_mp2_dvbsub_topfield.rec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 04:49:08 +02:00
Michael Niedermayer
bec077a1ab Merge commit 'bd239c9a2e151c0aeeb653a571f130aae7320894'
* commit 'bd239c9a2e151c0aeeb653a571f130aae7320894':
  lavf: Don't drop both pts and dts if timestamps are invalid

Conflicts:
	libavformat/utils.c
	tests/ref/fate/vc1-ism

See: cd6851c5ef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 00:56:26 +02:00
Michael Niedermayer
bd239c9a2e lavf: Don't drop both pts and dts if timestamps are invalid
In these cases, only drop dts. Because if we drop both we have no
timestamps at all for some files.

This improves playback of HLS streams from GoPro cameras.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-12 01:32:52 +03:00
Michael Niedermayer
0db1f2c2c7 avcodec/mjpegdec: sanity check bits
Fixes undefined shift
Fixes: asan_heap-oob_16668e9_2_asan_heap-oob_16668e9_346_miss_congeniality_pegasus_mjpg.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-12 00:28:07 +02:00
Karl Kiniger
903156aa8a vf_drawtext: add missing clear of pointers after av_expr_free()
Fixes segfault when using sendcmd with drawtext.

Since LIBAVFILTER_VERSION_MAJOR 5 FF_API_DRAWTEXT_OLD_TIMELINE
evaluates to 0.

Signed-off-by: Karl Kiniger <karl.kiniger@med.ge.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 23:16:31 +02:00
Michael Niedermayer
e24e5986a6 avcodec/dct: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:51:33 +02:00
Michael Niedermayer
3521c70dab avcodec/dirac_parser: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:51:15 +02:00
Michael Niedermayer
c712d240b1 avcodec/eamad: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:50:51 +02:00
Simon Thelen
8c4ca4aa5a ffmpeg_opt: abort if -to <= -ss
Makes ffmpeg abort instead of continuing when stop_time <= start_time.

Closes ticket #4015.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 22:20:39 +02:00
Christophe Gisquet
140f535517 proresenc_ks: use chroma sampling in autoselection
If the chroma planes aren't subsampled, automatically select
the 4:4:4:4 profile.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 16:47:19 +02:00
Ruoyu
c44d8d9552 avutil/lzo: fix resource leak
Signed-off-by: Ruoyu <liangry@ucweb.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 12:15:26 +02:00
Michael Niedermayer
fba894615d swscale: support internal scaler cascades
Fixes Ticket3170

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 05:05:17 +02:00
Michael Niedermayer
b8a55994f0 avcodec/mpeg12dec: print aspect_ratio_info in debug output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 03:22:16 +02:00
Michael Niedermayer
ae17a0c258 Merge commit '1d4579e38ecad578c86516fad2837a273d11b320'
* commit '1d4579e38ecad578c86516fad2837a273d11b320':
  tcp: Add AVOption support

Conflicts:
	libavformat/tcp.c

See: 2e009c6042
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-11 00:39:01 +02:00
Clément Bœsch
937aac4f97 avformat/assenc: make sure we crawl extradata only if it's non-null 2014-10-10 23:49:38 +02:00
Michael Niedermayer
d246397161 Merge commit 'cd9d6399fd00f5aeacaa90cdc0b74c3570024119'
* commit 'cd9d6399fd00f5aeacaa90cdc0b74c3570024119':
  tls: Support passing old-style tcp options

See: 4f4eb380f0
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 22:28:49 +02:00
Michael Niedermayer
76d1ffffd0 Merge commit '3df8d52fcdc9036b4074fdc612d487ece8bb5b7f'
* commit '3df8d52fcdc9036b4074fdc612d487ece8bb5b7f':
  rtsp: Add rtsps to the probe

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:36:27 +02:00
Michael Niedermayer
7028475f75 Merge commit 'c839b0439f0b01c72a6d253920d2e342b30f8bcb'
* commit 'c839b0439f0b01c72a6d253920d2e342b30f8bcb':
  rtsp: Support tls when in listen mode

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:29:10 +02:00
Michael Niedermayer
c9791925a1 Merge commit '8b2e9636c57b22582143467a8a06b509b47b92f9'
* commit '8b2e9636c57b22582143467a8a06b509b47b92f9':
  rtsp: Support tls-encapsulated RTSP

Conflicts:
	libavformat/rtsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:18:41 +02:00
Michael Niedermayer
544f811453 Merge commit 'c27328e749ff3be648411765cd17362fee017341'
* commit 'c27328e749ff3be648411765cd17362fee017341':
  rtsp: Check for command strings without spaces

Conflicts:
	libavformat/rtspdec.c

See: a0568ed254
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 21:05:49 +02:00
Michael Niedermayer
cec7afd036 Merge commit '09e1ccc8cddc946da5e10841f10dc5ebdd187d9d'
* commit '09e1ccc8cddc946da5e10841f10dc5ebdd187d9d':
  sctp: Use AVERROR_BUG instead of abort()

Conflicts:
	libavformat/sctp.c

See: 2e59142fa9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 20:51:52 +02:00
Michael Niedermayer
fc6aa30459 Merge commit 'eb4f9069002e73648f6640cd054fc814cfda75b8'
* commit 'eb4f9069002e73648f6640cd054fc814cfda75b8':
  lavf: More informative error message

Conflicts:
	libavformat/mux.c

See: 30ced7e69f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 20:38:51 +02:00
Christophe Gisquet
cb530dda7d utvideoenc: properly set slice height/last line
Mimic decoder and obey sampling.

Does not affect fate tests for utvideo.
Fixes ticket #3949.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 20:08:24 +02:00
Michael Niedermayer
171d971dbf avutil/softfloat: Fix undefined shift in av_add_sf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 19:36:12 +02:00
Benoit Fouet
5e6fd132ff avformat/movenc: add EAC3 muxing support.
Support only one independent substream right now, and only syncframes
containing 6 blocks.

Fixes part of ticket #3074

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 19:07:08 +02:00
James Almer
5402d1bce5 float_dsp-test: allow forcing cpuflags
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-10 13:51:51 -03:00
Michael Niedermayer
ea77d3b889 avcodec/atrac3: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 17:10:02 +02:00
Michael Niedermayer
3537ddb76f avcodec/cavs: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 17:09:46 +02:00
Luca Barbato
1d4579e38e tcp: Add AVOption support 2014-10-10 16:29:07 +02:00
Luca Barbato
cd9d6399fd tls: Support passing old-style tcp options
Make tcp and tls urls near-interchangeable.
2014-10-10 16:29:07 +02:00
Luca Barbato
3df8d52fcd rtsp: Add rtsps to the probe 2014-10-10 16:29:06 +02:00
Luca Barbato
c839b0439f rtsp: Support tls when in listen mode 2014-10-10 16:29:06 +02:00
Luca Barbato
8b2e9636c5 rtsp: Support tls-encapsulated RTSP 2014-10-10 16:29:06 +02:00
Luca Barbato
c27328e749 rtsp: Check for command strings without spaces
Prevent a NULL-pointer dereference.

CC: libav-stable@libav.org
2014-10-10 16:29:06 +02:00
Luca Barbato
09e1ccc8cd sctp: Use AVERROR_BUG instead of abort()
Trying to write to a stream id larger the the maximum requested is
a programming error, still there is no reason to leave a
reachable abort() in the codebase.

CC: libav-stable@libav.org
2014-10-10 16:29:06 +02:00
Luca Barbato
eb4f906900 lavf: More informative error message
Print the timestamp values and not just the stream index.
2014-10-10 16:29:06 +02:00
Rong Yan
0d71bd5a94 libavcodec/ppc/hpeldsp_altivec.c : fix ff_put_pixels16_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 14:24:22 +02:00
Rong Yan
c1fa5d1bd4 libavcodec/ppc/me_cmp.c : fix sad16_altivec() sse16_altivec() sad16_xy2_altivec() sad16_x2_altivec() sad16_y2_altivec() sad8_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 14:24:22 +02:00
Di Wu
162b521108 vp9: enable multi-thread decoding when refreshctx is equal to 0
In vp9_decode_frame function, ff_thread_finish_setup is not called
when refreshctx is equal to 0, and the next decoding thread can not
start work until the cunrrent frame has been decoded completely. So
ff_thread_finish_setup needs to be called to enable Multi-thread
decoding in this condition.

Signed-off-by: Di Wu <di1028.wu@samsung.com>
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-10-10 09:13:44 -03:00
Rong Yan
c5ca76ad3b libavcodec/ppc/mpegvideoencdsp.c : fix pix_norm1_altivec() and pix_sum_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 13:32:02 +02:00
Rong Yan
31dea05170 libavcodec/ppc/pixblockdsp.c : fix get_pixels_altivec() and diff_pixels_altivec() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 13:31:49 +02:00
Michael Niedermayer
54df78af65 Merge commit 'b7c3bfd5eb3153f7de8039f96e7911b2a1d46cae'
* commit 'b7c3bfd5eb3153f7de8039f96e7911b2a1d46cae':
  w32pthreads: use the condition variable API directly when targeting newer versions of Windows

Conflicts:
	compat/w32pthreads.h

See: 8c6992bf0c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 12:25:50 +02:00
Michael Niedermayer
09c538b6e6 Merge commit '73ea3ffcd55b0b1d23ba4769d65996a8d58ffa11'
* commit '73ea3ffcd55b0b1d23ba4769d65996a8d58ffa11':
  w32pthreads: use the CONDITION_VARIABLE typedef if available

Conflicts:
	compat/w32pthreads.h
	configure

See: 0c06949314
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 12:13:09 +02:00
James Almer
b7c3bfd5eb w32pthreads: use the condition variable API directly when targeting newer versions of Windows
Wrap the function calls in a similar fashion to how it's being done
with the critical section API.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-10 11:27:30 +03:00
James Almer
73ea3ffcd5 w32pthreads: use the CONDITION_VARIABLE typedef if available
This silences warnings about passing arguments from incompatible pointer type
when targeting Windows Vista or newer.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-10 11:27:26 +03:00
Michael Niedermayer
19b4c0ccf9 ffprobe: Simplify by using av_color_range_name()
Idea from: a2c00d22e7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 04:24:55 +02:00
Michael Niedermayer
e96fb980dc avformat/format: move mime_type_opt declaration to where its used
also remove a related dead store

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 03:08:11 +02:00
Michael Niedermayer
27123a77c1 avformat/os_support: include unistd.h before defining lseek to lseek64 on android
fixes build failure

Found-by: James Almer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 02:32:32 +02:00
Michael Niedermayer
9665a0fdf6 avutil/error: Add AVERROR_INPUT_CHANGED & AVERROR_OUTPUT_CHANGED to error_entries[]
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 02:02:11 +02:00
Vignesh Venkatasubramanian
233f3ad869 lavf/webm_dash: Allow filenames without directories
Fix basename computation code to allow just file names without any
directories in the path.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-10 00:46:37 +02:00
Marton Balint
ce928d7d2b ffplay: dont leave swresampler in half initialized state
On init failure, let's just free it, so next time it will be recreated from
start.

Also fixes Coverity CID 1241515.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-10-09 23:18:37 +02:00
James Almer
8c6992bf0c compat/w32pthreads: use the condition variable API directly when targeting newer versions of Windows
Wrap the function calls in a similar fashion to how it's being done
with the critical section API.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-09 17:51:46 -03:00
Frank Galligan
241b306b1e Fix writing first audio Cues in dash mode.
In dahsmode Matroska is not writing the first Cluster for every
audio stream in the Cues element.

Signed-off-by: Frank Galligan <frankgalligan@gmail.com>
Reviewed-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 21:50:48 +02:00
James Almer
0c06949314 compat/w32pthreads: use the CONDITION_VARIABLE typedef if available
This silences warnings about passing arguments from incompatible pointer type
when targeting Windows Vista or newer.

Tested-by: Matt Oliver <protogonoi@gmail.com>
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-09 13:26:44 -03:00
Michael Niedermayer
99afec08f8 avutil/softfloat: add some asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 17:02:59 +02:00
Michael Niedermayer
44198a728d avutil/softfloat: Fix dependence on signed overflow in av_normalize1_sf()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 16:52:56 +02:00
Michael Niedermayer
f3b54ee989 avutil/Makefile: add softfloat to TESTPROGS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 16:02:14 +02:00
Benoit Fouet
7cda31cb92 avformat/mov: E-AC-3 streams need parsing too.
syncframes in E-AC-3 can be combined to provide 6 audio blocks per
sample, thus requiring parsing for proper decoding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 15:38:09 +02:00
Yu Xiaolei
d5a6f11272 lavf: fix 2GB file seek limit on Android
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 13:08:33 +02:00
Michael Niedermayer
7b973e7341 Merge commit '2bc220958c7570020d87ee353db65460b518998a'
* commit '2bc220958c7570020d87ee353db65460b518998a':
  ismindex: handle discontinuous streams better

Conflicts:
	tools/ismindex.c

See: d3834f2901
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 12:25:52 +02:00
Mika Raento
d3834f2901 ismindex: handle discontinuous streams better
Reads the fragment duration from the trun sample data, rather than
assuming that there are no gaps. Creates much better playlists for our
inputs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 12:15:48 +02:00
Mika Raento
2bc220958c ismindex: handle discontinuous streams better
Read the fragment duration from the trun sample data, rather than
assuming that there are no gaps.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-09 11:21:49 +03:00
Michael Niedermayer
5d36e8527f avformat/mov: Fix 'warning: format specifies type unsigned short but the argument has type int'
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:49:25 +02:00
Michael Niedermayer
8cfb9ccfef avcodec/utils: Fix "warning: pointer type mismatch in conditional expression"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:46:13 +02:00
Michael Niedermayer
0578623039 avformat/dump: use format dump_separator if the codec one is not set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:41:42 +02:00
Michael Niedermayer
f9a1317479 avcodec/utils: Add missing AV_PIX_FMT_YUVJ411P to color_range override code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 05:28:10 +02:00
Michael Niedermayer
cf7b90dea2 fix seperator typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 04:19:13 +02:00
Michael Niedermayer
f6777ce6fe Merge commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7'
* commit '1a02e78653a5c7674e6c43b6e6f2748dbd2091d7':
  vc1: initialize color properties

See: ddabecbbf5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 03:06:20 +02:00
Michael Niedermayer
5b134a0544 Merge commit 'eddf95283fbba1b469b76e7518bc3941f671b193'
* commit 'eddf95283fbba1b469b76e7518bc3941f671b193':
  vp9: initialize color space and range properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:49:16 +02:00
Michael Niedermayer
3bc86462a2 Merge commit '65875a8b3b079752da25a61ec188d2e3d90a569f'
* commit '65875a8b3b079752da25a61ec188d2e3d90a569f':
  vp8: initialize color space and range properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:36:58 +02:00
Michael Niedermayer
349a32c436 Merge commit '0d8a3656ba4c0ae8e4e0c91ff6b07d72a317f9f6'
* commit '0d8a3656ba4c0ae8e4e0c91ff6b07d72a317f9f6':
  mov: support the Color Parameter Atoms 'colr'

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:27:53 +02:00
Michael Niedermayer
6414c3ecd0 Merge commit '586ea0379c207a942c1f2d61e0b3a63c458cc598'
* commit '586ea0379c207a942c1f2d61e0b3a63c458cc598':
  avcodec: fix colorspace option description

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:23:15 +02:00
Michael Niedermayer
923a242282 Merge commit '91eef402037ae5a51d89ade6cb71cdd70b291c8b'
* commit '91eef402037ae5a51d89ade6cb71cdd70b291c8b':
  avcodec: add enum values on chroma sample location

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:14:54 +02:00
Michael Niedermayer
7652b176fc Merge commit '9d5fed6dc4cccb0689f694112f5026988bebc472'
* commit '9d5fed6dc4cccb0689f694112f5026988bebc472':
  avcodec: fix descriptions on color transfer options

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:14:23 +02:00
Michael Niedermayer
04d8f616fd Merge commit '167e6f1489368a4693145da61cb022c113a285bc'
* commit '167e6f1489368a4693145da61cb022c113a285bc':
  dump: Update streams and chapters printout format

See: cab2860c8a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 02:11:04 +02:00
Michael Niedermayer
5f43a7957b Merge commit '9f3a70c44224ed92d91df65bb9470a2649e7d019'
* commit '9f3a70c44224ed92d91df65bb9470a2649e7d019':
  dump: print the original coded dimensions when available

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 01:46:26 +02:00
Michael Niedermayer
af28960412 Merge commit '41e86146e7240f9d42e8cdb86a94bb3eb2bbe15f'
* commit '41e86146e7240f9d42e8cdb86a94bb3eb2bbe15f':
  dump: print detailed color space information

full color triplets are only printed if they are not all equal, otherwise
they are printed as before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 01:26:34 +02:00
Michael Niedermayer
f0a6874de8 avformat: Allow choosing the dump format field separator.
The default is to maintain the previous ", " for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 00:56:58 +02:00
Michael Niedermayer
e051d09c58 avcodec: Allow choosing the dump format field separator.
The default is to maintain the previous ", " for now.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 00:56:31 +02:00
Michael Niedermayer
f22f873ef0 Merge commit '20a5956b8daeee4cb59d6fa00ec809b02c04d7f8'
* commit '20a5956b8daeee4cb59d6fa00ec809b02c04d7f8':
  dump: split audio and video probing on multiple lines

Conflicts:
	libavcodec/utils.c
	libavformat/dump.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-09 00:56:23 +02:00
Michael Niedermayer
bb44f7d5d7 Merge commit '5a419b2dd1881889d436f55741fd3ff3f9f436c4'
* commit '5a419b2dd1881889d436f55741fd3ff3f9f436c4':
  pixdesc: return color properties names

Conflicts:
	libavutil/pixdesc.c
	libavutil/pixdesc.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:53:48 +02:00
Michael Niedermayer
7eb959bf0b Merge commit '04ccd584a70fad4ebb29ca340d704970ff313cbc'
* commit '04ccd584a70fad4ebb29ca340d704970ff313cbc':
  pixfmt: mark further reserved values

Conflicts:
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:37:59 +02:00
Michael Niedermayer
1b6172dcf6 Merge commit 'c732c62cee43f651775af5547cff99d418248542'
* commit 'c732c62cee43f651775af5547cff99d418248542':
  doc: expand description for some color properties

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:28:45 +02:00
Michael Niedermayer
dc5560efda Merge commit 'a2c00d22e71d13b72828147be86aa9e961c6cae6'
* commit 'a2c00d22e71d13b72828147be86aa9e961c6cae6':
  avprobe: print color properties for show_streams

Conflicts:
	avprobe.c

Not merged as this code does not build and is incomplete, some parts only
appear in later commits.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:20:33 +02:00
Michael Niedermayer
10dd62737e Merge commit '147f2e91eece6b9021ff5b7f8a3b5ce053566659'
* commit '147f2e91eece6b9021ff5b7f8a3b5ce053566659':
  avcodec: make sure color_range is properly initialized

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:08:11 +02:00
Michael Niedermayer
d5a3caef93 Merge commit '04d14c9b68b03e8dbc6e3003c1ee06892dd32576'
* commit '04d14c9b68b03e8dbc6e3003c1ee06892dd32576':
  vc1: Split the decoder in components

Conflicts:
	libavcodec/Makefile
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 22:00:09 +02:00
Michael Niedermayer
9da679e77f Merge commit '7ae9791b641d1183910b6e7faca23f7ae08f8579'
* commit '7ae9791b641d1183910b6e7faca23f7ae08f8579':
  avformat: bump version after mime_type change

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 21:45:41 +02:00
Michael Niedermayer
911ba8fb19 Merge commit 'b15b06ebf582ae81e47d236524c9ad6e10c8a0a7'
* commit 'b15b06ebf582ae81e47d236524c9ad6e10c8a0a7':
  avformat: use const char* instead of uint8_t* for AVProbeData.mime_type

Conflicts:
	libavformat/format.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 21:35:40 +02:00
Michael Niedermayer
be695ee389 avformat/matroskadec: do not trust the default duration to be the real 1/timebase if its less than 5fps
Fixes Ticket3980

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 20:39:37 +02:00
Vittorio Giovara
1a02e78653 vc1: initialize color properties 2014-10-08 18:17:50 +01:00
Vittorio Giovara
eddf95283f vp9: initialize color space and range properties 2014-10-08 18:17:50 +01:00
Vittorio Giovara
65875a8b3b vp8: initialize color space and range properties 2014-10-08 18:17:50 +01:00
Vittorio Giovara
0d8a3656ba mov: support the Color Parameter Atoms 'colr' 2014-10-08 18:17:50 +01:00
Vittorio Giovara
586ea0379c avcodec: fix colorspace option description 2014-10-08 18:17:50 +01:00
Marc-Antoine Arnaud
91eef40203 avcodec: add enum values on chroma sample location 2014-10-08 18:17:50 +01:00
Marc-Antoine Arnaud
9d5fed6dc4 avcodec: fix descriptions on color transfer options
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-08 18:17:49 +01:00
Sylvain Rabot
167e6f1489 dump: Update streams and chapters printout format
This matches the -map option which requires '%d:%d' format.
2014-10-08 18:17:49 +01:00
Vittorio Giovara
9f3a70c442 dump: print the original coded dimensions when available 2014-10-08 18:17:49 +01:00
Vittorio Giovara
41e86146e7 dump: print detailed color space information 2014-10-08 18:17:49 +01:00
Vittorio Giovara
20a5956b8d dump: split audio and video probing on multiple lines
Also always report pixel format.
2014-10-08 18:17:49 +01:00
Vittorio Giovara
5a419b2dd1 pixdesc: return color properties names 2014-10-08 18:17:49 +01:00
Vittorio Giovara
04ccd584a7 pixfmt: mark further reserved values 2014-10-08 18:17:49 +01:00
Vittorio Giovara
c732c62cee doc: expand description for some color properties 2014-10-08 18:17:49 +01:00
Vittorio Giovara
a2c00d22e7 avprobe: print color properties for show_streams 2014-10-08 18:17:49 +01:00
Vittorio Giovara
147f2e91ee avcodec: make sure color_range is properly initialized 2014-10-08 18:17:49 +01:00
Luca Barbato
04d14c9b68 vc1: Split the decoder in components
Speed up the overall compilation time.
2014-10-08 18:34:48 +02:00
Vittorio Giovara
7ae9791b64 avformat: bump version after mime_type change 2014-10-08 15:59:51 +01:00
Tobias Rapp
33db99548b Changelog: add "ffprobe -show_pixel_formats option"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:58:14 +02:00
Carl Eugen Hoyos
1d4480d376 tests/Makefile: Fix fate-ffprobe with --target-path
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:26:20 +02:00
Andreas Cadhalpun
b15b06ebf5 avformat: use const char* instead of uint8_t* for AVProbeData.mime_type
This makes the field consistent with AVInputFormat.mime_type and the
argument type of av_match_name.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-10-08 15:13:15 +01:00
Michael Niedermayer
f703c8cc09 avcodec/avpicture: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:09:31 +02:00
Michael Niedermayer
fa8c6c1350 avcodec/atrac3plusdec: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:09:23 +02:00
Michael Niedermayer
f66fed6c42 avcodec/bfi: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 16:08:28 +02:00
Michael Niedermayer
e97f38ce63 ffserver: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 15:22:24 +02:00
Michael Niedermayer
b530e2e351 avcodec/vorbisdec: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 15:17:27 +02:00
Michael Niedermayer
3c1378ce0a Merge commit '2d91abade29e43bb45c881d45909b8ee77e904e2'
* commit '2d91abade29e43bb45c881d45909b8ee77e904e2':
  x86: h264_intrapred: Don't treat 32-bit integers as 64-bit

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 11:48:58 +02:00
Michael Niedermayer
36e4b750a7 Merge commit '82f8eb5f773d87e3d9c0066ef19b501a461ddfae'
* commit '82f8eb5f773d87e3d9c0066ef19b501a461ddfae':
  jpeg2000: split off inverse MCT as Jpeg2000DSP

Conflicts:
	libavcodec/Makefile
	libavcodec/jpeg2000dec.c
	libavcodec/jpeg2000dsp.c
	libavcodec/jpeg2000dsp.h

See: c9f2ec8a34
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 11:40:56 +02:00
Henrik Gramner
2d91abade2 x86: h264_intrapred: Don't treat 32-bit integers as 64-bit
The upper halves are not guaranteed to be zero in x86-64.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-08 08:15:52 +00:00
James Almer
82f8eb5f77 jpeg2000: split off inverse MCT as Jpeg2000DSP
This makes the addition of arch optimized functions easier.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-08 08:02:55 +00:00
Michael Niedermayer
f3296b9454 avcodec/h264: Undefined behavior (left shift of 12852653 by 8 places cannot be represented in type 'int')
Fixes: asan_heap-oob_84f75d_8_asan_heap-oob_a2a00a_341_mbc.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 05:35:10 +02:00
Michael Niedermayer
344f8d307a swresample/audioconvert: Fix undefined behavior (left shift of negative value)
Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 05:35:06 +02:00
Michael Niedermayer
9db9b209e3 avcodec/mmvideo: Fix undefined behavior (left shift of negative value)
Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-08 05:35:01 +02:00
Tobias Rapp
1acc9189b4 ffprobe: add pixel format chroma sub-sampling output
Adds output of chroma sub-sampling information to
ffprobe -show_pixel_formats option.

Note: This patch just prints the "raw" log2_charoma_w/h values instead
of the previously suggested mapping into a chroma sub-sampling pattern
string like "4:2:2".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp
7d327d6242 ffprobe: add pixel format component bit depth output
Adds output of bit depth per pixel format component to
ffprobe -show_pixel_formats option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp
b36b2c89df ffprobe: add pixel format flags output
Adds output of pixel format flags to ffprobe -show_pixel_formats option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Tobias Rapp
143a8a44f4 ffprobe: add -show_pixel_formats option
Adds option -show_pixel_formats to ffprobe which lists all
available pixel formats with some details.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 23:18:15 +02:00
Clément Bœsch
abaf4245a1 avfilter: add w/h parameters in timeline
Fixes Ticket #4008.
2014-10-07 15:05:50 +02:00
Michael Niedermayer
158b3fb584 avformat/tiertexseq: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 13:46:29 +02:00
Michael Niedermayer
2d6f31730c avfilter/af_adelay: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 13:44:26 +02:00
Michael Niedermayer
aba873bbd0 Merge commit '9a03c2323593173a201cb75edd1b49887cf811ed'
* commit '9a03c2323593173a201cb75edd1b49887cf811ed':
  h263dec: Force padding bug workaround for H.263.

This is not merged as it breaks a good part of the error concealment/resilience for H.263
Also, messenger.h263 plays fine in ffmpeg.
If anyone has any other h263 files that do not work, please open an issue on trak or
mail me!

See: d225b0f7aa
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 13:00:08 +02:00
Michael Niedermayer
33c8500db4 Merge commit 'd208d1eba3799c58fd6d3602d31de3e686f14aec'
* commit 'd208d1eba3799c58fd6d3602d31de3e686f14aec':
  hevc_mvs: make sure to always initialize the temporal MV fully

Conflicts:
	libavcodec/hevc_mvs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 12:29:07 +02:00
Michael Niedermayer
018ca8b7f6 Merge commit '79a60c8e779242b5ba4c531b2c706c871e8e6420'
* commit '79a60c8e779242b5ba4c531b2c706c871e8e6420':
  hevc_mvs: initialize the temporal MV in case of missing ref

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 12:21:43 +02:00
Josh Allmann
9a03c23235 h263dec: Force padding bug workaround for H.263.
Fixes decoding of http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-07 07:30:32 +00:00
Anton Khirnov
d208d1eba3 hevc_mvs: make sure to always initialize the temporal MV fully
The spec requires this.

Fixes uninitialized reads on some samples.

Remove now unnecessary initialization of the whole merge candidate list.
2014-10-07 07:13:01 +00:00
Anton Khirnov
79a60c8e77 hevc_mvs: initialize the temporal MV in case of missing ref
The caller expects the MV to always be initialized.
2014-10-07 07:12:55 +00:00
Michael Niedermayer
0026c4ecfd avformat/hls: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 04:29:27 +02:00
Michael Niedermayer
f0d1b3acdf avcodec/escape124: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:42:20 +02:00
Michael Niedermayer
1c5647f419 avcodec/proresenc_kostya: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:41:40 +02:00
Michael Niedermayer
c9eac8062e avcodec/avpacket: use av_freep(), do not leave stale pointers in memory
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:40:57 +02:00
Michael Niedermayer
b60938e4fd avcodec/avpacket: simplify freeing pkt->data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:40:15 +02:00
Mark Reid
5c50214eed avformat/mxfdec: read reel_name and source timecode from physical source package
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 03:13:06 +02:00
Michael Niedermayer
3726d07a2a Merge commit '28816050e47b6dba430a52e429d21a864cffda8e'
* commit '28816050e47b6dba430a52e429d21a864cffda8e':
  lavf: Set the stream time base hint properly for chained muxers

Conflicts:
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 02:51:08 +02:00
Michael Niedermayer
4db0e8fd33 Merge commit 'b76249443864c88ffb2d41ab8d1de7432e985dc7'
* commit 'b76249443864c88ffb2d41ab8d1de7432e985dc7':
  sdp: Simplify parsing/conversion of H264 extradata

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 02:40:02 +02:00
Michael Niedermayer
a52384dcda Merge commit '153fadc390d05aa47e5e2c56290401898fe41a23'
* commit '153fadc390d05aa47e5e2c56290401898fe41a23':
  ff_get_format: fix infinite loop

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-07 02:15:26 +02:00
Martin Storsjö
28816050e4 lavf: Set the stream time base hint properly for chained muxers
This avoids warnings about using the codec time base as time
base hint.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-06 23:30:52 +03:00
Martin Storsjö
b762494438 sdp: Simplify parsing/conversion of H264 extradata
By using ff_avc_write_annexb_extradata instead of the h264_mp4toannexb
BSF, the code for doing the conversion itself is kept much shorter,
there's less state to restore at the end, we don't risk leaving the
AVCodecContext in an inconsistent state if returning early due to
errors, etc.

Also add a missing free if the base64 encoding fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-06 23:29:58 +03:00
Michael Niedermayer
d47dd84391 Merge commit '577899a6458ccad9026eb268f10dc0b39c224c8d'
* commit '577899a6458ccad9026eb268f10dc0b39c224c8d':
  lavc: specify the behavior of av_lockmgr_register on failure.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavcodec/version.h

See: a950edb472
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 21:08:55 +02:00
Rémi Denis-Courmont
153fadc390 ff_get_format: fix infinite loop
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 18:39:45 +00:00
Manfred Georg
577899a645 lavc: specify the behavior of av_lockmgr_register on failure.
The register function now specifies that the user callback should
leave things in the same state that it found them on failure but
that failure to destroy is ignored by the library.  The register
function is now explicit about its behavior on failure
(it unregisters the previous callback and destroys all mutex).

Signed-off-by: Manfred Georg <mgeorg@google.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 18:20:17 +00:00
Michael Niedermayer
67ddf21611 avcodec/vdpau: do not dereference hwctx before checking it for NULL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 17:39:28 +02:00
Michael Niedermayer
4d8356b678 Merge commit '8de1d67967a9f9e22c66cb0c1e518ae4f30d07dd'
* commit '8de1d67967a9f9e22c66cb0c1e518ae4f30d07dd':
  avconv_vdpau: update to new VDPAU interface

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 16:31:51 +02:00
Michael Niedermayer
0e57c05118 avcodec/vdpau: fix render2() check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 16:23:36 +02:00
Michael Niedermayer
403133ab5e ffmpeg: add vdpau_old to allow continued testing of the older (but not oldest) API
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 16:09:02 +02:00
Michael Niedermayer
573d333010 Merge commit 'bef067f88c74190cdf7e76d12f02e12e069974aa'
* commit 'bef067f88c74190cdf7e76d12f02e12e069974aa':
  vdpau: check video surface and decoder capabilities

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 15:12:19 +02:00
Michael Niedermayer
a61899a0f1 Merge commit 'e3e158e81f0666b8fe66be9ce1cad63a535920e0'
* commit 'e3e158e81f0666b8fe66be9ce1cad63a535920e0':
  vdpau: add av_vdpau_bind_context()

Conflicts:
	doc/APIchanges
	libavcodec/vdpau.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 15:04:03 +02:00
Michael Niedermayer
067d11bf71 Merge commit '502cde409ca5ee97ef70c2cdede88b9101746ff6'
* commit '502cde409ca5ee97ef70c2cdede88b9101746ff6':
  vdpau: force reinitialization when output resolution changes

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 14:17:40 +02:00
Michael Niedermayer
ec6a855b3a avcodec/vdpau: warn if the user application has not setup avctx->hwaccel_context instead of potentially crashing
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 14:10:37 +02:00
Michael Niedermayer
0ba887bbf4 Merge commit '89ac99ba5f2dc9f69ad3bc294753930eb0b3e4a4'
* commit '89ac99ba5f2dc9f69ad3bc294753930eb0b3e4a4':
  vdpau: pass codec-specific parameters from hwaccel

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 13:21:52 +02:00
Michael Niedermayer
8df41976b7 avcodec/vdpau_internal: add comment to #endif
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 12:47:08 +02:00
Michael Niedermayer
10b6d7462c Merge commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd'
* commit 'ce083282f0a8b7d63c4047c30b7bac498f9806dd':
  vdpau: common support for managing the VdpDecoder in avcodec

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 12:38:26 +02:00
Michael Niedermayer
b64b719ad5 Merge commit 'fcc1022611f79c2f3aa2f392a5ce14c74be9c1d7'
* commit 'fcc1022611f79c2f3aa2f392a5ce14c74be9c1d7':
  vdpau: factor out common end-of-frame handling

Conflicts:
	libavcodec/vdpau.c
	libavcodec/vdpau_h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 12:09:17 +02:00
Michael Niedermayer
567c0dcee6 Merge commit '319424d25c53f82b87187ce03ed984d438f1bee6'
* commit '319424d25c53f82b87187ce03ed984d438f1bee6':
  vdpau: add helper for VDPAU to libav error codes conversion

Conflicts:
	libavcodec/vdpau.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 11:38:06 +02:00
Rémi Denis-Courmont
8de1d67967 avconv_vdpau: update to new VDPAU interface
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
bef067f88c vdpau: check video surface and decoder capabilities
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
e3e158e81f vdpau: add av_vdpau_bind_context()
This function provides an explicit VDPAU device and VDPAU driver to
libavcodec, so that the application is relieved from codec specifics
and VdpDevice life cycle management.

A stub flags parameter is added for future extension. For instance, it
could be used to ignore codec level capabilities (if someone feels
dangerous).

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:20:40 +00:00
Rémi Denis-Courmont
502cde409c vdpau: force reinitialization when output resolution changes
This is necessary to recreate the decoder with the correct parameters,
as not all codecs invoke get_format() in this case.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-06 06:18:56 +00:00
Michael Niedermayer
6b347f519d swresample/swresample: replace always true if() by av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 01:29:15 +02:00
Michael Niedermayer
f9fefa499f swresample/swresample: fix sample drop loop end condition
Fixes Ticket3985

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 01:29:06 +02:00
Michael Niedermayer
02f7665a3c avformat/mov: do not overwrite extradata in mov_read_glbl()
Fixes regression from Ticket3962

This basically favors the first global header while since 34751f8313
it was the last. If this heuristic turns out worse, do not hesitate to revert this and
reopen 3962 as a feature request for multiple STSD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-06 00:17:33 +02:00
James Almer
fb7d8d50bc swscale: remove obsolete FF_API_SWS_FORMAT_NAME cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:29 -03:00
James Almer
ddc3768161 avformat: remove obsolete FF_API_READ_PACKET cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:26 -03:00
James Almer
ecf457f3ac avformat: remove obsolete FF_API_CLOSE_INPUT_FILE cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:23 -03:00
James Almer
3bd9f17b8a avformat: remove obsolete FF_API_SET_PTS_INFO cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:20 -03:00
James Almer
a578b93c73 avformat: remove obsolete FF_API_NEW_STREAM cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:15 -03:00
James Almer
cc787709ee avformat: remove obsolete FF_API_FORMAT_PARAMETERS cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:13 -03:00
James Almer
903a0acba4 avformat: remove obsolete FF_API_ALLOC_OUTPUT_CONTEXT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:07 -03:00
James Almer
e524a9b1ff avutil: remove obsolete FF_API_INTFLOAT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:10:03 -03:00
James Almer
3e57520982 avutil: remove obsolete FF_API_SAMPLES_UTILS_RETURN_ZERO cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:56 -03:00
James Almer
71718de814 avutil: remove obsolete FF_API_FIND_OPT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:53 -03:00
James Almer
1abb77285c avutil: remove obsolete FF_API_GET_BITS_PER_SAMPLE_FMT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:49 -03:00
James Almer
42111bb960 avcodec: remove obsolete FF_API_FAST_MALLOC cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:44 -03:00
Michael Niedermayer
c02ea58c5f avformat/options_table: add FF_COMPLIANCE_UNOFFICIAL
Fixes ticket 3959

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 21:43:17 +02:00
Michael Niedermayer
70eba7695c configure: add -lrt to libavutil when needed for nanosleep
This is similar to 7d97511e13

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 18:51:12 +02:00
Benoit Fouet
904cfd257d avcodec/h264_mp4toannexb_bsf: reset the new IDR flag when SPS/PPS is seen.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 14:47:04 +02:00
Michael Niedermayer
436206c175 avcodec/webp: add assert to ensure palette is not larger than 256
it should not be possible to be larger as its stored as 8bit value
but we would be overwriting a stack buffer if it is ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 13:00:40 +02:00
Pascal Massimino
19fb476841 avcodec/webp: add optimization: use local palette with extra padding
for big enough pictures.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 12:47:44 +02:00
Rémi Denis-Courmont
89ac99ba5f vdpau: pass codec-specific parameters from hwaccel
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:41:31 +00:00
Rémi Denis-Courmont
ce083282f0 vdpau: common support for managing the VdpDecoder in avcodec
Using the not so new init and uninit callbacks, avcodec can now take
care of creating and destroying the VDPAU decoder instance.

The application is still responsible for creating the VDPAU device
and allocating video surfaces - this is necessary to keep video
surfaces on the GPU all the way to the output. But the application
will no longer needs to care about any codec-specific aspects.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:17:02 +00:00
Rémi Denis-Courmont
fcc1022611 vdpau: factor out common end-of-frame handling
Also add error handling.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:13:44 +00:00
Rémi Denis-Courmont
319424d25c vdpau: add helper for VDPAU to libav error codes conversion
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-10-05 10:08:53 +00:00
Matthew Oliver
e81eca0ce5 configure: Set large address aware.
Enables >2GB memory usage for 32 bit compiles on Windows.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 05:33:36 +02:00
Alexander Strasser
e079d43af8 avformat/img2dec: Attempt to detect non-escaped glob patterns too (-pattern_type glob)
Fixes ticket #3948

Based-on-patch-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:56:42 +02:00
Michael Niedermayer
345160a9cd Merge commit '2a5ac99e6e06078713f684fee2466c91f677b303'
* commit '2a5ac99e6e06078713f684fee2466c91f677b303':
  x11grab: Check the XQueryPointer return value

Conflicts:
	libavdevice/x11grab.c

See: 69c34a6ac9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:42:55 +02:00
Michael Niedermayer
8e5be0fffe Merge commit '5b9c817dc7577b6d44acc94d73b9c77c52cda489'
* commit '5b9c817dc7577b6d44acc94d73b9c77c52cda489':
  x11grab: Check XFixesGetCursorImage return value

Conflicts:
	libavdevice/x11grab.c

See: a65c0a3fe8

The warning with adjusted text is kept from a65c0a3fe8
but drawing the cursor is not disabled in case XFixesGetCursorImage() fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:22:55 +02:00
Michael Niedermayer
98baa8151a Merge commit '89fa2b5616274194d90bde0aeebf6adbd1245193'
* commit '89fa2b5616274194d90bde0aeebf6adbd1245193':
  x11grab: Check for XFixes availability at runtime

See: a65c0a3fe8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 03:14:35 +02:00
Michael Niedermayer
de52af9017 Merge commit '68211c70afcfd4d675029cc85fba7dee8de53bdf'
* commit '68211c70afcfd4d675029cc85fba7dee8de53bdf':
  vc1: Do not assume seek happens after decoding

See: 6801eb0a09
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 02:58:48 +02:00
Michael Niedermayer
684508ba15 avformat/img2dec: Support -loop with pipes
Fixes Ticket3976

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-05 01:49:25 +02:00
Antonio Ospite
2a5ac99e6e x11grab: Check the XQueryPointer return value
The paint_mouse_pointer() code uses XFixes to retrieve the cursor
coordinates, but XFixes gives no information about which screen the
pointer is on; this results in always drawing the cursor on the
captured screen even if the mouse pointer was on another screen.

For example, when capturing from screen 1 (i.e. -f x11grab -i ":0.1")
the cursor was being drawn in the captured image even when the mouse
pointer was actually on screen 0, which is wrong and visually confusing.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-04 23:46:46 +02:00
Luca Barbato
5b9c817dc7 x11grab: Check XFixesGetCursorImage return value
It could return NULL if the cursor is outside the screen, the connection
timed out or the system is out of memory.

CC: libav-stable@libav.org
2014-10-04 23:46:46 +02:00
Luca Barbato
89fa2b5616 x11grab: Check for XFixes availability at runtime 2014-10-04 23:46:46 +02:00
Luca Barbato
68211c70af vc1: Do not assume seek happens after decoding
If a seek is requested before the decoding start there is no
current picture.

CC: libav-stable@libav.org
2014-10-04 23:46:46 +02:00
Michael Niedermayer
550f3e9df3 avcodec/on2avc: Check number of channels
Fixes out of array access
Fixes: asan_heap-oob_4da4f3_7_asan_heap-oob_4da4f3_173_Xmen_avc_500.vp6

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 22:15:54 +02:00
Michael Niedermayer
578da1f0dd Merge commit '36f3aec3630f27df64f4ff2b52a1c9ced760eb52'
* commit '36f3aec3630f27df64f4ff2b52a1c9ced760eb52':
  fate-vc1_ilaced_twomv: use -flags +bitexact

Conflicts:
	tests/ref/fate/vc1_ilaced_twomv

See: 233d1acb70
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 21:38:16 +02:00
Mickaël Raulet
4ba6371a83 x86/hevc: get rid off packusdw for ssse3 compatibility
cherry picked from commit df8ebe304df453f26c28ff8f11d607f49b90a4c2

Fixes out of array access
Fixes: asan_stack-oob_1046454_9_asan_stack-oob_15a9e7c_170_WP_MAIN10_B_Toshiba_3.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 21:14:15 +02:00
Michael Niedermayer
df8394c693 avcodec/hevc: fix chroma transform_add size
Fixes accessing misaligned address
Fixes: signal_sigsegv_1feb99c_10_signal_sigsegv_2d1d35c_79_cov_691940146_EXT_A_ericsson_3.bit

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 17:51:52 +02:00
Carl Eugen Hoyos
aaf65bc2a5 lavc/libx264: Fix compilation with libx264 version < 142. 2014-10-04 17:43:24 +02:00
Michael Niedermayer
9734a7a1de avcodec/h264: Check mode before considering mixed mode intra prediction
Fixes out of array read
Fixes: asan_heap-oob_e476fc_2_asan_heap-oob_1333ec6_61_CAMACI3_Sony_C.jsv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 14:53:13 +02:00
Clément Bœsch
138902dfb6 avformat/assdec: make sure pos is initialized
Fixes use of uninitialized memory
Fixes: signal_sigsegv_504fb0_10_signal_sigsegv_504fb0_343_mewmew_ssa.avi

Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
2014-10-04 12:27:58 +02:00
Michael Niedermayer
dceebe1a60 Merge commit '7d97511e13ef30cd99bae0e36400de055b72918d'
* commit '7d97511e13ef30cd99bae0e36400de055b72918d':
  configure: Add -lrt dependency to avutil's pc file.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 12:04:51 +02:00
Janne Grunau
36f3aec363 fate-vc1_ilaced_twomv: use -flags +bitexact
Also updates the reference since it was generated by the non-bitexact
x86 specific code.
2014-10-04 11:21:32 +02:00
Josh Allmann
7d97511e13 configure: Add -lrt dependency to avutil's pc file.
This is needed for clock_gettime.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-10-04 09:10:04 +02:00
Michael Niedermayer
27f6da2921 avformat/mpegts: use a padded buffer in read_sl_header()
Fixes overread
Fixes: asan_heap-oob_84f75d_8_asan_heap-oob_a2a00a_341_mbc.ts

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 05:15:11 +02:00
Michael Niedermayer
c3d7f00ee3 avformat/mpegts: Check desc_len / get8() return code
Fixes out of array read
Fixes: signal_sigsegv_844d59_10_signal_sigsegv_a17bb7_366_mpegts_mpeg2video_mp2_dvbsub_topfield.rec

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 04:30:59 +02:00
Michael Niedermayer
8c50704ebf avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
Fixes read of uninitialized memory
Fixes: asan_heap-uaf_18dac2b_9_asan_heap-uaf_22eb375_208_beta3_test_small.ogg

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 03:13:39 +02:00
Thomas Volkert
1c4c78ee40 sdp: add support for H.261
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 00:53:13 +02:00
Michael Niedermayer
075a165d27 avcodec/svq3: Dont memcpy AVFrame
This avoids out of array accesses

Fixes: asan_heap-uaf_21f42e4_9_asan_heap-uaf_21f42e4_278_gl2.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-04 00:21:17 +02:00
Michael Niedermayer
c727401aa9 avcodec/smc: fix off by 1 error
Fixes out of array access
Fixes: asan_heap-oob_1685bf0_5_asan_heap-oob_1f35116_430_smc.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 22:51:29 +02:00
Michael Niedermayer
883bc7d2e7 Merge commit '55f03d872640175a00bfa262da4652b7312b905f'
* commit '55f03d872640175a00bfa262da4652b7312b905f':
  hlsenc: Add parameter -hls_allow_cache

Conflicts:
	doc/muxers.texi
	libavformat/hlsenc.c
	libavformat/version.h

See: 3edb9aaea6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 21:46:40 +02:00
Michael Niedermayer
dd3bfe3cc1 avcodec/qpeg: fix off by 1 error in MV bounds check
Fixes out of array access
Fixes: asan_heap-oob_153760f_4_asan_heap-oob_1d7a4cf_164_VWbig6.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 21:09:40 +02:00
Michael Niedermayer
8f1457864b avcodec/gifdec: factorize interleave end handling out
also change it to a loop
Fixes out of array access
Fixes: asan_heap-oob_ca5410_8_asan_heap-oob_ca5410_97_ID_LSD_Size_Less_Then_Data_Inter_3.gif

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 20:20:23 +02:00
Michael Niedermayer
e7e5114c50 avcodec/cinepak: fix integer underflow
Fixes out of array access
Fixes: asan_heap-oob_4da0ba_6_asan_heap-oob_4da0ba_241_cvid_crash.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 19:34:28 +02:00
Joakim Roubert
55f03d8726 hlsenc: Add parameter -hls_allow_cache
The -hls_allow_cache parameter enables explicitly setting the
EXT-X-ALLOW-CACHE tag in the manifest file. That tag indicates
whether the client MAY or MUST NOT cache downloaded media
segments for later replay.

Valid values are 1 (=YES) or 0 (=NO) and the EXT-X-ALLOW-CACHE
will not show in the manifest for other values (or if
-hls_allow_cache is not used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-03 20:20:28 +03:00
Michael Niedermayer
e830902934 avcodec/pngdec: Calculate MPNG bytewidth more defensively
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 18:06:33 +02:00
Michael Niedermayer
3e2b745020 avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
Fixes out of array accesses
Fixes: asan_heap-oob_14dbfcf_4_asan_heap-oob_1ce5767_179_add_method_small.png

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 17:37:15 +02:00
Michael Niedermayer
e1c0cfaa41 avcodec/tiff: more completely check bpp/bppcount
Fixes pixel format selection
Fixes out of array accesses
Fixes: asan_heap-oob_1766029_6_asan_heap-oob_20aa045_332_cov_1823216757_m2-d1d366d7965db766c19a66c7a2ccbb6b.tif

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 16:33:06 +02:00
Michael Niedermayer
8b0e96e1f2 avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
Fixes out of array access
Fixes: asan_heap-oob_4da4f3_8_asan_heap-oob_4da4f3_419_scene1a.mm

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 14:46:43 +02:00
Michael Niedermayer
97cb9b6cbb Revert "avformat/img2dec: reduce bmppipe probe score"
This seems not needed anymore

This reverts commit 321c3cd1a9.

Found-by: carl
2014-10-03 14:15:02 +02:00
Michael Niedermayer
d225b0f7aa avcodec/h263dec: Fix decoding messenger.h263
Fixes http://samples.mplayerhq.hu/V-codecs/h263/h263-raw/messenger.h263
Fixes regression since b239f3f6

Found-by: Josh Allmann
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 12:55:17 +02:00
Michael Niedermayer
105654e376 avcodec/utils: Add case for jv to avcodec_align_dimensions2()
Fixes out of array accesses
Fixes: asan_heap-oob_12304aa_8_asan_heap-oob_4da4f3_300_intro.jv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 04:48:29 +02:00
James Almer
0de1d6287e x86/mlpdec: add ff_mlp_rematrix_channel_{sse4,avx2}
2x to 2.5x faster than the C version.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 22:11:55 -03:00
James Almer
ddb813b0ef mlpdec: move rematrix_channels code to output_data()
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 22:11:51 -03:00
Michael Niedermayer
5c378d6a6d avcodec/mjpegdec: check bits per pixel for changes similar to dimensions
Fixes out of array accesses
Fixes: asan_heap-oob_16668e9_2_asan_heap-oob_16668e9_346_miss_congeniality_pegasus_mjpg.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 02:18:13 +02:00
Michael Niedermayer
06e7d58410 avcodec/jpeglsdec: Check run value more completely in ls_decode_line()
previously it could have been by 1 too large
Fixes out of array access
Fixes: asan_heap-oob_12240f5_1_asan_heap-oob_12240f5_448_t8c1e3.jls
Fixes: asan_heap-oob_12240f5_1_asan_heap-oob_12240f5_448_t8nde0.jls
Fixes: asan_heap-oob_12240fa_1_asan_heap-oob_12240fa_448_t16e3.jls

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 02:18:08 +02:00
Michael Niedermayer
77b3e110d2 avcodec: bump micro version for av_lockmgr_register() changes in a950edb472
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 22:14:02 +02:00
Manfred Georg
a950edb472 avcodec/utils: av_lockmgr_register defines behavior on failure.
The register function now specifies that the user callback should
leave things in the same state that it found them on failure but
that failure to destroy is ignored by the library.  The register
function is now explicit about its behavior on failure
(it unregisters the previous callback and destroys all mutex).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 21:18:49 +02:00
wm4
cdd6f059a6 avcodec, avutil: allow more control about how samples are skipped
Add CODEC_FLAG2_SKIP_MANUAL (exposed as "skip_manual"), which makes
the decoder export sample skip information via side data, instead
of applying it automatically. The format of the side data is the
same as AV_PKT_DATA_SKIP_SAMPLES, but since AVPacket and AVFrame
side data constants overlap, AV_FRAME_DATA_SKIP_SAMPLES needs to
be introduced.

This is useful for applications which want to do the timestamp
calculations manually, or which actually want to retrieve the
padding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 20:21:00 +02:00
Vignesh Venkatasubramanian
a9b10e1510 lavf/webm_dash: some fields should go into Representation
Width, Height and Sample Rate should be in the AdaptationSet tag
only if all the contained representations have the same width,
height and sampling rate. Otherwise they should go into the
Representation tag. This patch adds this functionality and a fate
test for the same.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 19:20:05 +02:00
Michael Niedermayer
0d92b0d5f4 avutil/avstring: Factor av_match_list() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 18:51:05 +02:00
Yusuke Nakamura
6ea357ea83 Fix compilation of jpeg2000dsp when disabling the encoder.
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 12:56:13 -03:00
Derek Buitenhuis
23c9ebffb5 avfilter: Properly check for failed format query
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-02 12:22:49 +01:00
Derek Buitenhuis
1dbc3e8ac8 avfilter/aresample: Check for memory alloc failure for out sample rates
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-02 12:22:37 +01:00
Carl Eugen Hoyos
81cee700f7 Support decoding 32bit pcm audio in mov.
Such files are written by Convergent Design's Odyssey 7Q recorder.
2014-10-02 10:04:43 +02:00
Carl Eugen Hoyos
6efe4137ce Stop demuxing wtv on eof.
Fixes ticket #3991.
Fixes ticket #3995.
Fixes ticket #3997.

Reviewed-by: Peter Ross
Reviewed-by: Paul B Mahol
2014-10-02 09:41:57 +02:00
Carl Eugen Hoyos
80ca627abb Check for oom in the dirac parser.
Fixes ticket #3996.
2014-10-02 09:31:41 +02:00
James Almer
c9f2ec8a34 jpeg2000: split off inverse MCT decoding as Jpeg2000DSP
This makes the addition of arch optimized functions easier.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-02 03:21:45 -03:00
Benoit Fouet
c29d999f71 avformat/mxfenc: add jpeg2000 support.
Fixes ticket #1542

reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 04:19:37 +02:00
Michael Niedermayer
8cde94ec0d avformat/flvenc: fix codec_id_text check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 03:58:54 +02:00
Michael Niedermayer
5dd4e644f3 Merge commit 'd10d1b86550d254bd1e746ed613bf6885978879c'
* commit 'd10d1b86550d254bd1e746ed613bf6885978879c':
  libx265: enable psnr reporting when requested by the user

See: 3956b12fde
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 21:24:01 +02:00
Vignesh Venkatasubramanian
b1071db3df lavf/webm_dash: Fix incorrect bandwidth computation
Fix incorrect bandwidth computation in some cases. When the cue end
descriptor is null (i.e.) start_time_ns == -1, existing bandwidth
computed (if any) should be returned rather than returning 0.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 20:47:18 +02:00
Vignesh Venkatasubramanian
8acb76567a lavf/webm_dash: fix hardcode in cues_end computation
Fix an incorrect hard code in cues_end computation. Updating the fate
test reference files related to the fix as well. The earlier computation
was clearly wrong as the cues_end field was greater than the file size
itself in some cases.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 20:47:11 +02:00
James Almer
acebff8e5d x86/mpegvideoencdsp: improve ff_pix_sum16_sse2
~15% faster.

Also add an mmxext version that takes advantage of the new code, and
build it alongside with the mmx version only on x86_32.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-01 13:07:22 -03:00
Michael Niedermayer
f2e53808e3 avformat/movenc: automatically set AVC-Intra tag
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 16:39:20 +02:00
Michael Niedermayer
0a7afedc48 avcodec/libx264: add avcintra-class
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 16:39:19 +02:00
Michael Niedermayer
23f0e2edec avformat/movenc: AVC Intra support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 16:39:13 +02:00
Michael Niedermayer
d10d1b8655 libx265: enable psnr reporting when requested by the user
This is similar to what is done in libx264.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-10-01 14:31:48 +01:00
Christophe Gisquet
9a3653c9ec hevc: reuse edge emu buffer for coefficients
Kind of hackish but...

Reviewed-by: Mickael Raulet <Mickael.Raulet@insa-rennes.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 12:12:28 +02:00
Manfred Georg
79551d2c7a avcodec/utils: Force mutex to NULL after destruction.
A badly behaving user provided mutex manager (such as that in OpenCV) may not reset the mutex to NULL on destruction.  This can cause a problem for a later mutex manager (which may assert that the mutex is NULL before creating).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 00:56:53 +02:00
wm4
c8422f04a3 avformat/aviobuf: fix avio_flush() for read streams
avio_flush() did nothing useful for read streams. Fix it to behave as
expected, and discard the currently read buffer properly.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 21:31:08 +02:00
Jeffrey Wescott
07de0db74b avformat/flvenc: When using "-c:d copy", don't require a codec for passing the AMF metadata through from input to output. 2014-09-30 20:27:07 +02:00
Michael Niedermayer
cda5d89def avcodec/bitstream_filter: Use av_bitstream_filter_next() instead of direct access in av_bitstream_filter_init()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 20:27:07 +02:00
Clément Bœsch
0eb4a42812 avcodec/srtdec: use AVBPrint API 2014-09-30 20:21:15 +02:00
Clément Bœsch
55180b3299 Kill timed SRT 2014-09-30 20:21:14 +02:00
Benoit Fouet
d5ddcb5f8e avcodec/h264_mp4toannexb_bsf: use the given padding in h264_extradata_to_annexb().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 13:12:36 +02:00
Benoit Fouet
1cf4d2e9be avcodec/h264_mp4toannexb_bsf: add a case when only SPS/PPS is in the stream.
When only SPS or PPS is present in the stream, copy the missing one from
AVCC before insertion to the output stream.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 11:33:06 +02:00
Alexander Drozdov
08ccc474b7 RTMP: fix FD leak in rtmp_open()
If we setup AVIO interrupt callback and it will be returns 1 on socket
timeouts and we try to connect to non-existing streams on some servers
(like nginx-rtmp) we got FD leak.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 11:26:25 +02:00
Michael Niedermayer
61c0683080 avcodec/mpegvideo_enc: Fix leak on bitstream buffer reallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-30 05:19:20 +02:00
Michael Niedermayer
1441641d78 avcodec/mpegvideo_enc: Allocate only a small buffer and reallocate as needed
This should reduce the memory requirement

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:50:53 +02:00
Michael Niedermayer
a2d5f6b9db Merge commit '19133e96d30e3f80dbae236ef081aedef419a6bf'
* commit '19133e96d30e3f80dbae236ef081aedef419a6bf':
  lavf: fix memleaks in avformat_find_stream_info()

Conflicts:
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:25:09 +02:00
Michael Niedermayer
56c47364c3 Merge commit '2cd7c99498b1bcb450c328459cf85a686ce83456'
* commit '2cd7c99498b1bcb450c328459cf85a686ce83456':
  h264: reset ret to avoid propagating minor failures

See: 47048aa30b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:05:20 +02:00
Michael Niedermayer
46807921f7 Merge commit 'e3a00acde05c925617dc19b5373969d864bf8414'
* commit 'e3a00acde05c925617dc19b5373969d864bf8414':
  hevc: Initialize mergecand_list to 0

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 21:02:15 +02:00
Michael Niedermayer
77ab7407c2 Merge commit 'a05f5052fef3b3743fab7846da12861d8a8098ec'
* commit 'a05f5052fef3b3743fab7846da12861d8a8098ec':
  sdp: Make opus declaration conform to the spec

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 20:26:15 +02:00
Justin Ruggles
19133e96d3 lavf: fix memleaks in avformat_find_stream_info()
When AVFMT_FLAG_NOBUFFER is set, the packets are not added to the
AVFormatContext packet list, so they need to be freed when they are
no longer needed.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-09-29 17:54:25 +00:00
Michael Niedermayer
cf32181b70 avcodec/put_bits: Add rebase_put_bits()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 15:22:37 +02:00
Michael Niedermayer
2cd7c99498 h264: reset ret to avoid propagating minor failures
Unbreak 772d150a6e.

CC: libav-stable@libav.org
Bug-Id: 750 / 905753
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-09-29 12:33:55 +01:00
Luca Barbato
e3a00acde0 hevc: Initialize mergecand_list to 0
Unbreak cf6090dc62.

CC: libav-stable@libav.org
Sample-Id: hevc-conformance-LTRPSPS_A_Qualcomm_1
2014-09-29 12:33:46 +01:00
Michael Niedermayer
8ba6945487 avcodec/utils: Fix off by 1 error causing unneeded allocation in ff_fast_malloc()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 12:56:45 +02:00
Timothy B. Terriberry
a05f5052fe sdp: Make opus declaration conform to the spec
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-29 13:48:42 +03:00
Michael Niedermayer
3f5095f213 avformat/hlsenc: fix outter typo
Found-by: beastd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 00:19:43 +02:00
Michael Niedermayer
755f7929c6 avcodec/mpegvideo_enc: Only enforce rc_max_available_vbv_use on first encoding attempt
This reduces repeatly re-encoding to achieve VBV compliance

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 23:59:44 +02:00
Michael Niedermayer
b1a0fccd02 avformat/hlsenc: export inner muxer timebase
Fixes "Non-monotonous DTS in output stream 0:0"
Fies Ticket 3797

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 22:27:33 +02:00
Michael Niedermayer
579a0fdc21 avutil/lls: Make unchanged function arguments const
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 19:32:07 +02:00
Michael Niedermayer
d22e88d120 avcodec/x86/fmtconvert: Fix operand size in ff_int32_to_float_fmul_array8_sse*
Fixes acodec-dca2 fate failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 19:04:06 +02:00
Michael Niedermayer
b28f470df0 avutil/pca: Make argument of ff_pca_add() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 16:17:18 +02:00
Michael Niedermayer
04152a31cb avcodec/vc1dec: Fixing is_intra, 2nd attempt
This also un-does the fate changes from a52f443714,
leaving this fix without even small differences in the output, that is
a sample for which this makes a vissible difference is very welcome

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 15:10:40 +02:00
Michael Niedermayer
a52f443714 avcodec/vc1dec: fix is_intra block vs. mb bug
Fixes CID1194380

There are no vissible differences in the changed fate samples. Only
a tiny number of pixels change by tiny amounts in the frames i checked
If someone has a file that shows a vissible difference, please post it.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 14:27:35 +02:00
Reimar Döffinger
b7082d953f configure: add noexecstack to linker options if supported.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2014-09-28 10:01:24 +01:00
Michael Niedermayer
3956b12fde avcodec/libx265: enable psnr reporting when requested by the user
This is similar to what is done in libx264.c

Fixes Ticket3567

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 04:14:43 +02:00
Michael Niedermayer
4d9a46fe31 avcodec/libx264: mark unchanged pointer arguments as const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 03:40:13 +02:00
Joakim Roubert
3edb9aaea6 avformat/hlsenc: Added parameter -hls_allow_cache
The -hls_allow_cache parameter enables explicitly setting the
EXT-X-ALLOW-CACHE tag in the manifest file. That tag indicates
whether the client MAY or MUST NOT cache downloaded media
segments for later replay.

Valid values are 1 (=YES) or 0 (=NO) and the EXT-X-ALLOW-CACHE
will not show in the manifest for other values (or if
-hls_allow_cache is not used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 03:09:05 +02:00
Thilo Borgmann
dd16a0d8cc lavd/avfoundation: Add basic PCM audio support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 02:31:38 +02:00
Michael Niedermayer
d85ebea3f3 avcodec/ac3enc_template: fix out of array read
Found-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 20:34:44 +02:00
Michael Niedermayer
5672107ed6 Merge commit '551746680462538bb5ad7adf55fb1248190428ec'
* commit '551746680462538bb5ad7adf55fb1248190428ec':
  configure: Provide a safe default for unknonw libcs

Conflicts:
	configure

This is not merged as it does not work with musl here, while
our previous solution does.

See: 170e2fd7c3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 18:23:39 +02:00
Luca Barbato
5517466804 configure: Provide a safe default for unknonw libcs
Support musl out of box.

Amend commit 9d2cee52d3 that got
wrongly merged in its stead.
2014-09-27 18:01:44 +02:00
Clément Bœsch
5ec90c90c6 avcodec/subviewerdec: remove old compat code 2014-09-27 17:55:29 +02:00
Clément Bœsch
180d7f330b avcodec/microdvddec: remove old compat code 2014-09-27 17:55:22 +02:00
Clément Bœsch
71f6275169 avformat/assdec: make sure to free allocated data in case of error 2014-09-27 17:49:49 +02:00
Clément Bœsch
0e6bad1229 avformat/assenc: mux an event header if none are found in extradata 2014-09-27 17:32:14 +02:00
Clément Bœsch
3a6fa38fb1 avformat/assdec: add myself to Copyright 2014-09-27 17:32:14 +02:00
Clément Bœsch
0aa5c5a89e avformat/assdec: reindent after previous commit 2014-09-27 17:32:13 +02:00
Clément Bœsch
9ec52e5533 avformat/assdec: make sure "Comments:" events end up in the header 2014-09-27 17:32:13 +02:00
Clément Bœsch
ff5f5cbb46 avformat/assdec: output ASS packets
After this the order from the original file is stored through readorder
when doing ffmpeg -i input.ass -c copy output.mkv.

And now that the ASS muxer honors the ReadOrder, extracting the ass back
(without transcoding) restores the original order.
2014-09-27 17:32:13 +02:00
lvqcl
e58fc44649 avutil/x86/cpu: fix cpuid sub-leaf selection
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 13:21:31 +02:00
Michael Niedermayer
233d1acb70 tests/fate/microsoft: add -flags +bitexact to ilaced_twomv
Should fix fate failure on alpha and pre sse2 x86

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 13:07:03 +02:00
Christophe Gisquet
f183febcda hevc: remove CodingTree
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 11:50:41 +02:00
Paul B Mahol
bfdf0f078a avfilter/signalstats: add more pixel formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-09-27 07:28:06 +00:00
Michael Niedermayer
2ec4a84dca ffplay: Separate AVFrame from AVSubtitle
This is more robust and should avoid false positives in coverity
That is if the type is ever mixed up, after this patch that would
just be a null pointer dereference instead of a random possibly
out of array access

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:54:36 +02:00
Michael Niedermayer
be5dd8aa55 Merge commit '4e03b2097ca59843ed65424a572b7acd5345f088'
* commit '4e03b2097ca59843ed65424a572b7acd5345f088':
  mpeg12: Always invoke the get_format() callback

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:38:48 +02:00
Michael Niedermayer
28b1698a7c Merge commit 'ce42316321145c435029dc288c2b5f1d48519dde'
* commit 'ce42316321145c435029dc288c2b5f1d48519dde':
  h264: Always invoke the get_format() callback

Conflicts:
	libavcodec/h264_slice.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 03:21:56 +02:00
Michael Niedermayer
01831fd004 Merge commit '1c80c9d7ef809180042257200c7b5f6b81d0b0e2'
* commit '1c80c9d7ef809180042257200c7b5f6b81d0b0e2':
  hwaccel: Call ->get_format again if hwaccel init fails

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:42:30 +02:00
Michael Niedermayer
eb1ac04e59 Merge commit '9d2cee52d37c7340f85a5d41110282aac03e6855'
* commit '9d2cee52d37c7340f85a5d41110282aac03e6855':
  configure: Assume a standard-compliant default libc

See: 170e2fd7c3
Note, the change is not merged to avoid breaking netbsd and others.
once the netbsd (and any other breakages are dealt with the
else based solution could be used and 170e2fd7c3
could then be reverted)

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:25:31 +02:00
Michael Niedermayer
ac6b5bb834 Merge commit '6cfbe1de5ac6c57c41459626f7ac32841d63ace8'
* commit '6cfbe1de5ac6c57c41459626f7ac32841d63ace8':
  avconv: Use only audio and video to guess discontinuities

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:06:39 +02:00
James Almer
26cd7b1e1a x86/fmtconvert: add ff_int32_to_float_fmul_array8_{sse,sse2}
About two times faster than the c wrapper.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-26 20:48:40 -03:00
Michael Niedermayer
b7a5538870 Merge commit '883e98bc25755327565d8ae0f565a6c886f24816'
* commit '883e98bc25755327565d8ae0f565a6c886f24816':
  probe: Bump the score for mime type matching

Conflicts:
	libavformat/format.c

See: bcac0f4010
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 01:35:46 +02:00
Michael Niedermayer
5a5d454dcc Merge commit 'd995f0a1550c9148140eab34c7d770e90925c004'
* commit 'd995f0a1550c9148140eab34c7d770e90925c004':
  log: Unbreak no-tty support on 256color terminals

Conflicts:
	libavutil/log.c

No change, FFmpeg is not affected by this bug

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 01:29:24 +02:00
Reynaldo H. Verdejo Pinochet
a9ea79bb49 libavfilter/af_amix: avoid derreferencing possible null
ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241516

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Reynaldo H. Verdejo Pinochet
32288234a2 libavfilter/af_channelmap: avoid derreferencing possible null
ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241517

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Reynaldo H. Verdejo Pinochet
e3e051c42c libavfilter/af_join: avoid derreferencing possible null
ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241518

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2014-09-26 18:42:39 -03:00
Michael Niedermayer
7618d360ca Merge commit '7703995a2e8760e66ff35148bf029e0f9e30dbe6'
* commit '7703995a2e8760e66ff35148bf029e0f9e30dbe6':
  flac: Remove unused headers

Conflicts:
	libavcodec/flacdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 22:33:28 +02:00
Michael Niedermayer
c895fa7f66 Merge commit 'cc4992aaf3dbb0af88d9727983d75636baf1f8cc'
* commit 'cc4992aaf3dbb0af88d9727983d75636baf1f8cc':
  ac3enc: allow Dolby Pro Logic IIz as the Dolby Surround EX mode.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 22:18:12 +02:00
Michael Niedermayer
15fda8bcf1 Merge commit '4c2fd4b262347273afe97865ba451a1abde43ae6'
* commit '4c2fd4b262347273afe97865ba451a1abde43ae6':
  ac3enc: allow Dolby Pro Logic II as a preferred downmix mode.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 22:07:35 +02:00
Michael Niedermayer
b7caf89401 Merge commit 'b39ebcddd47daf37659796aaa7d068668086507a'
* commit 'b39ebcddd47daf37659796aaa7d068668086507a':
  fate: Add VC-1 interlaced twomv test

Note, this test is not free of artifacts on both sides of the merge

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 21:48:53 +02:00
Rémi Denis-Courmont
4e03b2097c mpeg12: Always invoke the get_format() callback
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:37 +02:00
Rémi Denis-Courmont
ce42316321 h264: Always invoke the get_format() callback
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:37 +02:00
Rémi Denis-Courmont
1c80c9d7ef hwaccel: Call ->get_format again if hwaccel init fails
This allows the application to fall back on another hwaccel or,
more likely, software decoding.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:36 +02:00
Luca Barbato
9d2cee52d3 configure: Assume a standard-compliant default libc
Non-standard compliant libc should be supported on a per-case basis
anyway.
2014-09-26 20:56:16 +02:00
Luca Barbato
6cfbe1de5a avconv: Use only audio and video to guess discontinuities
Data and subtitle streams might cause false positive.
2014-09-26 20:56:16 +02:00
Andreas Cadhalpun
883e98bc25 probe: Bump the score for mime type matching
It should be more trustworthy than extension matching.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 20:56:16 +02:00
Luca Barbato
d995f0a155 log: Unbreak no-tty support on 256color terminals 2014-09-26 20:56:16 +02:00
Michael Niedermayer
ecf5526578 Merge commit 'a97328afef0ccebfc8c3d9f9fdb8e93cbf1058ab'
* commit 'a97328afef0ccebfc8c3d9f9fdb8e93cbf1058ab':
  vc1: Use logical instead of bitwise or for twomv

See: 1e2ab98460
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 20:55:00 +02:00
Michael Niedermayer
bde8eb7fa3 Merge commit 'b5fe13448b13bfdd48a75b7e12387e11e3526d7c'
* commit 'b5fe13448b13bfdd48a75b7e12387e11e3526d7c':
  vc1: Use logical instead of bitwise or for coded_inter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 20:47:43 +02:00
Tristan Matthews
7703995a2e flac: Remove unused headers
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-26 10:33:01 -07:00
Tim Walker
cc4992aaf3 ac3enc: allow Dolby Pro Logic IIz as the Dolby Surround EX mode.
This is actually defined in the A/52 specification.
2014-09-26 17:09:14 +02:00
Tim Walker
4c2fd4b262 ac3enc: allow Dolby Pro Logic II as a preferred downmix mode.
Some encoders already use this value even
though it's reserved in the A/52 specification.
2014-09-26 17:09:13 +02:00
Tim Walker
b39ebcddd4 fate: Add VC-1 interlaced twomv test
CC: libav-stable@libav.org
2014-09-26 16:55:59 +02:00
Michael Niedermayer
a97328afef vc1: Use logical instead of bitwise or for twomv
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
2014-09-26 16:55:36 +02:00
Tim Walker
b5fe13448b vc1: Use logical instead of bitwise or for coded_inter
This appears to be the intended behavior.
2014-09-26 16:18:42 +02:00
Peter Ross
1964251be7 libavformat/iff: print error message when DSDIFF compression type is not supported
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:51:40 +02:00
Michael Niedermayer
ee2e5acdb1 avcodec/dxtory: remove unused variables
Found-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:51:40 +02:00
Michael Niedermayer
4c57be124f Merge commit 'b97f6ef956293fe06ae1e99bd295f42613081f37'
* commit 'b97f6ef956293fe06ae1e99bd295f42613081f37':
  pcm-dvd: Move a variable to a smaller scope

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:30:02 +02:00
Michael Niedermayer
b0458e62c8 Merge commit '4d5b99dacdbb56373e5abe2ad35fc87b5c0c5bd2'
* commit '4d5b99dacdbb56373e5abe2ad35fc87b5c0c5bd2':
  caf: Give context structure a consistent name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:24:00 +02:00
Thilo Borgmann
f2254e36c0 lavd/avfoundation: Use microseconds as common timebase.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 12:13:57 +02:00
Diego Biurrun
b97f6ef956 pcm-dvd: Move a variable to a smaller scope
This avoids an unused variable warning on big-endian systems.
2014-09-26 02:15:34 -07:00
Clément Bœsch
9ae83ece8a avformat/srtdec: simpler and more lenient probing
Fixes Ticket #3935.
2014-09-26 11:12:41 +02:00
wm4
7dd2005e1a avformat: add SUP/PGS subtitle demuxer
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-09-26 10:35:14 +02:00
Diego Biurrun
4d5b99dacd caf: Give context structure a consistent name 2014-09-26 00:44:41 -07:00
Thilo Borgmann
1ea7a3e04e lavd/avfoundation: Simplify debug message generation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 05:05:31 +02:00
Thilo Borgmann
92827e1869 lavd/avfoundation: Using the actual stream index instead of hardcoded value.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 05:05:11 +02:00
Thilo Borgmann
a69c70e148 lavd/avfoundation: Split adding a device and getting the device configuration into separate functions.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-26 04:18:24 +02:00
Carl Eugen Hoyos
88c937fdc8 Autodetect jpg images.
Based on 2d3842f5 by Michael Niedermayer.

Fixes ticket #2541.
2014-09-26 00:06:41 +02:00
Carl Eugen Hoyos
475e3799cd Support libopenjpeg 2.x via libopenmj2.
Based on a patch by Marius Cirsta.

Fixes ticket #2016.
2014-09-26 00:06:41 +02:00
Carl Eugen Hoyos
8de7bdd756 Show correct pix_fmt for vp9 videos != AV_PIX_FMT_YUV420P. 2014-09-26 00:06:41 +02:00
Michael Niedermayer
a43bcaafe2 avcodec/dxtory: Support dxtory-2.0.127.avi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 23:46:56 +02:00
Carl Eugen Hoyos
c0f9df30dd lavc/x86/idctdsp.h: Fix make checkheaders. 2014-09-25 22:18:25 +02:00
James Almer
a829870b2f avcodec/svq1enc: align buffer used by simd functions
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-25 16:00:20 -03:00
James Almer
4b892e469b x86/cavsdsp: fix buffer alignment in cavs_idct8_add_mmx()
It may be used by ff_add_pixels_clamped_sse2().
Should fix fate-cavs failures on some systems.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-25 16:00:16 -03:00
Thilo Borgmann
e113692c89 lavu/ffmpeg_opt: Check return value of avcodec_find_encoder().
Prevents a segfault if a stream featuring a known but unavailable codec (like external lib codec) should be opened.

Bug found by: Jonas Geistert <j.geistert@yahoo.de>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 18:03:09 +02:00
Michael Niedermayer
ce6e46be72 avformat/img2dec: enable generic seeking for image pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 17:47:45 +02:00
Michael Niedermayer
6d35aba167 avformat/img2dec: initialize pkt->pos for image pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 17:16:14 +02:00
Michael Niedermayer
2497914a18 avformat/img2dec: pass error code and signal EOF
Found-by: Daemon404
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 16:20:23 +02:00
Michael Niedermayer
1dbdcb4a8c avformat/img2dec: fix error code at EOF for pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 15:22:42 +02:00
Michael Niedermayer
454f98b881 Merge commit '4620affa24eedb167482198aa04126bcedd05620'
* commit '4620affa24eedb167482198aa04126bcedd05620':
  m4vdec: K&R formatting cosmetics

Conflicts:
	libavformat/m4vdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 14:02:55 +02:00
Michael Niedermayer
59f4966756 Merge commit '86a361081d3eb4e999d75bc2a462f01d88cbd2e5'
* commit '86a361081d3eb4e999d75bc2a462f01d88cbd2e5':
  lmlm4: K&R formatting cosmetics

Conflicts:
	libavformat/lmlm4.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 13:51:43 +02:00
Michael Niedermayer
8f3d3e5f83 Merge commit '95d312d6c82e7485f43c3ddda0f369af0e41c83b'
* commit '95d312d6c82e7485f43c3ddda0f369af0e41c83b':
  concat: K&R formatting cosmetics

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 13:45:30 +02:00
Michael Niedermayer
9b53691f73 Merge commit '28f5cd312c9da9072108edf8b7685d009374ea96'
* commit '28f5cd312c9da9072108edf8b7685d009374ea96':
  fate: Switch ra4-288 test from framecrc() to pcm()

Conflicts:
	tests/fate/real.mak

The test is kept disabled as it still does not pass on x86-64 due to float
rounding

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 13:37:40 +02:00
Michael Niedermayer
a6fd685fed Merge commit 'd07ddc93e29a4fdf12cd426953a7ecd5abe5e36d'
* commit 'd07ddc93e29a4fdf12cd426953a7ecd5abe5e36d':
  avcodec: Fix a doxy comment to refer to the right function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 12:09:32 +02:00
Gabriel Dume
4620affa24 m4vdec: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:58:51 -07:00
Gabriel Dume
86a361081d lmlm4: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:44:32 -07:00
Gabriel Dume
95d312d6c8 concat: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:44:31 -07:00
Katerina Barone-Adesi
28f5cd312c fate: Switch ra4-288 test from framecrc() to pcm()
The decoder is float-based and the test needs to allow for some fuzz.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-25 01:44:31 -07:00
Martin Storsjö
d07ddc93e2 avcodec: Fix a doxy comment to refer to the right function
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-25 10:01:25 +03:00
Michael Niedermayer
303fc9b368 avcodec/mpegvideo_enc: write a log message at verbose level if frame re-encoding occurs due to VBV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 05:28:32 +02:00
James Almer
4f4f08e6f0 x86/idctdsp: port {put,add}_pixels_clamped to yasm
Also add sse2 versions for both.
put_pixels_clamped port and sse2 version originally written by Timothy Gu.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 21:52:13 -03:00
James Almer
c99a882814 avcodec/idctdsp: change {put,add}_pixels_clamped to ptrdiff_t line_size
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 21:43:19 -03:00
Michael Niedermayer
6441d522e9 Merge commit '2f172f1ae984b763c06069adb51d0053b3834f4b'
* commit '2f172f1ae984b763c06069adb51d0053b3834f4b':
  rtsp: Clear the session id on redirects

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 01:08:44 +02:00
Michael Niedermayer
d8ddac363e Merge commit 'ddf5fb71ee9c8b2d9a23c0f661a84896cd7050fc'
* commit 'ddf5fb71ee9c8b2d9a23c0f661a84896cd7050fc':
  rtpenc: HEVC/H.265 support

Conflicts:
	Changelog
	libavformat/rtpenc.c
	libavformat/rtpenc_hevc.c
	libavformat/version.h

See: 6821a5a4ad
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 00:17:36 +02:00
Michael Niedermayer
b8d3f7fc21 Merge commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95'
* commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95':
  libavformat: Move avc mp4 startcode parsing to a shared file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-25 00:09:42 +02:00
James Almer
ad26e83f9c avcodec/x86: use function pointers for {put,add}_pixels_clamped
Same behavior as in simple_idct.
This way the best optimized versions available will be used instead.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 18:52:32 -03:00
Philip DeCamp
857fc0a71f libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
Signed-off-by: Philip DeCamp <decamp@mit.edu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 22:57:40 +02:00
Martin Storsjö
2f172f1ae9 rtsp: Clear the session id on redirects
This fixes handling redirects in case the server provided a session
id within the redirect reply.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 23:34:02 +03:00
Thomas Volkert
ddf5fb71ee rtpenc: HEVC/H.265 support
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 23:33:26 +03:00
Martin Storsjö
a2efbecc4e libavformat: Move avc mp4 startcode parsing to a shared file
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 23:33:17 +03:00
James Almer
70277d1d23 x86/videodsp: add ff_emu_edge_{hfix,hvar}_avx2
~15% faster than sse2.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-24 16:12:55 -03:00
Michael Niedermayer
280ef183db libavformat/ffmetadec: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 19:17:55 +02:00
Michael Niedermayer
ab6f4fd4a7 libavformat/dv: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 19:11:05 +02:00
Michael Niedermayer
af19d2ed1e libavformat/avienc: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 18:34:21 +02:00
Michael Niedermayer
d6ed67780b libavformat/avidec: Make unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 18:33:55 +02:00
Michael Niedermayer
e27f781aeb Merge commit 'c463dfc7e49929a9891884312b23b27d14729c51'
* commit 'c463dfc7e49929a9891884312b23b27d14729c51':
  rtpdec_hevc: Drop a duplicated, nonstandard entry

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 17:25:34 +02:00
Michael Niedermayer
3cd252d29a doc/APIchanges: fix typo
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 17:14:56 +02:00
Michael Niedermayer
ac682955e9 postproc: add basic deblock filter visualization support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 16:58:47 +02:00
Michael Niedermayer
266b3d4fe4 ffplay: use av_codec_get_pkt_timebase()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 13:44:56 +02:00
Vittorio Giovara
c463dfc7e4 rtpdec_hevc: Drop a duplicated, nonstandard entry
The RFC spec draft only specifies the "H265" name - there is no
specification saying how to interpret "HEVC" (if such a packet
format is specified it could be an entirely different format).

Since this is a very new standard (still a draft), there is little
need for compatibility with existing, broken implementations. Therefore
remove the extra alias, to avoid the risk of encouraging incorrect
usage.

Intentionally keeping the ff_hevc_dynamic_handler name for the
handler, to use "hevc" consistently as name for the codec instead
of "h265" within the library internals as long as there only is one
single variant in actual use.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 10:44:14 +03:00
Michael Niedermayer
170e2fd7c3 configure: Check if "-D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600" is needed for localtime_r()
Fixes build with musl

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 05:04:24 +02:00
Michael Niedermayer
3bc036171f configure: fail if SDL is unavailable and --enable-sdl is specified
Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 02:32:56 +02:00
Michael Niedermayer
fb01a18462 configure: reindent the --disable-sdl related code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 02:32:52 +02:00
Michael Niedermayer
a7ed01082f configure: support --disable-sdl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 02:32:49 +02:00
Christophe Gisquet
3fe962940f hevc: move intermediate bidir buffer
Other buffers are already there.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 01:26:12 +02:00
Christophe Gisquet
de60ce391d hevc: remove unneeded buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 01:26:12 +02:00
James Almer
164d6c7f5b x86/videodsp: fix warning about discarded 'const' qualifier
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-23 19:59:20 -03:00
James Almer
789274dca8 avcodec/libvpxdec: don't check for formats other than i420 when vp9 decoding is disabled
Should fix ticket #3958.

Reviewed-by: James Zern <jzern@google.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-23 19:50:28 -03:00
Michael Niedermayer
00d3bb1a07 tests/fate-run.sh: Cat .err file in case of error with V>0
This may make fate failures where only the console output is available
easier to analyze

Suggested-by: Andreas Cadhalpun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 00:35:38 +02:00
Carl Eugen Hoyos
9f0ba52f34 Skip decklink_common_c.h when running make checkheaders. 2014-09-23 22:51:36 +02:00
Michael Niedermayer
55179987e7 Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: move pts calculating code to generic decoder
  ffplay: factorize decoder functions to generic decoder
  ffplay: handle fullscreen status on resize event

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 22:09:54 +02:00
Bernd Kuhls
6b733be755 Fix compile error on arm4/arm5 platform
Since these commits
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8

compilation on arm4/arm5 fails:

libavcodec/libavcodec.so: undefined reference to
`ff_startcode_find_candidate_armv6'

Because libavcodec/arm/Makefile contains
ARMV6-OBJS-$(CONFIG_STARTCODE)         += arm/startcode_armv6.o
function ff_startcode_find_candidate_armv6 is not included for older ARM
archs. The bug was found during automatic buildroot builds:

http://autobuild.buildroot.net/results/ec7/ec71e4f16ee9106747dff5f15999cbd17903e76f//build-end.log
Quote from configure summary:
ARCH                      arm (armv4t)
big-endian                no
runtime cpu detection     yes
ARMv5TE enabled           no
ARMv6 enabled             no
ARMv6T2 enabled           no

http://autobuild.buildroot.net/results/be7/be72eb182eaccf0064a32c9dfc2ac1c0d6555506/build-end.log
ARCH                      arm (armv5te)
big-endian                no
runtime cpu detection     yes
ARMv5TE enabled           yes
ARMv6 enabled             no
ARMv6T2 enabled           no

This patch provides the necessary #if clauses as discussed with Michael:
https://ffmpeg.org/pipermail/ffmpeg-devel/2014-September/163329.html

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 21:11:05 +02:00
Marton Balint
1f5a3cf688 ffplay: move pts calculating code to generic decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:40 +02:00
Marton Balint
9e0d1c00b5 ffplay: factorize decoder functions to generic decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:40 +02:00
Marton Balint
32f1a288e2 ffplay: handle fullscreen status on resize event
In some cases resize events can happen even during fullscreen, so let's pass
the proper flag to SDL_SetVideoMode.

Fixes ticket #3964.

Reported-by: Jeff Dwork <jeff@reggie.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-23 21:08:35 +02:00
Benoit Fouet
6843b9dc78 avformat/riffenc: Filter out "BottomUp" in ff_put_bmp_header()
Fixes Ticket1304

Commit message and extradata size bugfix by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 18:24:40 +02:00
Pascal Massimino
e5b3112996 avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 17:15:20 +02:00
Michael Niedermayer
b0f7de3e7c avcodec/asvenc: fix AAN scaling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 17:04:02 +02:00
Michael Niedermayer
0bb5ad7a06 avcodec/asvenc: Fix integer overflow in level
Warn if the qscale is too low for the input data and clip levels to
minimize artifacts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 15:46:52 +02:00
James Almer
6b2caa321f x86/vp9: add AVX and AVX2 MC
Roughly 25% faster MC than ssse3 for blocksizes 32 and 64.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-22 22:35:03 -03:00
Michael Niedermayer
2284413206 ffmpeg: replace impossible dts/pts combinations by a reasonable guess instead of hard failing
Fixes stream copy from tserror270.ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-23 01:38:12 +02:00
Nicholas Robbins
bdb7f08666 doc/decoders: adding documentation for lavc/dvdsubdec.c option "forced_subs_only"
Signed-off-by: Nicholas Robbins <nickrobbins@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 23:35:49 +02:00
Nicholas Robbins
c7d21dee28 libavcodec/dvdsubdec: Add option forced_subs_only to only decode forced subtitle frames.
Signed-off-by: Nicholas Robbins <nickrobbins@yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 21:01:13 +02:00
Michael Niedermayer
1cf28fd5f3 avformat/asfenc: Make asf_write_indexs index argument const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:53:44 +02:00
Michael Niedermayer
d902a3f4cb avformat/adtsenc: buf isnt changed in adts_decode_extradata(), make it const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:47:14 +02:00
Michael Niedermayer
544380aaf0 avcodec/4xm: Make src of decode_p_block() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:09:28 +02:00
Michael Niedermayer
3a7f9db180 avcodec/snow: Make block argumrnt of ff_snow_pred_block() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 18:06:56 +02:00
Michael Niedermayer
3c4fc6a782 postproc/postprocess_template: mark unchanged function arguments const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 17:49:55 +02:00
Michael Niedermayer
bd68909753 postprocess: prefetch* dont change anything, thus their arguments should be const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 17:42:10 +02:00
Michael Niedermayer
fe5093aafc Revert "configure: Refactor setting of feature test macro _XOPEN_SOURCE"
This fixes build on netbsd and probably other bsd based Platforms

This reverts commit 56b8d10676.
2014-09-22 17:12:35 +02:00
Thomas Volkert
5820358bbc Add missing entry for maintainer of rtpenc_hevc.*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 15:01:04 +02:00
Benoit Fouet
9c843fb1d0 avformat/avidec: ensure that palette does not contain the BottomUp info.
Considering the palette is located at the end of extradata may be flawed
when the extradata contains the palette followed by the BottomUp field.
When the BottomUp field is present, exclude it from the palette.
Fixes part of ticket #1304

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 11:01:27 +02:00
Benoit Fouet
591e06b0e2 avformat/img2: remove useless 'pix' duplicated entry.
The second entry will never be selected, so let's save some bytes in the
library.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 10:25:31 +02:00
Thomas Volkert
e1cddd1a0c rtpenc_h263_rfc2190: avoid misleading error output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 03:45:34 +02:00
Michael Niedermayer
f3aaec781a avdevice/version: bump minor for the decklink input
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 03:25:22 +02:00
Deti Fliegl
bac6cfcb3a avdevice: add decklink input support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 02:55:24 +02:00
Deti Fliegl
a5e040ee3c avdevice/decklink: move general code of decklink encoder to common file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 01:39:50 +02:00
Jörg Krause
56b8d10676 configure: Refactor setting of feature test macro _XOPEN_SOURCE
Some C libraries, eg glibc, uclibc, and musl, uses feature test macros
to expose definitions conforming to the standards ISO C, POSIX and
extensions. According to which feature test macros are defined by the
user or the compiler, a header file, eg <features.h>, used by these
libraries internally defines various other macros.

glibc and uclibc also defines release test macros, eg __GLIBC__ and
__UCLIBC__ in <features.h>. musl does not have (and does not want) a
macro __MUSL__. Therefore it is not possible to check for the musl
library.

However, building FFmpeg with musl needs the feature test macro
_XOPEN_SOURCE=600 to be defined.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 00:34:56 +02:00
Nicolas George
eb7a6d0813 lavu/bprint: add const to av_bprint_is_complete() argument. 2014-09-21 19:42:21 +02:00
Clément Bœsch
08e2b0da2c avformat/assenc: mux all extradata at once
Before this commit, the code was muxing up to the 2nd line after
"[Events]" (assuming it to be the "Format:" line). The remaining are
generally "Comment:" directives which can stay in that place. mkvextract
behaves that way so it seems there is no reason for that extra
complexity.
2014-09-21 18:55:12 +02:00
Clément Bœsch
e60770679b avformat/assenc: return correct error code 2014-09-21 18:50:16 +02:00
Clément Bœsch
ce8dc93aef avcodec/webvttdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
36c3a0167a avcodec/textdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
947a5111dd avcodec/subviewerdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
592716227c avcodec/srtdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
6a65da3a18 avcodec/samidec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
8e7808b524 avcodec/realtextdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
27a9bee243 avcodec/mpl2dec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
e833b02f2f avcodec/movtextdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
ac95b436db avcodec/microdvddec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
4c85073044 avcodec/jacosubdec: add some memory checks 2014-09-21 18:41:45 +02:00
Clément Bœsch
d210c0e777 avcodec/ass: add ff_ass_add_rect_bprint() helper 2014-09-21 18:41:45 +02:00
Thomas Volkert
dcdc1cbf43 rtpdec_hevc: do not print an error message if the received packet has a valid header but lacks additional bytes as payload
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 15:07:26 +02:00
wm4
6c7f1155bb avformat/mp3dec: avoid early EOF with concatenated gapless mp3s
Consider a file created with something like:

    cat file1.mp3 file2.mp3 > result.mp3

Then if file2.mp3 has gapless information, result.mp3 would stop playing
something in the middle. This happens because the gapless info directs
the decoder to discard all samples after a certain position. To make
matters worse, the gapless info of file2.mp3 will be used when playing
the file1.mp3 part, because the gapless info is located at the end of
the file.

While handling concatenated gapless files correctly would be insane and
a lot of effort (especially without scanning the whole file on opening),
it's easy to prevent at least early EOF. Playback will happen to work,
even if it's slightly broken.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 14:57:12 +02:00
Hendrik Leppkes
36bf549b27 mlpdec: support TrueHD streams with an Atmos substream
The fourth substream is being discarded, since its not raw audio data,
but an encoded Atmos stream which needs a specialized decoder.

Fixes decoding of the true hd stream from Transformers\ -\ Age\ of\ Extinction\ 2014\ 1080P-003.mkv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 14:38:32 +02:00
Hendrik Leppkes
ff34b2d6d3 mlpdec: support major sync headers with optional extension blocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 13:32:56 +02:00
Thomas Volkert
6821a5a4ad rtpenc: HEVC/H.265 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:49:08 +02:00
Michael Niedermayer
e927682e1b avfilter/vf_scale: Allow chroma samples to be above and to the left of luma samples
Found-by: Kierank
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:24:03 +02:00
Michael Niedermayer
61af6bebb4 swscale: Allow chroma samples to be above and to the left of luma samples
Found-by: Kierank
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:23:24 +02:00
Michael Niedermayer
950ce21d4a Merge commit '103391ca90b2f7c56ae756d76c76f7c3dfa28dd4'
* commit '103391ca90b2f7c56ae756d76c76f7c3dfa28dd4':
  dca: Remove some commented-out cruft

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 11:51:34 +02:00
Michael Niedermayer
28dce3cdbc avcodec/alacenc: Remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 23:54:00 +02:00
Christophe Gisquet
9950073655 alacenc: remove unneeded masking
The extra bits have already been masked, so this was not doing anything.

Noticed-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 20:58:43 +02:00
Christophe Gisquet
a084493535 alacenc: fix incorrect buffer use
The issue lies in actually dead code ("for now it's not used").

Noticed-by: Justin Ruggles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 20:45:57 +02:00
wm4
d87fe2687f avformat/mp3dec: fix gapless audio support
The code already had skipping of initial padding, but discarding
trailing frame padding was missing.

This is somewhat questionable, because it will make the decoder discard
any data after the declared file size in the LAME header. But note that
skipping full frames at the end of the stream is required. Encoders
actually create such files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 19:46:25 +02:00
Diego Biurrun
103391ca90 dca: Remove some commented-out cruft 2014-09-20 13:49:52 +02:00
Pascal Massimino
7ac6b8cfa7 avfilter/idet: typo fix: PROGRSSIVE -> PROGRESSIVE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-20 12:09:14 +02:00
James Almer
33c752be51 x86/me_cmp: port mmxext vsad functions to yasm
Also add mmxext versions of vsad8 and vsad_intra8, and sse2 versions of
vsad16 and vsad_intra16.
Since vsad8 and vsad16 are not bitexact, they are accordingly marked as
approximate.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-19 20:50:20 -03:00
Michael Niedermayer
5c073bbb57 avcodec/dvdsubdec: fix VD/SD identifier name
Found-by: Nicholas Robbins <nickrobbins-at-yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 23:47:20 +02:00
Daniel Bomar
af1818276e avformat/os_support: Add _DEFAULT_SOURCE to hide warning about _SVID_SOURCE depreciation
As suggested, this just adds _DEFAULT_SOURCE while preserving
_SVID_SOURCE for whatever old systems still need it.

Signed-off-by: Daniel Bomar <dbdaniel42@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 22:32:05 +02:00
Michael Niedermayer
adaa274fa8 tests/utils: make arguments const that arent changed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 20:25:30 +02:00
James Almer
6edd6a4f00 avcodec/dv_profile: deprecate internal function that shouldn't be public
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-19 14:32:38 -03:00
Michael Niedermayer
5ccd08d26d postproc/postprocess: Avoid some ifs in do_a_deblock_C()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 17:00:15 +02:00
Pascal Massimino
4fd21d58a7 libavcodec/webp: treat out-of-bound palette index as translucent black
See https://code.google.com/p/webp/issues/detail?id=206
for a description of the problem/fix.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

This patch makes the decoder follow the recommendation of the spec.
There is some disagreement (see "[FFmpeg-devel] [PATCH]: libavcodec/webp")
about what would be best to be written in the spec, so in case the spec
is changed again, this potentially would need to be amended or reverted
2014-09-19 16:33:05 +02:00
Gianluigi Tiesi
59af5383c1 avcodec/libilbc: support for latest git of libilbc
in the latest git commits of libilbc developers removed WebRtc_xxx typedefs

This commit uses int types instead,
it's safe to apply also for previous versions since
WebRtc_Word16 was always a typedef of int16_t and
WebRtc_UWord16 a typedef of uint16_t

Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 09:29:07 +02:00
Michael Niedermayer
7f8d28f686 postproc: Replace CLIP by av_clip_uint8
drop "#define CLIP av_clip_uint8"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-19 02:52:52 +02:00
Michael Niedermayer
5a9ca68e15 postproc/postprocess: remove redundant casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:11:37 +02:00
Michael Niedermayer
859d7d4640 postproc/postprocess: Use FF_ARRAY_ELEMS() in pp_free_context() instead of hard-coding their size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:10:18 +02:00
Michael Niedermayer
d9b141c05f postproc/postprocess: Remove unused argument from reallocAlign()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 21:08:44 +02:00
Michael Niedermayer
27f936eca8 Merge branch 'postprocwork'
* postprocwork:
  postproc/postprocess: use av_strtok()
  postprocess: make some variables in pp_get_mode_by_name_and_quality() const
  postproc: simplify forwarding return codes
  libpostproc/postprocess: avoid some if()
  fate: add fate-filter-pp1

This is merged instead of just fast forward pushed due to a bug in the git hook
which does not allow commits to change filter-video.mak except merge commits.
filter-video.mak contains a few tabs, which are needed due to Makefile syntax

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:46:50 +02:00
Michael Niedermayer
9e8be46252 postproc/postprocess: use av_strtok()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
921caf6203 postprocess: make some variables in pp_get_mode_by_name_and_quality() const
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
44dabf1f42 postproc: simplify forwarding return codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
9f9ebe631d libpostproc/postprocess: avoid some if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
Michael Niedermayer
074eef56ef fate: add fate-filter-pp1
This tests a few more filters with forced quantizers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 14:43:43 +02:00
James Almer
77f9a81cca x86/me_cmp: combine sad functions into a single macro
No point in having the sad8 functions separate now that the loop is no
longer unrolled.

Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-17 23:52:36 -03:00
Michael Niedermayer
986f63d17f Merge commit '2bb2c2bd75e5f4b28a945511cda77e0a1a44c758'
* commit '2bb2c2bd75e5f4b28a945511cda77e0a1a44c758':
  rtpenc_chain: Pass the initial time_base hint on to the chained muxer

See: [FFmpeg-devel] [PATCH] avformat/rtpenc_chain: Set timebase
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 02:14:53 +02:00
Michael Niedermayer
343643fdca Merge commit '3f2c70355ab722bc9f741bd3ed8224c7cfb62379'
* commit '3f2c70355ab722bc9f741bd3ed8224c7cfb62379':
  configure: Use the right variables in check_host_cpp

See: 453944cc77
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 01:43:13 +02:00
Andreas Cadhalpun
739f179dd6 vf_deshake: rename Transform.vector to Transform.vec to avoid compiler confusion
The token 'vector' is a keyword in the Vector/SIMD Multimedia Extension data types and thus should not be used as a variable name.

This fixes building on powerpc/ppc64el.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 00:48:15 +02:00
Vitor Sessak
55d11d277b swscale/x86: do not expect registers to be preserved across inline ASM blocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-18 00:03:29 +02:00
Michael Niedermayer
41d82b85ab avcodec/x86/vp9lpf: Always include x86util.asm
Fixes executable stack

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 23:37:46 +02:00
Martin Storsjö
2bb2c2bd75 rtpenc_chain: Pass the initial time_base hint on to the chained muxer
In practice this hint is ignored - the rtp muxer always overwrites
the stream time base without taking the hint into account. But as
a general practice this is the correct way to pass a time base hint
on to a chained muxer.

This avoids warnings about using the codec time base as hint
being deprecated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-17 22:53:27 +03:00
Jörg Krause
3f2c70355a configure: Use the right variables in check_host_cpp
HOSTCPPFLAGS and HOSTCFLAGS are only set in config.mak.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-17 22:53:26 +03:00
Michael Niedermayer
8c71de762b Merge commit 'c5560e72d0bb69f8a1ac9536570398f84388f396'
* commit 'c5560e72d0bb69f8a1ac9536570398f84388f396':
  apetag: Fix APE tag size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 20:42:26 +02:00
Michael Niedermayer
43633c5388 fate: disable fate-ra4-288, the code uses floats and does not produce the same results on different platforms
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 20:27:24 +02:00
Michael Niedermayer
a4cefc25ed Merge commit '44caf99ecae7bc1b907fab849ecaa72dd340ba2e'
* commit '44caf99ecae7bc1b907fab849ecaa72dd340ba2e':
  fate: Add tests for RealAudio 1.0 (14.4) and RealAudio 2.0 (with 28.8)

Conflicts:
	tests/fate/real.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 20:26:44 +02:00
James Almer
fffc9a077d avfilter: remove obsolete FF_API_FILL_FRAME cruft
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-17 15:23:26 -03:00
Michael Niedermayer
9ac08d93b2 Merge commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286'
* commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286':
  cmdutils: Print a more sensible message in show_filters() w/o libavfilter

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 19:59:10 +02:00
Katerina Barone-Adesi
c5560e72d0 apetag: Fix APE tag size check
The size variable is (correctly) unsigned, but is passed to several functions
which take signed parameters, such as avio_read, sometimes after having
numbers added to it. So ensure that size remains within the bounds that
these functions can handle.

CC: libav-stable@libav.org
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-17 06:37:05 -07:00
Katerina Barone-Adesi
44caf99eca fate: Add tests for RealAudio 1.0 (14.4) and RealAudio 2.0 (with 28.8)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-17 05:16:08 -07:00
Michael Niedermayer
85f2c0124d avcodec/x86/me_cmp: fix sad8xh
This adds back support for 8x4 and 8x16
it does not support 8x2, i think nothing uses that

Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 14:08:24 +02:00
James Almer
0456d169c4 x86/me_cmp: port mmxext and sse2 sad functions to yasm
Also add a missing c->pix_abs[0][0] initialization, and sse2 versions of
sad16_x2, sad16_y2 and sad16_xy2 (%15 to %20 faster than mmxext).
Since the _xy2 versions are not bitexact, they are accordingly marked as
approximate.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 11:12:50 +02:00
Paul B Mahol
f1a8943ddd doc/filters: remove aconvert
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2014-09-17 07:55:56 +00:00
James Almer
d1c49bcae9 avfilter: remove obsolete FF_API_ACONVERT_FILTER cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-17 07:43:03 +00:00
Michael Niedermayer
9ffa705edd ffplay: try to fix build failure on apple
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 04:43:51 +02:00
Michael Niedermayer
22a20dbb7a Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: use frame queue to determine last used pos
  ffplay: factorize frame queue operations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 03:23:19 +02:00
Michael Niedermayer
3c020b6959 avformat/avienc: Dont search for startcodes in inserted empty avi frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 00:39:09 +02:00
Lou Logan
9c9aec33c0 doc/filters: add geq gradient examples
Radial gradient by Víctor Paesa. Linear gradient by Paul Gentemann.

Also-by: Víctor Paesa <victorpaesa@googlemail.com>
Also-by: Paul Gentemann <beriukay@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2014-09-16 14:06:38 -08:00
Michael Niedermayer
474d858fd9 Revert "avformat/rtpproto: fix strict aliasing violations with sockaddr"
It appears this breaks build with MSVC
until someone who has MSVC setup has time to investigate and
workaround/fix this, its better to revert so that build is not broken
Thats even more so as the original commit only fixed a hypothetical issue

This reverts commit e587a428d7.
2014-09-16 23:43:13 +02:00
Marton Balint
164376483f ffplay: use frame queue to determine last used pos
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-16 22:22:09 +02:00
Marton Balint
5a5128bab9 ffplay: factorize frame queue operations
Create a generic frame and a frame queue struct to handle video picture queues
and subtitle picture queues with common code. Also add the possibility to queue
AVFrames, however at the moment we only use SDL_Overlay buffers for video and
AVSubtitles for subtitles.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-09-16 22:22:09 +02:00
Clément Bœsch
4b58349bc8 avfilter/ass: add shaping option
The documentation is mostly based on ass.h public header.
2014-09-16 21:23:33 +02:00
Clément Bœsch
8a9c5db29e avfilter/ass: better log level mapping 2014-09-16 21:23:33 +02:00
Clément Bœsch
a87527ad67 avfilter/ass: make sure the log level are in available range 2014-09-16 21:23:33 +02:00
Michael Niedermayer
7d43fbe3ae Merge commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce'
* commit '45ff7c93dd84a254cc96acc589e5ac3d7bd16bce':
  dca: K&R formatting cosmetics

Conflicts:
	libavcodec/dca_parser.c
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 20:31:02 +02:00
Michael Niedermayer
9bf260b2d2 Merge commit '9030c58a780a02fb8256cb75cd39275eaad786d1'
* commit '9030c58a780a02fb8256cb75cd39275eaad786d1':
  configure: Disable i686 for i586 and lower CPUs

See: cdb3eee7c4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 20:08:21 +02:00
Diego Biurrun
2dd09ebf55 cmdutils: Print a more sensible message in show_filters() w/o libavfilter
Also avoid an unused variable warning for compilers w/o av_unused support.
2014-09-16 09:37:14 -07:00
Michael Niedermayer
a07b0ffdc3 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add a closing LF to Webm-manifest files.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 18:28:37 +02:00
Michael Niedermayer
4a99134f1a tools/crypto_bench: fix build when AV_READ_TIME is unavailable
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 18:25:43 +02:00
Carl Eugen Hoyos
7c3ba1b83a Add a closing LF to Webm-manifest files.
Fixes fate-webm-dash-manifest on AIX.

Reviewed-by: Nicolas George
2014-09-16 17:24:56 +02:00
Clément Bœsch
d469aa8cfa sws: use av_clip() instead of av_clip_c() 2014-09-16 16:57:20 +02:00
Clément Bœsch
de0e49c245 avformat/flacenc: use av_clip() instead of av_clip_c() 2014-09-16 16:57:20 +02:00
Steven Liu
2c21e8b1a4 lavf/hls: add hls_ts_option
Same as COMMITID 4f5493fe23.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-09-16 16:30:03 +02:00
Stefano Sabatini
3a0c70f1e3 doc/examples/transcoding: use av_packet_rescale_ts()
Simplify.
2014-09-16 14:55:33 +02:00
Gabriel Dume
45ff7c93dd dca: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-09-16 04:42:32 -07:00
Mikulas Patocka
9030c58a78 configure: Disable i686 for i586 and lower CPUs 2014-09-16 03:48:13 -07:00
Michael Niedermayer
5ddfac81c4 Merge commit '2d589273dd36c5eb271a035ea0e669b64dae257f'
* commit '2d589273dd36c5eb271a035ea0e669b64dae257f':
  configure: Split adding of CFLAGS and CPPFLAGS for hardened toolchain

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 11:58:40 +02:00
Diego Biurrun
2d589273dd configure: Split adding of CFLAGS and CPPFLAGS for hardened toolchain 2014-09-16 00:18:53 -07:00
Michael Niedermayer
688a40b4ed avcodec/h264_sei: ff_h264_decode_sei: dont try to parse trailing zeroes
reduces noise for tserrors.ts

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 04:07:22 +02:00
Michael Niedermayer
aaeae281a8 avformat/mpegtsenc: More verbose warning messages in case of missing video ES startcodes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 03:56:37 +02:00
Michael Niedermayer
b76d6132e3 avformat/network: move sockaddr_union after sockaddr_storage compatibility code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 01:19:53 +02:00
Clément Bœsch
864d124bb7 build: simplify libwebp check
Tested (compilation and runtime) with libwebp 0.2.0, 0.2.1 and 0.4.1.
2014-09-15 23:54:34 +02:00
Michael Niedermayer
2156161056 Merge commit '00431bf874e1044b01e09a2266ef85d4ff8d44cc'
* commit '00431bf874e1044b01e09a2266ef85d4ff8d44cc':
  ismindex: handle time discontinuities and nonzero start time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 22:39:31 +02:00
Mika Raento
f685f7d7a8 hlsenc: single_file, support HLS ver 4 byteranges
This adds a new option -hls_flags single_file that creates one .ts file
for HLS and adds byteranges to the .m3u8 file, instead of creating one
.ts file for each segment.

This is helpful at least for storing large number of videos, as the
number of files per video is drastically reduced and copying and storing
those files takes less requests and inodes.

This is based on work by Nicolas Martyanoff, discussed on ffmpeg-devel
in July 2014. That patch seems abandoned by the author, and contained
unrelated changes. This patch tries to add the minimum amount of code to
support the byterange playlists.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 22:16:44 +02:00
James Almer
ad1dadac86 avfilter: remove obsolete FF_API_BUFFERSRC_BUFFER cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 15:54:06 -03:00
James Almer
95a064f530 avutil: remove obsolete FF_API_OLD_OPENCL cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 15:50:17 -03:00
James Almer
af7d260626 avutil: remove obsolete FF_API_LLS1 cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 15:50:10 -03:00
Mika Raento
00431bf874 ismindex: handle time discontinuities and nonzero start time
The input file may not have consistent start times, stream durations and
chunk durations. This patch at least removes negative durations that
make chromecast unhappy, and correctly sets starting time on chunks so
that the split (or .ismf) outputs match the manifest.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-15 19:54:36 +03:00
James Almer
4ae6bcc025 RELEASE: update to 2.4.git
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-15 13:11:10 -03:00
Michael Niedermayer
e587a428d7 avformat/rtpproto: fix strict aliasing violations with sockaddr
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 13:31:00 +02:00
Michael Niedermayer
8c1dc1f6ed avformat/network: add union for avoiding strict aliassing violations with sockaddr*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 13:31:00 +02:00
James Almer
91459bd320 avcodec: remove obsolete FF_API_DSPUTIL cruft
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2014-09-14 22:13:05 -03:00
Michael Niedermayer
6beea6f017 avcodec/tiff: fix odd dimensioned yuv
Fixes Ticket3893

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 01:38:02 +02:00
Deb Mukherjee
04b0dda853 avcodec/libvpxdec: Adds decode support for formats other than 420
Handles decoding of new VP9 profiles 1-3 with different color sampling
and bit-depths.

For high bitdepth (profiles 2 and 3) support, we currently need to link
with the highbitdepth branch of libvpx with --enable-experimental
and --enable-vp9-high config options on. But eventually this branch will
be merged into master, whereafter to enable high bitdepth
support you will need to link with libvpx with configure option
--enable-vp9-highbitdepth on.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 20:27:28 +02:00
Clément Bœsch
b24d74e44a avcodec/microdvddec: indent fix 2014-09-14 20:00:11 +02:00
Clément Bœsch
fcfa3ebed1 avcodec/utils: remove avcodec_ prefix for internal symbol 2014-09-14 19:07:09 +02:00
Michael Niedermayer
b227be34db avcodec/mjpegenc: the AMV encoder doesnt support yuv422
Fixes Ticket3883

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 17:09:38 +02:00
Michael Niedermayer
808db3e687 Changelog: add 2.4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 16:47:26 +02:00
Michael Niedermayer
68bca03951 doc/examples: remove unneeded NULL checks
dst_file cannot be NULL

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 16:45:50 +02:00
Michael Niedermayer
da2186be81 MAINTAINERS: Add 2.4 to maintained releases, drop 2.3
2.2 is used by 4 distributions, 2.3 by none, thus continuing maintaining
2.2 makes more sense than 2.3 see:
https://trac.ffmpeg.org/wiki/Downstreams

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-14 16:00:00 +02:00
1690 changed files with 85967 additions and 44356 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.pnm -diff -text

2
.gitignore vendored
View File

@@ -64,6 +64,7 @@
/tests/data/
/tests/pixfmts.mak
/tests/rotozoom
/tests/test_copy.ffmeta
/tests/tiny_psnr
/tests/tiny_ssim
/tests/videogen
@@ -82,6 +83,7 @@
/tools/pktdumper
/tools/probetest
/tools/qt-faststart
/tools/sidxindex
/tools/trasher
/tools/seek_print
/tools/uncoded_frame

389
Changelog
View File

@@ -1,14 +1,399 @@
Entries are sorted chronologically from oldest to youngest within each release,
releases are sorted from youngest to oldest.
version <next>:
version 2.6.5:
- rtmpcrypt: Do the xtea decryption in little endian mode
- avformat/matroskadec: Check subtitle stream before dereferencing
- avformat/utils: Do not init parser if probing is unfinished
- avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
- avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
- avcodec/jpeg2000: Check comp coords to be within the supported size
- avcodec/jpeg2000: Use av_image_check_size() in ff_jpeg2000_init_component()
- avcodec/wmaprodec: Check for overread in decode_packet()
- avcodec/smacker: Check that the data size is a multiple of a sample vector
- avcodec/takdec: Skip last p2 sample (which is unused)
- avcodec/dxtory: Fix input size check in dxtory_decode_v1_410()
- avcodec/dxtory: Fix input size check in dxtory_decode_v1_420()
- avcodec/error_resilience: avoid accessing previous or next frames tables beyond height
- avcodec/dpx: Move need_align to act per line
- avcodec/flashsv: Check size before updating it
- avcodec/ivi: Check image dimensions
- avcodec/utils: Better check for channels in av_get_audio_frame_duration()
- avcodec/jpeg2000dec: Check for duplicate SIZ marker
- doc/ffmpeg: Clarify that the sdp_file option requires an rtp output.
- ffmpeg: Don't try and write sdp info if none of the outputs had an rtp format.
- jvdec: avoid unsigned overflow in comparison
- avcodec/jpeg2000dec: Clip all tile coordinates
- avcodec/hevc_ps: Check chroma_format_idc
- avcodec/microdvddec: Check for string end in 'P' case
- avcodec/dirac_parser: Fix undefined memcpy() use
- avformat/xmv: Discard remainder of packet on error
- avformat/xmv: factor return check out of if/else
- avcodec/mpeg12dec: Do not call show_bits() with invalid bits
- libavutil/channel_layout: Check strtol*() for failure
- avcodec/ffv1dec: Check for 0 quant tables
- avcodec/mjpegdec: Reinitialize IDCT on BPP changes
- avcodec/mjpegdec: Check index in ljpeg_decode_yuv_scan() before using it
- avutil/file_open: avoid file handle inheritance on Windows
- opusdec: Don't run vector_fmul_scalar on zero length arrays
- avcodec/ffv1: Initialize vlc_state on allocation
- avcodec/ffv1dec: update progress in case of broken pointer chains
- avcodec/ffv1dec: Clear slice coordinates if they are invalid or slice header decoding fails for other reasons
- avformat/httpauth: Add space after commas in HTTP/RTSP auth header
- avcodec/x86/sbrdsp: Fix using uninitialized upper 32bit of noise
- avcodec/ffv1dec: Fix off by 1 error in quant_table_count check
- avcodec/ffv1dec: Explicitly check read_quant_table() return value
- avcodec/rangecoder: Check e
- lavf/webvttenc: Require webvtt file to contain exactly one WebVTT stream.
- avcodec/mjpegdec: Fix decoding RGBA RCT LJPEG
- avfilter/af_asyncts: use llabs for int64_t
- avcodec/g2meet: Also clear tile dimensions on header_fail
- avcodec/g2meet: Fix potential overflow in tile dimensions check
- avcodec/svq1dec: Check init_get_bits8() for failure
- avcodec/tta: Check init_get_bits8() for failure
- avcodec/vp3: Check init_get_bits8() for failure
- swresample/swresample: Fix integer overflow in seed calculation
- avformat/mov: Fix integer overflow in FFABS
- avutil/common: Add FFNABS()
- avutil/common: Document FFABS() corner case
- avformat/dump: Fix integer overflow in aspect ratio calculation
- avcodec/truemotion1: Check for even width
- avcodec/mpeg12dec: Set dimensions in mpeg1_decode_sequence() only in absence of errors
- avcodec/libopusenc: Fix infinite loop on flushing after 0 input
- avformat/hevc: Check num_long_term_ref_pics_sps to avoid potentially long loops
- avformat/hevc: Fix parsing errors
- ffmpeg: Use correct codec_id for av_parser_change() check
- ffmpeg: Check av_parser_change() for failure
- ffmpeg: Check for RAWVIDEO and do not relay only on AVFMT_RAWPICTURE
- ffmpeg: check avpicture_fill() return value
- avformat/mux: Update sidedata in ff_write_chained()
- avcodec/flashsvenc: Correct max dimension in error message
- avcodec/svq1enc: Check dimensions
- avcodec/dcaenc: clear bitstream end
- libavcodec/aacdec_template: Use init_get_bits8() in aac_decode_frame()
- rawdec: fix mjpeg probing buffer size check
- rawdec: fix mjpeg probing
- videodsp: don't overread edges in vfix3 emu_edge.
- lavf/matroskadec: Fully parse and repack MP3 packets
- avcodec/h264_mp4toannexb_bsf: Reorder operations in nal_size check
- avformat/oggenc: Check segments_count for headers too
- avformat/avidec: Workaround broken initial frame
- hevc: properly handle no_rasl_output_flag when removing pictures from the DPB
- hevc: fix wpp threading deadlock.
- avcodec/ffv1: separate slice_count from max_slice_count
- lavf/img2dec: Fix memory leak
- avcodec/mp3: fix skipping zeros
- avformat/srtdec: make sure we probe a number
- avformat/srtdec: more lenient first line probing
- doc: mention libavcodec can decode Opus natively
- MAINTAINERS: Remove myself as leader
version 2.6.4:
- imc: use correct position for flcoeffs2 calculation
- hevc: check slice address length
- snow: remove an obsolete av_assert2
- webp: fix infinite loop in webp_decode_frame
- wavpack: limit extra_bits to 32 and use get_bits_long
- ffmpeg: only count got_output/errors in decode_error_stat
- ffmpeg: exit_on_error if decoding a packet failed
- pthread_frame: forward error codes when flushing
- huffyuvdec: validate image size
- wavpack: use get_bits_long to read up to 32 bits
- nutdec: check maxpos in read_sm_data before returning success
- vc1dec: use get_bits_long and limit the read bits to 32
- mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
- avcodec/vp8: Check buffer size in vp8_decode_frame_header()
- avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
- avcodec/diracdec: Check for hpel_base allocation failure
- avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
- avfilter/af_aresample: Check ff_all_* for allocation failures
- avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
- swscale/utils: Clear pix buffers
- avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
- ffmpeg: Fix cleanup after failed allocation of output_files
- avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
- ffmpeg: Fix crash with ost->last_frame allocation failure
- ffmpeg: Fix cleanup with ost = NULL
- avcodec/pthread_frame: check avctx on deallocation
- avcodec/sanm: Reset sizes in destroy_buffers()
- avcodec/alac: Clear pointers in allocate_buffers()
- bytestream2: set the reader to the end when reading more than available
- avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264
- avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
- oggparsedirac: check return value of init_get_bits
- wmalosslessdec: reset frame->nb_samples on packet loss
- wmalosslessdec: avoid reading 0 bits with get_bits
- avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
- avcodec/aacsbr: Assert that bs_num_env is positive
- avcodec/aacsbr: check that the element type matches before applying SBR
- avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
- vp9/update_prob: prevent out of bounds table read
- avfilter/vf_transpose: Fix rounding error
- avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
- avcodec/pngdec: Require a IHDR chunk before fctl
- avcodec/pngdec: Only allow one IHDR chunk
- wmavoice: limit wmavoice_decode_packet return value to packet size
- swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
- ffmpeg: Do not use the data/size of a bitstream filter after failure
- swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
- swscale/x86/rgb2rgb_template: add missing xmm clobbers
- vda: unlock the pixel buffer base address.
- swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
- swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
- swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
- swr: Remember previously set int_sample_format from user
- matroskadec: check audio sample rate
- matroskadec: validate audio channels and bitdepth
- avcodec/dpxenc: implement write16/32 as functions
- postproc: fix unaligned access
- ffmpeg: Free last_frame instead of just unref
- avio: fix potential crashes when combining ffio_ensure_seekback + crc
- examples/demuxing_decoding: use properties from frame instead of video_dec_ctx
- h264: er: Copy from the previous reference only if compatible
- sonic: set avctx->channels in sonic_decode_init
- vp8: change mv_{min,max}.{x,y} type to int
- vp9: change type of tile_size from unsigned to int64_t
- arm: only enable setend on ARMv6
- libopenjpegdec: check existence of image component data
- mov: abort on EOF in ff_mov_read_chan
- ffmpeg_opt: Check for localtime() failure
- avformat: Fix bug in parse_rps for HEVC.
- takdec: ensure chan2 is a valid channel index
- avcodec/h264_slice: Use AVFrame diemensions for grayscale handling
- avdevice/lavfi: do not rescale AV_NOPTS_VALUE in lavfi_read_packet()
- libavutil/channel_layout: Correctly return layout when channel specification ends with a trailing 'c'.
- avcodec/jpeg2000dec: Check that coords match before applying ICT
- avformat/ffmdec: Check ffio_set_buf_size() return value
- avcodec/adpcm: Check for overreads
- avcodec/alsdec: Check for overread
- avcodec/atrac3plusdec: consume only as many bytes as available
- libavutil/softfloat: Fix av_normalize1_sf bias.
- swresample/swresample: Cleanup on init failure.
- Revert "avformat/rtpenc: check av_packet_get_side_data() return, fix null ptr dereference"
- avformat/mxfenc: Accept MXF D-10 with 49.999840 Mbit/sec
- swresample/dither: check memory allocation
- libopenjpegenc: add NULL check for img before accessing it
- swresample: Check the return value of resampler->init()
- h264: Make sure reinit failures mark the context as not initialized
- avfilter/x86/vf_fspp: Fix invalid combination of opcode and operands
- ffmpeg_opt: Set the video VBV parameters only for the video stream from -target
- avcodec/bitstream: Assert that there is enough space left in avpriv_copy_bits()
- avcodec/put_bits: Assert that there is enough space left in skip_put_bytes()
- avcodec/mpegvideo_enc: Update the buffer size as more slices are merged
- avcodec/put_bits: Update size_in_bits in set_put_bits_buffer_size()
- avformat/wavdec: Increase dts packet threshold to fix more misdetections
- avformat/wavdec: Increase probe_packets limit
- nutdec: abort if EOF is reached in decode_info_header/read_sm_data
- nutdec: stop skipping bytes at EOF
- nutdec: fix infinite resync loops
- avformat/nutdec: Check X in 2nd branch of index reading
- avformat/nutdec: Fix recovery when immedeately after seeking a failure happens
- avformat/nutdec: Return error on EOF from get_str()
- rtsp: Make sure we don't write too many transport entries into a fixed-size array
- rtpenc_jpeg: handle case of picture dimensions not dividing by 8
- avcodec/golomb: get_ur_golomb_jpegls: Fix reading huge k values
- avformat/swfdec: Do not error out on pixel format changes
- avformat/mov: Mark avio context of decompressed atoms as seekable
- avcodec/mjpegenc_common: Use ff_mpv_reallocate_putbitbuffer()
- avcodec/mpegvideo: Factor ff_mpv_reallocate_putbitbuffer() out
- avfilter/x86/vf_hqdn3d: Fix register types
- avcodec/exr: fix crash caused by merge
- avcodec/x86/h264_weight: handle weight1=128
- avcodec/dvbsubdec: Fix buf_size check in dvbsub_parse_display_definition_segment()
- avcodec/hevc_ps: Only discard overread VPS if a previous is available
- avcodec/flacenc: Fix Invalid Rice order
- lavd/xcbgrab: fix comparison with screen size.
version 2.6.3:
- avcodec/libtheoraenc: Check for av_malloc failure
- ffmpeg_opt: Fix -timestamp parsing
- hevc: make avcodec_decode_video2() fail if get_format() fails
- avcodec/cavsdec: Use ff_set_dimensions()
- swr: fix alignment issue caused by 8ch sse functions
- avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt()
- avcodec/jpeg2000dec: fix boolean operator
- avcodec/hevc_ps: Explicitly check num_tile_* for negative values
- avformat/matroskadec: Cleanup error handling for bz2 & zlib
- avformat/nutdec: Fix use of uinitialized value
- tools/graph2dot: use larger data types than int for array/string sizes
- avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()
- avcodec/mpeg12dec: use the correct dimensions for checking SAR
- xcbgrab: Validate the capture area
- xcbgrab: Do not assume the non shm image data is always available
- avfilter/lavfutils: disable frame threads when decoding a single image
- avformat/mov: Do not read ACLR into extradata for H.264
- ffmpeg: remove incorrect network deinit
- OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
- libvpxenc: only set noise reduction w/vp8
- vp9: remove another optimization branch in iadst16 which causes overflows.
- lavf: Reset global flag on deinit
- network: Do not leave context locked on error
- vp9: remove one optimization branch in iadst16 which causes overflows.
- fate: Include branch information in the payload header
- avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
- avformat/img2dec: do not rewind custom io buffers
- avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
- avcodec/atrac3plusdsp: fix on stack alignment
- swresample/swresample-test: Randomly wipe out channel counts
- swresample: Check channel layouts and channels against each other and print human readable error messages
- swresample: Allow reinitialization without ever setting channel layouts (cherry picked from commit 80a28c7509a11114e1aea5b208d56c6646d69c07)
- swresample: Allow reinitialization without ever setting channel counts
- dashenc: replace attribute id with contentType for the AdaptationSet element
- avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts
- avformat/mux: Add avoid_negative_ts_use_pts
- tests/fate-run: do not attempt to parse tiny_psnrs output if it failed
- cafdec: free extradata before allocating it
- imgutils: initialize palette padding bytes in av_image_alloc
- aacdec: don't return frames without data
- id3v2: catch avio_read errors in check_tag
- avi: Validate sample_size
- aacsbr: break infinite loop in sbr_hf_calc_npatches
- diracdec: avoid overflow of bytes*8 in decode_lowdelay
- diracdec: prevent overflow in data_unit_size check
- avformat/matroskadec: Use tracks[k]->stream instead of s->streams[k]
- matroskadec: use uint64_t instead of int for index_scale
- pngdec: don't use AV_PIX_FMT_MONOBLACK for apng
- pngdec: return correct error code from decode_frame_common
- nutdec: fix illegal count check in decode_main_header
- nutdec: fix memleaks on error in nut_read_header
- apedec: prevent out of array writes in decode_array_0000
- apedec: set s->samples only when init_frame_decoder succeeded
- swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong
- alac: reject rice_limit 0 if compression is used
- alsdec: only adapt order for positive max_order
- bink: check vst->index_entries before using it
- mpeg4videodec: only allow a positive length
- aacpsy: correct calculation of minath in psy_3gpp_init
- alsdec: validate time diff index
- alsdec: ensure channel reordering is reversible
- ac3: validate end in ff_ac3_bit_alloc_calc_mask
- aacpsy: avoid psy_band->threshold becoming NaN
- aasc: return correct buffer size from aasc_decode_frame
- matroskadec: export cover art correctly
- mxfenc: don't try to write footer without header
- mxfenc: fix memleaks in mxf_write_footer
- rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
- rtpenc_mpegts: Free the right ->pb in the error path in the init function
version 2.6.2:
- avcodec/h264: Do not fail with randomly truncated VUIs
- avcodec/h264_ps: Move truncation check from VUI to SPS
- avcodec/h264: Be more tolerant to changing pps id between slices
- avcodec/aacdec: Fix storing state before PCE decode
- avcodec/h264: reset the counts in the correct context
- avcodec/h264_slice: Do not reset mb_aff_frame per slice
- avcodec/h264: finish previous slices before switching to single thread mode
- avcodec/h264: Fix race between slices where one overwrites data from the next
- avformat/utils: avoid discarded streams in av_find_default_stream_index()
- ffmpeg: Fix extradata allocation
- avcodec/h264_refs: Do not set reference to things which do not exist
- avcodec/h264: Fail for invalid mixed IDR / non IDR frames in slice threading mode
- Revert "avcodec/exr: fix memset first arg in reverse_lut()"
- h264: avoid unnecessary calls to get_format
- avutil/pca: Check for av_malloc* failures
- avutil/cpu: add missing check for mmxext to av_force_cpu_flags
- lavc/dnxhd: Fix pix_fmt change.
- avformat/http: replace cookies with updated values instead of appending forever
- avformat/hls: store cookies returned in HLS key response
- avformat/rmdec: fix support for 0 sized mdpr
- avcodec/msrledec: restructure msrle_decode_pal4() based on the line number instead of the pixel pointer
- avcodec/hevc_ps: Check cropping parameters more correctly
- hevc: make the crop sizes unsigned
- avcodec/dnxhddec: Reset is_444 if format is not 444
- avcodec/dnxhddec: Check that the frame is interlaced before using cur_field
- mips/float_dsp: fix vector_fmul_window_mips on mips64
- doc: Remove non-existing decklink options.
version 2.6.1:
- avformat/mov: Disallow ".." in dref unless use_absolute_path is set
- avfilter/palettegen: make sure at least one frame was sent to the filter
- avformat/mov: Check for string truncation in mov_open_dref()
- ac3_fixed: fix out-of-bound read
- mips/asmdefs: use _ABI64 as defined by gcc
- hevc: delay ff_thread_finish_setup for hwaccel
- avcodec/012v: Check dimensions more completely
- asfenc: fix leaking asf->index_ptr on error
- roqvideoenc: set enc->avctx in roq_encode_init
- avcodec/options_table: remove extradata_size from the AVOptions table
- ffmdec: limit the backward seek to the last resync position
- Add dependencies to configure file for vf_fftfilt
- ffmdec: make sure the time base is valid
- ffmdec: fix infinite loop at EOF
- ffmdec: initialize f_cprv, f_stvi and f_stau
- arm: Suppress tags about used cpu arch and extensions
- mxfdec: Fix the error handling for when strftime fails
- avcodec/opusdec: Fix delayed sample value
- avcodec/opusdec: Clear out pointers per packet
- avcodec/utils: Align YUV411 by as much as the other YUV variants
- lavc/hevcdsp: Fix compilation for arm with --disable-neon.
- vp9: fix segmentation map retention with threading enabled.
- Revert "avutil/opencl: is_compiled flag not being cleared in av_opencl_uninit"
version 2.6:
- nvenc encoder
- 10bit spp filter
- colorlevels filter
- RIFX format for *.wav files
- RTP/mpegts muxer
- non continuous cache protocol support
- tblend filter
- cropdetect support for non 8bpp, absolute (if limit >= 1) and relative (if limit < 1.0) threshold
- Camellia symmetric block cipher
- OpenH264 encoder wrapper
- VOC seeking support
- Closed caption Decoder
- fspp, uspp, pp7 MPlayer postprocessing filters ported to native filters
- showpalette filter
- Twofish symmetric block cipher
- Support DNx100 (960x720@8)
- eq2 filter ported from libmpcodecs as eq filter
- removed libmpcodecs
- Changed default DNxHD colour range in QuickTime .mov derivatives to mpeg range
- ported softpulldown filter from libmpcodecs as repeatfields filter
- dcshift filter
- RTP depacketizer for loss tolerant payload format for MP3 audio (RFC 5219)
- RTP depacketizer for AC3 payload format (RFC 4184)
- palettegen and paletteuse filters
- VP9 RTP payload format (draft 0) experimental depacketizer
- RTP depacketizer for DV (RFC 6469)
- DXVA2-accelerated HEVC decoding
- AAC ELD 480 decoding
- Intel QSV-accelerated H.264 decoding
- DSS SP decoder and DSS demuxer
- Fix stsd atom corruption in DNxHD QuickTimes
- Canopus HQX decoder
- RTP depacketization of T.140 text (RFC 4103)
- Port MIPS optimizations to 64-bit
version 2.5:
- HEVC/H.265 RTP payload format (draft v6) packetizer
- SUP/PGS subtitle demuxer
- ffprobe -show_pixel_formats option
- CAST128 symmetric block cipher, ECB mode
- STL subtitle demuxer and decoder
- libutvideo YUV 4:2:2 10bit support
- XCB-based screen-grabber
- UDP-Lite support (RFC 3828)
- xBR scaling filter
- AVFoundation screen capturing support
- ffserver supports codec private options
- creating DASH compatible fragmented MP4, MPEG-DASH segmenting muxer
- WebP muxer with animated WebP support
- zygoaudio decoding support
- APNG demuxer
- postproc visualization support
version 2.4:
- Icecast protocol
- ported lenscorrection filter from frei0r filter
- large optimizations in dctdnoiz to make it usable
- ICY metadata are now requested by default with the HTTP protocol
- support for using metadata in stream specifiers in fftools
- LZMA compression support in TIFF decoder
- support for H.261 RTP payload format (RFC 4587)
- H.261 RTP payload format (RFC 4587) depacketizer and experimental packetizer
- HEVC/H.265 RTP payload format (draft v6) depacketizer
- added codecview filter to visualize information exported by some codecs
- Matroska 3D support thorugh side data

View File

@@ -1,69 +1,73 @@
#FFmpeg:
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
or later (LGPL v2.1+). Read the file COPYING.LGPLv2.1 for details. Some other
or later (LGPL v2.1+). Read the file `COPYING.LGPLv2.1` for details. Some other
files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to
FFmpeg.
Some optional parts of FFmpeg are licensed under the GNU General Public License
version 2 or later (GPL v2+). See the file COPYING.GPLv2 for details. None of
these parts are used by default, you have to explicitly pass --enable-gpl to
version 2 or later (GPL v2+). See the file `COPYING.GPLv2` for details. None of
these parts are used by default, you have to explicitly pass `--enable-gpl` to
configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
Specifically, the GPL parts of FFmpeg are:
- libpostproc
- libmpcodecs
- optional x86 optimizations in the files
libavcodec/x86/flac_dsp_gpl.asm
libavcodec/x86/idct_mmx.c
- `libavcodec/x86/flac_dsp_gpl.asm`
- `libavcodec/x86/idct_mmx.c`
- libutvideo encoding/decoding wrappers in
libavcodec/libutvideo*.cpp
- the X11 grabber in libavdevice/x11grab.c
`libavcodec/libutvideo*.cpp`
- the X11 grabber in `libavdevice/x11grab.c`
- the swresample test app in
libswresample/swresample-test.c
- the texi2pod.pl tool
`libswresample/swresample-test.c`
- the `texi2pod.pl` tool
- the following filters in libavfilter:
- f_ebur128.c
- vf_blackframe.c
- vf_boxblur.c
- vf_colormatrix.c
- vf_cropdetect.c
- vf_decimate.c
- vf_delogo.c
- vf_geq.c
- vf_histeq.c
- vf_hqdn3d.c
- vf_interlace.c
- vf_kerndeint.c
- vf_mcdeint.c
- vf_mp.c
- vf_owdenoise.c
- vf_perspective.c
- vf_phase.c
- vf_pp.c
- vf_pullup.c
- vf_sab.c
- vf_smartblur.c
- vf_spp.c
- vf_stereo3d.c
- vf_super2xsai.c
- vf_tinterlace.c
- vsrc_mptestsrc.c
- `f_ebur128.c`
- `vf_blackframe.c`
- `vf_boxblur.c`
- `vf_colormatrix.c`
- `vf_cropdetect.c`
- `vf_delogo.c`
- `vf_eq.c`
- `vf_fspp.c`
- `vf_geq.c`
- `vf_histeq.c`
- `vf_hqdn3d.c`
- `vf_interlace.c`
- `vf_kerndeint.c`
- `vf_mcdeint.c`
- `vf_mpdecimate.c`
- `vf_owdenoise.c`
- `vf_perspective.c`
- `vf_phase.c`
- `vf_pp.c`
- `vf_pp7.c`
- `vf_pullup.c`
- `vf_sab.c`
- `vf_smartblur.c`
- `vf_repeatfields.c`
- `vf_spp.c`
- `vf_stereo3d.c`
- `vf_super2xsai.c`
- `vf_tinterlace.c`
- `vf_uspp.c`
- `vsrc_mptestsrc.c`
Should you, for whatever reason, prefer to use version 3 of the (L)GPL, then
the configure parameter --enable-version3 will activate this licensing option
for you. Read the file COPYING.LGPLv3 or, if you have enabled GPL parts,
COPYING.GPLv3 to learn the exact legal terms that apply in this case.
the configure parameter `--enable-version3` will activate this licensing option
for you. Read the file `COPYING.LGPLv3` or, if you have enabled GPL parts,
`COPYING.GPLv3` to learn the exact legal terms that apply in this case.
There are a handful of files under other licensing terms, namely:
* The files libavcodec/jfdctfst.c, libavcodec/jfdctint_template.c and
libavcodec/jrevdct.c are taken from libjpeg, see the top of the files for
* The files `libavcodec/jfdctfst.c`, `libavcodec/jfdctint_template.c` and
`libavcodec/jrevdct.c` are taken from libjpeg, see the top of the files for
licensing details. Specifically note that you must credit the IJG in the
documentation accompanying your program if you only distribute executables.
You must also indicate any changes including additions and deletions to
those three files in the documentation.
* `tests/reference.pnm` is under the expat license.
external libraries
@@ -76,21 +80,22 @@ compatible libraries
--------------------
The following libraries are under GPL:
- frei0r
- libcdio
- libutvideo
- libvidstab
- libx264
- libx265
- libxavs
- libxvid
- frei0r
- libcdio
- libutvideo
- libvidstab
- libx264
- libx265
- libxavs
- libxvid
When combining them with FFmpeg, FFmpeg needs to be licensed as GPL as well by
passing --enable-gpl to configure.
passing `--enable-gpl` to configure.
The OpenCORE and VisualOn libraries are under the Apache License 2.0. That
license is incompatible with the LGPL v2.1 and the GPL v2, but not with
version 3 of those licenses. So to combine these libraries with FFmpeg, the
license version needs to be upgraded by passing --enable-version3 to configure.
license version needs to be upgraded by passing `--enable-version3` to configure.
incompatible libraries
----------------------
@@ -98,7 +103,7 @@ incompatible libraries
The Fraunhofer AAC library, FAAC and aacplus are under licenses which
are incompatible with the GPLv2 and v3. We do not know for certain if their
licenses are compatible with the LGPL.
If you wish to enable these libraries, pass --enable-nonfree to configure.
If you wish to enable these libraries, pass `--enable-nonfree` to configure.
But note that if you enable any of these libraries the resulting binary will
be under a complex license mix that is more restrictive than the LGPL and that
may result in additional obligations. It is possible that these

View File

@@ -14,7 +14,6 @@ patches and related discussions.
Project Leader
==============
Michael Niedermayer
final design decisions
@@ -156,6 +155,7 @@ Codecs:
celp_filters.* Vitor Sessak
cinepak.c Roberto Togni
cinepakenc.c Rl / Aetey G.T. AB
ccaption_dec.c Anshul Maheshwari
cljr Alex Beregszaszi
cllc.c Derek Buitenhuis
cook.c, cookdata.h Benjamin Larsson
@@ -165,6 +165,7 @@ Codecs:
dca.c Kostya Shishkov, Benjamin Larsson
dnxhd* Baptiste Coudurier
dpcm.c Mike Melanson
dss_sp.c Oleksij Rempel, Michael Niedermayer
dv.c Roman Shaposhnik
dvbsubdec.c Anshul Maheshwari
dxa.c Kostya Shishkov
@@ -226,6 +227,7 @@ Codecs:
msvideo1.c Mike Melanson
nellymoserdec.c Benjamin Larsson
nuv.c Reimar Doeffinger
nvenc.c Timo Rothenpieler
paf.* Paul B Mahol
pcx.c Ivo van Poorten
pgssubdec.c Reimar Doeffinger
@@ -309,6 +311,7 @@ libavdevice
avfoundation.m Thilo Borgmann
decklink* Deti Fliegl
dshow.c Roger Pack (CC rogerdpack@gmail.com)
fbdev_enc.c Lukasz Marek
gdigrab.c Roger Pack (CC rogerdpack@gmail.com)
@@ -385,6 +388,7 @@ Muxers/Demuxers:
aiffdec.c Baptiste Coudurier, Matthieu Bouron
aiffenc.c Baptiste Coudurier, Matthieu Bouron
ape.c Kostya Shishkov
apngdec.c Benoit Fouet
ass* Aurelien Jacobs
astdec.c Paul B Mahol
astenc.c James Almer
@@ -397,6 +401,7 @@ Muxers/Demuxers:
cdxl.c Paul B Mahol
crc.c Michael Niedermayer
daud.c Reimar Doeffinger
dss.c Oleksij Rempel, Michael Niedermayer
dtshddec.c Paul B Mahol
dv.c Roman Shaposhnik
dxa.c Kostya Shishkov
@@ -461,9 +466,13 @@ Muxers/Demuxers:
rmdec.c, rmenc.c Ronald S. Bultje, Kostya Shishkov
rtmp* Kostya Shishkov
rtp.c, rtpenc.c Martin Storsjo
rtpdec_ac3.* Gilles Chanteperdrix
rtpdec_dv.* Thomas Volkert
rtpdec_h261.*, rtpenc_h261.* Thomas Volkert
rtpdec_hevc.* Thomas Volkert
rtpdec_hevc.*, rtpenc_hevc.* Thomas Volkert
rtpdec_mpa_robust.* Gilles Chanteperdrix
rtpdec_asf.* Ronald S. Bultje
rtpdec_vp9.c Thomas Volkert
rtpenc_mpv.*, rtpenc_aac.* Martin Storsjo
rtsp.c Luca Barbato
sbgdec.c Nicolas George
@@ -496,6 +505,7 @@ Protocols:
libssh.c Lukasz Marek
mms*.c Ronald S. Bultje
udp.c Luca Abeni
icecast.c Marvin Scholz
libswresample
@@ -534,9 +544,10 @@ x86 Michael Niedermayer
Releases
========
2.3 Michael Niedermayer
2.6 Michael Niedermayer
2.5 Michael Niedermayer
2.4 Michael Niedermayer
2.2 Michael Niedermayer
1.2 Michael Niedermayer
If you want to maintain an older release, please contact us

View File

@@ -32,6 +32,7 @@ OBJS-ffmpeg += ffmpeg_opt.o ffmpeg_filter.o
OBJS-ffmpeg-$(HAVE_VDPAU_X11) += ffmpeg_vdpau.o
OBJS-ffmpeg-$(HAVE_DXVA2_LIB) += ffmpeg_dxva2.o
OBJS-ffmpeg-$(CONFIG_VDA) += ffmpeg_vda.o
OBJS-ffserver += ffserver_config.o
TESTTOOLS = audiogen videogen rotozoom tiny_psnr tiny_ssim base64
HOSTPROGS := $(TESTTOOLS:%=tests/%) doc/print_options
@@ -79,7 +80,7 @@ SUBDIR_VARS := CLEANFILES EXAMPLES FFLIBS HOSTPROGS TESTPROGS TOOLS \
HEADERS ARCH_HEADERS BUILT_HEADERS SKIPHEADERS \
ARMV5TE-OBJS ARMV6-OBJS ARMV8-OBJS VFP-OBJS NEON-OBJS \
ALTIVEC-OBJS MMX-OBJS YASM-OBJS \
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS MIPS32R2-OBJS \
MIPSFPU-OBJS MIPSDSPR2-OBJS MIPSDSPR1-OBJS \
OBJS SLIBOBJS HOSTOBJS TESTOBJS
define RESET
@@ -111,7 +112,7 @@ endef
$(foreach P,$(PROGS),$(eval $(call DOPROG,$(P:$(PROGSSUF)$(EXESUF)=))))
ffprobe.o cmdutils.o : libavutil/ffversion.h
ffprobe.o cmdutils.o libavcodec/utils.o libavformat/utils.o libavdevice/avdevice.o libavfilter/avfilter.o libavutil/utils.o libpostproc/postprocess.o libswresample/swresample.o libswscale/utils.o : libavutil/ffversion.h
$(PROGS): %$(PROGSSUF)$(EXESUF): %$(PROGSSUF)_g$(EXESUF)
$(CP) $< $@

View File

@@ -19,8 +19,10 @@ such as audio, video, subtitles and related metadata.
* [ffmpeg](http://ffmpeg.org/ffmpeg.html) is a command line toolbox to
manipulate, convert and stream multimedia content.
* [ffplay](http://ffmpeg.org/ffplay.html) is a minimalistic multimedia player.
* [ffprobe](http://ffmpeg.org/ffprobe.html) is a simple analisys tool to inspect
* [ffprobe](http://ffmpeg.org/ffprobe.html) is a simple analysis tool to inspect
multimedia content.
* [ffserver](http://ffmpeg.org/ffserver.html) is a multimedia streaming server
for live broadcasts.
* Additional small tools such as `aviocat`, `ismindex` and `qt-faststart`.
## Documentation
@@ -32,7 +34,7 @@ and in the [wiki](http://trac.ffmpeg.org).
### Examples
Conding examples are available in the **doc/example** directory.
Coding examples are available in the **doc/examples** directory.
## License

View File

@@ -1 +1 @@
2.3.git
2.6.5

View File

@@ -1,81 +1,65 @@
┌────────────────────────────────────────┐
│ RELEASE NOTES for FFmpeg 2.4 "Fresnel" │
└────────────────────────────────────────┘
The FFmpeg Project proudly presents FFmpeg 2.4 "Fresnel", just 2 months
after the release of 2.3. Since this wasn't a long time ago, the Changelog
is a bit short this time.
┌─────────────────────────────────────────────┐
│ RELEASE NOTES for FFmpeg 2.6 "Grothendieck" │
└─────────────────────────────────────────────┘
The most important thing in this release is the major version bump of the
libraries. This means that this release is neither ABI-compatible nor
fully API-compatible. But on the other hand it is aligned with the Libav
11 release series, and will as a result probably end up being maintained for
a long time.
The FFmpeg Project proudly presents FFmpeg 2.6 "Grothendieck", about 3
months after the release of FFmpeg 2.5.
As usual, if you have any question on this release or any FFmpeg related
topic, feel free to join us on the #ffmpeg IRC channel (on
irc.freenode.net).
A lot of important work got in this time, so let's start talking about what
we like to brag the most about: features.
┌────────────────────────────┐
│ 🔨 API Information │
└────────────────────────────┘
A lot of people will probably be happy to hear that we now have support for
NVENC — the Nvidia Video Encoder interface for H.264 encoding — thanks to
Timo Rothenpieler, with some little help from NVIDIA and Philip Langdale.
FFmpeg 2.4 includes the following library versions:
People in the broadcasting industry might also be interested in the first
steps of closed captions support with the introduction of a decoder by
Anshul Maheswhwari.
• libavutil 54.7.100
• libavcodec 56.1.100
• libavformat 56.4.101
• libavdevice 56.0.100
• libavfilter 5.1.100
• libswscale 3.0.100
• libswresample 1.1.100
• libpostproc 53.0.100
Regarding filters love, we improved and added many. We could talk about the
10-bit support in spp, but maybe it's more important to mention the addition
of colorlevels (yet another color handling filter), tblend (allowing you
to for example run a diff between successive frames of a video stream), or
the dcshift audio filter.
Important API changes since 2.3:
There are also two other important filters landing in libavfilter: palettegen
and paletteuse. Both submitted by the Stupeflix company. These filters will
be very useful in case you are looking for creating high quality GIFs, a
format that still bravely fights annihilation in 2015.
• The new field mime_type was added to AVProbeData, which can
cause crashes, if it is not initialized.
• Some deprecated functions were removed.
• The avfilter_graph_parse function was made compatible with Libav.
• The Matroska demuxer now outputs verbatim ASS packets.
There are many other new features, but let's follow-up on one big cleanup
achievement: the libmpcodecs (MPlayer filters) wrapper is finally dead. The
last remaining filters (softpulldown/repeatfields, eq*, and various
postprocessing filters) were ported by Arwa Arif (OPW student) and Paul B
Mahol.
Please refer to the doc/APIchanges file for more information.
Concerning API changes, there are not many things to mention. Though, the
introduction of device inputs and outputs listing by Lukasz Marek is a
notable addition (try ffmpeg -sources or ffmpeg -sinks for an example of
the usage). As usual, see doc/APIchanges for more information.
┌────────────────────────────┐
│ ★ List of New Features │
└────────────────────────────┘
Now let's talk about optimizations. Ronald S. Bultje made the VP9 decoder
usable on x86 32-bit systems and pre-ssse3 CPUs like Phenom (even dual core
Athlons can play 1080p 30fps VP9 content now), so we now secretly hope for
Google and Mozilla to use ffvp9 instead of libvpx. But VP9 is not the
center of attention anymore, and HEVC/H.265 is also getting many
improvements, which include C and x86 ASM optimizations, mainly from James
Almer, Christophe Gisquet and Pierre-Edouard Lepere.
┌────────────────────────────┐
│ libavformat │
└────────────────────────────┘
Even though we had many x86 contributions, it is not the only architecture
getting some love, with Seppo Tomperi adding ARM NEON optimizations to the
HEVC stack, and James Cowgill adding MIPS64 assembly for all kind of audio
processing code in libavcodec.
• Icecast protocol.
• API for live metadata updates through event flags.
• UTF-16 support in text subtitles formats.
• The ASS muxer now reorders the Dialogue events properly.
And finally, Michael Niedermayer is still fixing many bugs, dealing with
most of the boring work such as making releases, applying tons of
contributors patches, and daily merging the changes from the Libav project.
┌────────────────────────────┐
│ libavfilter │
└────────────────────────────┘
A more complete Changelog is available at the root of the project, and the
complete Git history on http://source.ffmpeg.org.
• Ported lenscorrection filter from frei0r filter.
• Large optimizations in dctdnoiz to make it usable.
• Added codecview filter to visualize information exported by some codecs.
• Added silenceremove filter.
┌────────────────────────────┐
│ libavutil │
└────────────────────────────┘
• Added clip() function in eval.
┌────────────────────────────┐
│ ⚠ Behaviour changes │
└────────────────────────────┘
• dctdnoiz filter now uses a block size of 8x8 instead of 16x16 by default
• -vismv option is deprecated in favor of the codecview filter
• libmodplug is now detected through pkg-config
• HTML documentation generation through texi2html is deprecated in
favor of makeinfo/texi2any
• ICY metadata are now requested by default with the HTTP protocol
We hope you will like this release as much as we enjoyed working on it, and
as usual, if you have any questions about it, or any FFmpeg related topic,
feel free to join us on the #ffmpeg IRC channel (on irc.freenode.net) or ask
on the mailing-lists.

View File

@@ -5,7 +5,6 @@ OBJS-$(HAVE_VFP) += $(VFP-OBJS) $(VFP-OBJS-yes)
OBJS-$(HAVE_NEON) += $(NEON-OBJS) $(NEON-OBJS-yes)
OBJS-$(HAVE_MIPSFPU) += $(MIPSFPU-OBJS) $(MIPSFPU-OBJS-yes)
OBJS-$(HAVE_MIPS32R2) += $(MIPS32R2-OBJS) $(MIPS32R2-OBJS-yes)
OBJS-$(HAVE_MIPSDSPR1) += $(MIPSDSPR1-OBJS) $(MIPSDSPR1-OBJS-yes)
OBJS-$(HAVE_MIPSDSPR2) += $(MIPSDSPR2-OBJS) $(MIPSDSPR2-OBJS-yes)

View File

@@ -290,10 +290,14 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
if (po->flags & OPT_SPEC) {
SpecifierOpt **so = dst;
char *p = strchr(opt, ':');
char *str;
dstcount = (int *)(so + 1);
*so = grow_array(*so, sizeof(**so), dstcount, *dstcount + 1);
(*so)[*dstcount - 1].specifier = av_strdup(p ? p + 1 : "");
str = av_strdup(p ? p + 1 : "");
if (!str)
return AVERROR(ENOMEM);
(*so)[*dstcount - 1].specifier = str;
dst = &(*so)[*dstcount - 1].u;
}
@@ -301,6 +305,8 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt,
char *str;
str = av_strdup(arg);
av_freep(dst);
if (!str)
return AVERROR(ENOMEM);
*(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);
@@ -444,7 +450,7 @@ int locate_option(int argc, char **argv, const OptionDef *options,
(po->name && !strcmp(optname, po->name)))
return i;
if (po->flags & HAS_ARG)
if (!po->name || po->flags & HAS_ARG)
i++;
}
return 0;
@@ -959,9 +965,10 @@ static int init_report(const char *env)
report_file = fopen(filename.str, "w");
if (!report_file) {
int ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "Failed to open report \"%s\": %s\n",
filename.str, strerror(errno));
return AVERROR(errno);
return ret;
}
av_log_set_callback(log_callback_report);
av_log(NULL, AV_LOG_INFO,
@@ -1074,8 +1081,7 @@ static void print_program_info(int flags, int level)
av_log(NULL, level, " Copyright (c) %d-%d the FFmpeg developers",
program_birth_year, CONFIG_THIS_YEAR);
av_log(NULL, level, "\n");
av_log(NULL, level, "%sbuilt on %s %s with %s\n",
indent, __DATE__, __TIME__, CC_IDENT);
av_log(NULL, level, "%sbuilt with %s\n", indent, CC_IDENT);
av_log(NULL, level, "%sconfiguration: " FFMPEG_CONFIGURATION "\n", indent);
}
@@ -1212,12 +1218,7 @@ static int is_device(const AVClass *avclass)
{
if (!avclass)
return 0;
return avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_OUTPUT ||
avclass->category == AV_CLASS_CATEGORY_DEVICE_INPUT;
return AV_IS_INPUT_DEVICE(avclass->category) || AV_IS_OUTPUT_DEVICE(avclass->category);
}
static int show_formats_devices(void *optctx, const char *opt, const char *arg, int device_only)
@@ -1543,7 +1544,8 @@ int show_protocols(void *optctx, const char *opt, const char *arg)
int show_filters(void *optctx, const char *opt, const char *arg)
{
const AVFilter av_unused(*filter) = NULL;
#if CONFIG_AVFILTER
const AVFilter *filter = NULL;
char descr[64], *descr_cur;
int i, j;
const AVFilterPad *pad;
@@ -1556,7 +1558,6 @@ int show_filters(void *optctx, const char *opt, const char *arg)
" V = Video input/output\n"
" N = Dynamic number and/or type of input/output\n"
" | = Source or sink filter\n");
#if CONFIG_AVFILTER
while ((filter = avfilter_next(filter))) {
descr_cur = descr;
for (i = 0; i < 2; i++) {
@@ -1581,6 +1582,8 @@ int show_filters(void *optctx, const char *opt, const char *arg)
filter->process_command ? 'C' : '.',
filter->name, descr, filter->description);
}
#else
printf("No filters available: libavfilter disabled\n");
#endif
return 0;
}
@@ -1818,6 +1821,8 @@ int show_help(void *optctx, const char *opt, const char *arg)
av_log_set_callback(log_callback_help);
topic = av_strdup(arg ? arg : "");
if (!topic)
return AVERROR(ENOMEM);
par = strchr(topic, '=');
if (par)
*par++ = 0;
@@ -1857,35 +1862,48 @@ int read_yesno(void)
int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
{
int ret;
int64_t ret;
FILE *f = av_fopen_utf8(filename, "rb");
if (!f) {
ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "Cannot read file '%s': %s\n", filename,
strerror(errno));
return AVERROR(errno);
return ret;
}
fseek(f, 0, SEEK_END);
*size = ftell(f);
fseek(f, 0, SEEK_SET);
if (*size == (size_t)-1) {
av_log(NULL, AV_LOG_ERROR, "IO error: %s\n", strerror(errno));
fclose(f);
return AVERROR(errno);
ret = fseek(f, 0, SEEK_END);
if (ret == -1) {
ret = AVERROR(errno);
goto out;
}
ret = ftell(f);
if (ret < 0) {
ret = AVERROR(errno);
goto out;
}
*size = ret;
ret = fseek(f, 0, SEEK_SET);
if (ret == -1) {
ret = AVERROR(errno);
goto out;
}
*bufptr = av_malloc(*size + 1);
if (!*bufptr) {
av_log(NULL, AV_LOG_ERROR, "Could not allocate file buffer\n");
fclose(f);
return AVERROR(ENOMEM);
ret = AVERROR(ENOMEM);
goto out;
}
ret = fread(*bufptr, 1, *size, f);
if (ret < *size) {
av_free(*bufptr);
if (ferror(f)) {
ret = AVERROR(errno);
av_log(NULL, AV_LOG_ERROR, "Error while reading file '%s': %s\n",
filename, strerror(errno));
ret = AVERROR(errno);
} else
ret = AVERROR_EOF;
} else {
@@ -1893,6 +1911,9 @@ int cmdutils_read_file(const char *filename, char **bufptr, size_t *size)
(*bufptr)[(*size)++] = '\0';
}
out:
if (ret < 0)
av_log(NULL, AV_LOG_ERROR, "IO error: %s\n", av_err2str(ret));
fclose(f);
return ret;
}
@@ -1992,7 +2013,7 @@ AVDictionary *filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id,
switch (check_stream_specifier(s, st, p + 1)) {
case 1: *p = 0; break;
case 0: continue;
default: return NULL;
default: exit_program(1);
}
if (av_opt_find(&cc, t->key, NULL, flags, AV_OPT_SEARCH_FAKE_OBJ) ||
@@ -2039,7 +2060,7 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
exit_program(1);
}
if (*size < new_size) {
uint8_t *tmp = av_realloc(array, new_size*elem_size);
uint8_t *tmp = av_realloc_array(array, new_size, elem_size);
if (!tmp) {
av_log(NULL, AV_LOG_ERROR, "Could not alloc buffer.\n");
exit_program(1);
@@ -2050,3 +2071,161 @@ void *grow_array(void *array, int elem_size, int *size, int new_size)
}
return array;
}
#if CONFIG_AVDEVICE
static int print_device_sources(AVInputFormat *fmt, AVDictionary *opts)
{
int ret, i;
AVDeviceInfoList *device_list = NULL;
if (!fmt || !fmt->priv_class || !AV_IS_INPUT_DEVICE(fmt->priv_class->category))
return AVERROR(EINVAL);
printf("Audo-detected sources for %s:\n", fmt->name);
if (!fmt->get_device_list) {
ret = AVERROR(ENOSYS);
printf("Cannot list sources. Not implemented.\n");
goto fail;
}
if ((ret = avdevice_list_input_sources(fmt, NULL, opts, &device_list)) < 0) {
printf("Cannot list sources.\n");
goto fail;
}
for (i = 0; i < device_list->nb_devices; i++) {
printf("%s %s [%s]\n", device_list->default_device == i ? "*" : " ",
device_list->devices[i]->device_name, device_list->devices[i]->device_description);
}
fail:
avdevice_free_list_devices(&device_list);
return ret;
}
static int print_device_sinks(AVOutputFormat *fmt, AVDictionary *opts)
{
int ret, i;
AVDeviceInfoList *device_list = NULL;
if (!fmt || !fmt->priv_class || !AV_IS_OUTPUT_DEVICE(fmt->priv_class->category))
return AVERROR(EINVAL);
printf("Audo-detected sinks for %s:\n", fmt->name);
if (!fmt->get_device_list) {
ret = AVERROR(ENOSYS);
printf("Cannot list sinks. Not implemented.\n");
goto fail;
}
if ((ret = avdevice_list_output_sinks(fmt, NULL, opts, &device_list)) < 0) {
printf("Cannot list sinks.\n");
goto fail;
}
for (i = 0; i < device_list->nb_devices; i++) {
printf("%s %s [%s]\n", device_list->default_device == i ? "*" : " ",
device_list->devices[i]->device_name, device_list->devices[i]->device_description);
}
fail:
avdevice_free_list_devices(&device_list);
return ret;
}
static int show_sinks_sources_parse_arg(const char *arg, char **dev, AVDictionary **opts)
{
int ret;
if (arg) {
char *opts_str = NULL;
av_assert0(dev && opts);
*dev = av_strdup(arg);
if (!*dev)
return AVERROR(ENOMEM);
if ((opts_str = strchr(*dev, ','))) {
*(opts_str++) = '\0';
if (opts_str[0] && ((ret = av_dict_parse_string(opts, opts_str, "=", ":", 0)) < 0)) {
av_freep(dev);
return ret;
}
}
} else
printf("\nDevice name is not provided.\n"
"You can pass devicename[,opt1=val1[,opt2=val2...]] as an argument.\n\n");
return 0;
}
int show_sources(void *optctx, const char *opt, const char *arg)
{
AVInputFormat *fmt = NULL;
char *dev = NULL;
AVDictionary *opts = NULL;
int ret = 0;
int error_level = av_log_get_level();
av_log_set_level(AV_LOG_ERROR);
if ((ret = show_sinks_sources_parse_arg(arg, &dev, &opts)) < 0)
goto fail;
do {
fmt = av_input_audio_device_next(fmt);
if (fmt) {
if (!strcmp(fmt->name, "lavfi"))
continue; //it's pointless to probe lavfi
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sources(fmt, opts);
}
} while (fmt);
do {
fmt = av_input_video_device_next(fmt);
if (fmt) {
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sources(fmt, opts);
}
} while (fmt);
fail:
av_dict_free(&opts);
av_free(dev);
av_log_set_level(error_level);
return ret;
}
int show_sinks(void *optctx, const char *opt, const char *arg)
{
AVOutputFormat *fmt = NULL;
char *dev = NULL;
AVDictionary *opts = NULL;
int ret = 0;
int error_level = av_log_get_level();
av_log_set_level(AV_LOG_ERROR);
if ((ret = show_sinks_sources_parse_arg(arg, &dev, &opts)) < 0)
goto fail;
do {
fmt = av_output_audio_device_next(fmt);
if (fmt) {
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sinks(fmt, opts);
}
} while (fmt);
do {
fmt = av_output_video_device_next(fmt);
if (fmt) {
if (dev && !av_match_name(dev, fmt->name))
continue;
print_device_sinks(fmt, opts);
}
} while (fmt);
fail:
av_dict_free(&opts);
av_free(dev);
av_log_set_level(error_level);
return ret;
}
#endif

View File

@@ -443,6 +443,20 @@ int show_formats(void *optctx, const char *opt, const char *arg);
*/
int show_devices(void *optctx, const char *opt, const char *arg);
#if CONFIG_AVDEVICE
/**
* Print a listing containing audodetected sinks of the output device.
* Device name with options may be passed as an argument to limit results.
*/
int show_sinks(void *optctx, const char *opt, const char *arg);
/**
* Print a listing containing audodetected sources of the input device.
* Device name with options may be passed as an argument to limit results.
*/
int show_sources(void *optctx, const char *opt, const char *arg);
#endif
/**
* Print a listing containing all the codecs supported by the
* program.

View File

@@ -27,3 +27,9 @@
{ "opencl_bench", OPT_EXIT, {.func_arg = opt_opencl_bench}, "run benchmark on all OpenCL devices and show results" },
{ "opencl_options", HAS_ARG, {.func_arg = opt_opencl}, "set OpenCL environment options" },
#endif
#if CONFIG_AVDEVICE
{ "sources" , OPT_EXIT | HAS_ARG, { .func_arg = show_sources },
"list sources of the input device", "device" },
{ "sinks" , OPT_EXIT | HAS_ARG, { .func_arg = show_sinks },
"list sinks of the output device", "device" },
#endif

View File

@@ -22,6 +22,7 @@
#include "libavutil/time.h"
#include "libavutil/log.h"
#include "libavutil/opencl.h"
#include "libavutil/avstring.h"
#include "cmdutils.h"
typedef struct {
@@ -238,7 +239,8 @@ int opt_opencl_bench(void *optctx, const char *opt, const char *arg)
devices[count].platform_idx = i;
devices[count].device_idx = j;
devices[count].runtime = score;
strcpy(devices[count].device_name, device_node->device_name);
av_strlcpy(devices[count].device_name, device_node->device_name,
sizeof(devices[count].device_name));
count++;
}
}

View File

@@ -5,6 +5,14 @@
# first so "all" becomes default target
all: all-yes
DEFAULT_YASMD=.dbg
ifeq (1, DBG)
YASMD=$(DEFAULT_YASMD)
else
YASMD=
endif
ifndef SUBDIR
ifndef V
@@ -138,17 +146,17 @@ $(TOOLOBJS): | tools
OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(SLIBOBJS) $(TESTOBJS))
CLEANSUFFIXES = *.d *.o *~ *.h.c *.map *.ver *.ho *.gcno *.gcda
CLEANSUFFIXES = *.d *.o *~ *.h.c *.map *.ver *.ho *.gcno *.gcda *$(DEFAULT_YASMD).asm
DISTCLEANSUFFIXES = *.pc
LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a
define RULES
clean::
$(RM) $(OBJS) $(OBJS:.o=.d)
$(RM) $(OBJS) $(OBJS:.o=.d) $(OBJS:.o=$(DEFAULT_YASMD).d)
$(RM) $(HOSTPROGS)
$(RM) $(TOOLS)
endef
$(eval $(RULES))
-include $(wildcard $(OBJS:.o=.d) $(HOSTOBJS:.o=.d) $(TESTOBJS:.o=.d) $(HOBJS:.o=.d) $(SLIBOBJS:.o=.d))
-include $(wildcard $(OBJS:.o=.d) $(HOSTOBJS:.o=.d) $(TESTOBJS:.o=.d) $(HOBJS:.o=.d) $(SLIBOBJS:.o=.d)) $(OBJS:.o=$(DEFAULT_YASMD).d)

View File

@@ -513,21 +513,21 @@ AVSC_INLINE AVS_Value avs_array_elt(AVS_Value v, int index)
// 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; }
{ AVS_Value v = {0}; 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; }
{ AVS_Value v = {0}; 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; }
{ AVS_Value v = {0}; 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;}
{ AVS_Value v = {0}; 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; }
{ AVS_Value v = {0}; 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; }
{ AVS_Value v = {0}; 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_Value v = {0}; v.type = 'a'; v.d.array = v0; v.array_size = size; return v; }
/////////////////////////////////////////////////////////////////////
//

View File

@@ -52,8 +52,8 @@ namespace avxsynth {
//
// Functions
//
#define MAKEDWORD(a,b,c,d) ((a << 24) | (b << 16) | (c << 8) | (d))
#define MAKEWORD(a,b) ((a << 8) | (b))
#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

View File

@@ -55,35 +55,17 @@ typedef struct pthread_t {
* not mutexes */
typedef CRITICAL_SECTION pthread_mutex_t;
/* This is the CONDITIONAL_VARIABLE typedef for using Window's native
* conditional variables on kernels 6.0+.
* MinGW does not currently have this typedef. */
typedef struct pthread_cond_t {
void *ptr;
} pthread_cond_t;
/* function pointers to conditional variable API on windows 6.0+ kernels */
#if _WIN32_WINNT < 0x0600
static void (WINAPI *cond_broadcast)(pthread_cond_t *cond);
static void (WINAPI *cond_init)(pthread_cond_t *cond);
static void (WINAPI *cond_signal)(pthread_cond_t *cond);
static BOOL (WINAPI *cond_wait)(pthread_cond_t *cond, pthread_mutex_t *mutex,
DWORD milliseconds);
/* This is the CONDITION_VARIABLE typedef for using Windows' native
* conditional variables on kernels 6.0+. */
#if HAVE_CONDITION_VARIABLE_PTR
typedef CONDITION_VARIABLE pthread_cond_t;
#else
#define cond_init InitializeConditionVariable
#define cond_broadcast WakeAllConditionVariable
#define cond_signal WakeConditionVariable
#define cond_wait SleepConditionVariableCS
typedef struct pthread_cond_t {
void *Ptr;
} pthread_cond_t;
#endif
#define CreateEvent(a, reset, init, name) \
CreateEventEx(a, name, \
(reset ? CREATE_EVENT_MANUAL_RESET : 0) | \
(init ? CREATE_EVENT_INITIAL_SET : 0), \
EVENT_ALL_ACCESS)
// CreateSemaphoreExA seems to be desktop-only, but as long as we don't
// use named semaphores, it doesn't matter if we use the W version.
#define CreateSemaphore(a, b, c, d) \
CreateSemaphoreExW(a, b, c, d, 0, SEMAPHORE_ALL_ACCESS)
#if _WIN32_WINNT >= 0x0600
#define InitializeCriticalSection(x) InitializeCriticalSectionEx(x, 0, 0)
#define WaitForSingleObject(a, b) WaitForSingleObjectEx(a, b, FALSE)
#endif
@@ -136,6 +118,36 @@ static inline int pthread_mutex_unlock(pthread_mutex_t *m)
return 0;
}
#if _WIN32_WINNT >= 0x0600
static inline int pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)
{
InitializeConditionVariable(cond);
return 0;
}
/* native condition variables do not destroy */
static inline void pthread_cond_destroy(pthread_cond_t *cond)
{
return;
}
static inline void pthread_cond_broadcast(pthread_cond_t *cond)
{
WakeAllConditionVariable(cond);
}
static inline int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
SleepConditionVariableCS(cond, mutex, INFINITE);
return 0;
}
static inline void pthread_cond_signal(pthread_cond_t *cond)
{
WakeConditionVariable(cond);
}
#else // _WIN32_WINNT < 0x0600
/* for pre-Windows 6.0 platforms we need to define and use our own condition
* variable and api */
typedef struct win32_cond_t {
@@ -147,6 +159,13 @@ typedef struct win32_cond_t {
volatile int is_broadcast;
} win32_cond_t;
/* function pointers to conditional variable API on windows 6.0+ kernels */
static void (WINAPI *cond_broadcast)(pthread_cond_t *cond);
static void (WINAPI *cond_init)(pthread_cond_t *cond);
static void (WINAPI *cond_signal)(pthread_cond_t *cond);
static BOOL (WINAPI *cond_wait)(pthread_cond_t *cond, pthread_mutex_t *mutex,
DWORD milliseconds);
static av_unused int pthread_cond_init(pthread_cond_t *cond, const void *unused_attr)
{
win32_cond_t *win32_cond = NULL;
@@ -159,7 +178,7 @@ static av_unused int pthread_cond_init(pthread_cond_t *cond, const void *unused_
win32_cond = av_mallocz(sizeof(win32_cond_t));
if (!win32_cond)
return ENOMEM;
cond->ptr = win32_cond;
cond->Ptr = win32_cond;
win32_cond->semaphore = CreateSemaphore(NULL, 0, 0x7fffffff, NULL);
if (!win32_cond->semaphore)
return ENOMEM;
@@ -174,7 +193,7 @@ static av_unused int pthread_cond_init(pthread_cond_t *cond, const void *unused_
static av_unused void pthread_cond_destroy(pthread_cond_t *cond)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
/* native condition variables do not destroy */
if (cond_init)
return;
@@ -185,12 +204,12 @@ static av_unused void pthread_cond_destroy(pthread_cond_t *cond)
pthread_mutex_destroy(&win32_cond->mtx_waiter_count);
pthread_mutex_destroy(&win32_cond->mtx_broadcast);
av_freep(&win32_cond);
cond->ptr = NULL;
cond->Ptr = NULL;
}
static av_unused void pthread_cond_broadcast(pthread_cond_t *cond)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
int have_waiter;
if (cond_broadcast) {
@@ -221,7 +240,7 @@ static av_unused void pthread_cond_broadcast(pthread_cond_t *cond)
static av_unused int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
int last_waiter;
if (cond_wait) {
cond_wait(cond, mutex, INFINITE);
@@ -253,7 +272,7 @@ static av_unused int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mu
static av_unused void pthread_cond_signal(pthread_cond_t *cond)
{
win32_cond_t *win32_cond = cond->ptr;
win32_cond_t *win32_cond = cond->Ptr;
int have_waiter;
if (cond_signal) {
cond_signal(cond);
@@ -275,6 +294,7 @@ static av_unused void pthread_cond_signal(pthread_cond_t *cond)
pthread_mutex_unlock(&win32_cond->mtx_broadcast);
}
#endif
static av_unused void w32thread_init(void)
{

382
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -15,15 +15,110 @@ libavutil: 2014-08-09
API changes, most recent first:
-------- 8< --------- FFmpeg 2.6 was cut here -------- 8< ---------
2015-03-04 - cca4476 - lavf 56.25.100
Add avformat_flush()
2015-03-03 - 81a9126 - lavf 56.24.100
Add avio_put_str16be()
2015-02-19 - 560eb71 / 31d2039 - lavc 56.23.100 / 56.13.0
Add width, height, coded_width, coded_height and format to
AVCodecParserContext.
2015-02-19 - e375511 / 5b1d9ce - lavu 54.19.100 / 54.9.0
Add AV_PIX_FMT_QSV for QSV hardware acceleration.
2015-02-14 - ba22295 - lavc 56.21.102
Deprecate VIMA decoder.
2015-01-27 - 62a82c6 / 728685f - lavc 56.21.100 / 56.12.0, lavu 54.18.100 / 54.8.0 - avcodec.h, frame.h
Add AV_PKT_DATA_AUDIO_SERVICE_TYPE and AV_FRAME_DATA_AUDIO_SERVICE_TYPE for
storing the audio service type as side data.
2015-01-16 - a47c933 - lavf 56.19.100 - avformat.h
Add data_codec and data_codec_id for storing codec of data stream
2015-01-11 - 007c33d - lavd 56.4.100 - avdevice.h
Add avdevice_list_input_sources().
Add avdevice_list_output_sinks().
2014-12-25 - d7aaeea / c220a60 - lavc 56.19.100 / 56.10.0 - vdpau.h
Add av_vdpau_get_surface_parameters().
2014-12-25 - ddb9a24 / 6c99c92 - lavc 56.18.100 / 56.9.0 - avcodec.h
Add AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH flag to av_vdpau_bind_context().
2014-12-25 - d16079a / 57b6704 - lavc 56.17.100 / 56.8.0 - avcodec.h
Add AVCodecContext.sw_pix_fmt.
2014-12-04 - 6e9ac02 - lavc 56.14.100 - dv_profile.h
Add av_dv_codec_profile2().
-------- 8< --------- FFmpeg 2.5 was cut here -------- 8< ---------
2014-11-21 - ab922f9 - lavu 54.15.100 - dict.h
Add av_dict_get_string().
2014-11-18 - a54a51c - lavu 54.14.100 - float_dsp.h
Add avpriv_float_dsp_alloc().
2014-11-16 - 6690d4c3 - lavf 56.13.100 - avformat.h
Add AVStream.recommended_encoder_configuration with accessors.
2014-11-16 - bee5844d - lavu 54.13.100 - opt.h
Add av_opt_serialize().
2014-11-16 - eec69332 - lavu 54.12.100 - opt.h
Add av_opt_is_set_to_default().
2014-11-06 - 44fa267 / 5e80fb7 - lavc 56.11.100 / 56.6.0 - vorbis_parser.h
Add a public API for parsing vorbis packets.
2014-10-15 - 17085a0 / 7ea1b34 - lavc 56.7.100 / 56.5.0 - avcodec.h
Replace AVCodecContext.time_base used for decoding
with AVCodecContext.framerate.
2014-10-15 - 51c810e / d565fef1 - lavc 56.6.100 / 56.4.0 - avcodec.h
Add AV_HWACCEL_FLAG_IGNORE_LEVEL flag to av_vdpau_bind_context().
2014-10-13 - da21895 / 2df0c32e - lavc 56.5.100 / 56.3.0 - avcodec.h
Add AVCodecContext.initial_padding. Deprecate the use of AVCodecContext.delay
for audio encoding.
2014-10-08 - bb44f7d / 5a419b2 - lavu 54.10.100 / 54.4.0 - pixdesc.h
Add API to return the name of frame and context color properties.
2014-10-06 - a61899a / e3e158e - lavc 56.3.100 / 56.2.0 - vdpau.h
Add av_vdpau_bind_context(). This function should now be used for creating
(or resetting) a AVVDPAUContext instead of av_vdpau_alloc_context().
2014-10-02 - cdd6f05 - lavc 56.2.100 - avcodec.h
2014-10-02 - cdd6f05 - lavu 54.9.100 - frame.h
Add AV_FRAME_DATA_SKIP_SAMPLES. Add lavc CODEC_FLAG2_SKIP_MANUAL and
AVOption "skip_manual", which makes lavc export skip information via
AV_FRAME_DATA_SKIP_SAMPLES AVFrame side data, instead of skipping and
discarding samples automatically.
2014-10-02 - 0d92b0d - lavu 54.8.100 - avstring.h
Add av_match_list()
2014-09-24 - ac68295 - libpostproc 53.1.100
Add visualization support
2014-09-19 - 6edd6a4 - lavc 56.1.101 - dv_profile.h
deprecate avpriv_dv_frame_profile2(), which was made public by accident.
-------- 8< --------- FFmpeg 2.4 was cut here -------- 8< ---------
2014-08-28 - f30a815 / 9301486 - lavc 56.1.100 / 56.1.0 - avcodec.h
Add AV_PKT_DATA_STEREO3D to export container-level stereo3d information.
2014-08-25 - 215db29 / b263f8f - lavf 56.3.100 / 56.3.0 - avformat.h
Add AVFormatContext.max_ts_probe.
2014-08-28 - f30a815 / 9301486 - lavc 56.1.100 / 56.1.0 - avcodec.h
Add AV_PKT_DATA_STEREO3D to export container-level stereo3d information.
2014-08-23 - 8fc9bd0 - lavu 54.7.100 - dict.h
AV_DICT_DONT_STRDUP_KEY and AV_DICT_DONT_STRDUP_VAL arguments are now
freed even on error. This is consistent with the behaviour all users
@@ -148,7 +243,7 @@ API changes, most recent first:
Increase FF_INPUT_BUFFER_PADDING_SIZE to 32 due to some corner cases needing
it
2014-06-10 - xxxxxxx - lavf 55.43.100 - avformat.h
2014-06-10 - 5482780 - lavf 55.43.100 - avformat.h
New field int64_t max_analyze_duration2 instead of deprecated
int max_analyze_duration.
@@ -172,7 +267,7 @@ API changes, most recent first:
Add strict_std_compliance and related AVOptions to support experimental
muxing.
2014-05-26 - xxxxxxx - lavu 52.87.100 - threadmessage.h
2014-05-26 - 55cc60c - lavu 52.87.100 - threadmessage.h
Add thread message queue API.
2014-05-26 - c37d179 - lavf 55.41.100 - avformat.h
@@ -182,7 +277,7 @@ API changes, most recent first:
Add av_stream_get_side_data() to access stream-level side data
in the same way as av_packet_get_side_data().
2014-05-xx - xxxxxxx - lavu 52.86.100 - fifo.h
2014-05-20 - 7336e39 - lavu 52.86.100 - fifo.h
Add av_fifo_alloc_array() function.
2014-05-19 - ef1d4ee / bddd8cb - lavu 52.85.100 / 53.15.0 - frame.h, display.h
@@ -201,7 +296,7 @@ API changes, most recent first:
Add avcodec_free_context(). From now on it should be used for freeing
AVCodecContext.
2014-05-17 - 0eec06e - lavu 52.84.100 - time.h
2014-05-17 - 0eec06e / 1bd0bdc - lavu 52.84.100 / 54.5.0 - time.h
Add av_gettime_relative() av_gettime_relative_is_monotonic()
2014-05-15 - eacf7d6 / 0c1959b - lavf 55.38.100 / 55.17.0 - avformat.h
@@ -214,10 +309,10 @@ API changes, most recent first:
2014-05-11 - 14aef38 / 66e6c8a - lavu 52.83.100 / 53.14.0 - pixfmt.h
Add AV_PIX_FMT_VDA for new-style VDA acceleration.
2014-05-xx - xxxxxxx - lavu 52.82.0 - fifo.h
2014-05-07 - 351f611 - lavu 52.82.100 - fifo.h
Add av_fifo_freep() function.
2014-05-02 - ba52fb11 - lavu 52.81.0 - opt.h
2014-05-02 - ba52fb11 - lavu 52.81.100 - opt.h
Add av_opt_set_dict2() function.
2014-05-01 - e77b985 / a2941c8 - lavc 55.60.103 / 55.50.3 - avcodec.h
@@ -236,10 +331,14 @@ API changes, most recent first:
Deprecate CODEC_FLAG_INPUT_PRESERVED. Its functionality is replaced by passing
reference-counted frames to encoders.
2014-04-30 - 617e866 - lavu 52.81.100 - pixdesc.h
Add av_find_best_pix_fmt_of_2(), av_get_pix_fmt_loss()
Deprecate avcodec_get_pix_fmt_loss(), avcodec_find_best_pix_fmt_of_2()
2014-04-29 - 1bf6396 - lavc 55.60.100 - avcodec.h
Add AVCodecDescriptor.mime_types field.
2014-04-29 - xxxxxxx - lavu 52.80.0 - hash.h
2014-04-29 - b804eb4 - lavu 52.80.100 - hash.h
Add av_hash_final_bin(), av_hash_final_hex() and av_hash_final_b64().
2014-03-07 - 8b2a130 - lavc 55.50.0 / 55.53.100 - dxva2.h
@@ -251,7 +350,7 @@ API changes, most recent first:
2014-04-17 - a8d01a7 / 0983d48 - lavu 53.12.0 / 52.77.100 - crc.h
Add AV_CRC_16_ANSI_LE crc variant.
2014-04-XX - xxxxxxx - lavf xx.xx.1xx - avformat.h
2014-04-15 - ef818d8 - lavf 55.37.101 - avformat.h
Add av_format_inject_global_side_data()
2014-04-12 - 4f698be - lavu 52.76.100 - log.h
@@ -331,7 +430,7 @@ API changes, most recent first:
2014-02-19 - f4c8d00 / 6bb8720 - lavu 52.64.101 / 53.3.1 - opt.h
Deprecate unused AV_OPT_FLAG_METADATA.
2014-02-xx - xxxxxxx - lavd 55.10.100 - avdevice.h
2014-02-16 - 81c3f81 - lavd 55.10.100 - avdevice.h
Add avdevice_list_devices() and avdevice_free_list_devices()
2014-02-16 - db3c970 - lavf 55.33.100 - avio.h
@@ -372,7 +471,7 @@ API changes, most recent first:
2014-01-19 - 1a193c4 - lavf 55.25.100 - avformat.h
Add avformat_get_mov_video_tags() and avformat_get_mov_audio_tags().
2014-01-19 - xxxxxxx - lavu 52.63.100 - rational.h
2014-01-19 - 3532dd5 - lavu 52.63.100 - rational.h
Add av_make_q() function.
2014-01-05 - 4cf4da9 / 5b4797a - lavu 52.62.100 / 53.2.0 - frame.h
@@ -862,6 +961,9 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
avresample_read() are now uint8_t** instead of void**.
Libavresample is now stable.
2012-09-26 - 3ba0dab7 / 1384df64 - lavf 54.29.101 / 56.06.3 - avformat.h
Add AVFormatContext.avoid_negative_ts.
2012-09-24 - 46a3595 / a42aada - lavc 54.59.100 / 54.28.0 - avcodec.h
Add avcodec_free_frame(). This function must now
be used for freeing an AVFrame.

View File

@@ -31,7 +31,7 @@ PROJECT_NAME = FFmpeg
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER =
PROJECT_NUMBER = 2.6.5
# 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

View File

@@ -46,6 +46,7 @@ DOC_EXAMPLES-$(CONFIG_FILTERING_AUDIO_EXAMPLE) += filtering_audio
DOC_EXAMPLES-$(CONFIG_FILTERING_VIDEO_EXAMPLE) += filtering_video
DOC_EXAMPLES-$(CONFIG_METADATA_EXAMPLE) += metadata
DOC_EXAMPLES-$(CONFIG_MUXING_EXAMPLE) += muxing
DOC_EXAMPLES-$(CONFIG_QSVDEC_EXAMPLE) += qsvdec
DOC_EXAMPLES-$(CONFIG_REMUXING_EXAMPLE) += remuxing
DOC_EXAMPLES-$(CONFIG_RESAMPLING_AUDIO_EXAMPLE) += resampling_audio
DOC_EXAMPLES-$(CONFIG_SCALING_VIDEO_EXAMPLE) += scaling_video
@@ -114,9 +115,9 @@ doc/%-all.pod: doc/%.texi $(SRC_PATH)/doc/texi2pod.pl $(GENTEXI)
doc/%.1 doc/%.3: TAG = MAN
doc/%.1: doc/%.pod $(GENTEXI)
$(M)pod2man --section=1 --center=" " --release=" " $< > $@
$(M)pod2man --section=1 --center=" " --release=" " --date=" " $< > $@
doc/%.3: doc/%.pod $(GENTEXI)
$(M)pod2man --section=3 --center=" " --release=" " $< > $@
$(M)pod2man --section=3 --center=" " --release=" " --date=" " $< > $@
$(DOCS) doc/doxy/html: | doc/
$(DOC_EXAMPLES:%$(EXESUF)=%.o): | doc/examples

View File

@@ -13,7 +13,16 @@ bitstream filter using the option @code{--disable-bsf=BSF}.
The option @code{-bsfs} of the ff* tools will display the list of
all the supported bitstream filters included in your build.
Below is a description of the currently available bitstream filters.
The ff* tools have a -bsf option applied per stream, taking a
comma-separated list of filters, whose parameters follow the filter
name after a '='.
@example
ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] OUTPUT
@end example
Below is a description of the currently available bitstream filters,
with their parameters, if any.
@section aac_adtstoasc
@@ -135,9 +144,16 @@ ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
Damages the contents of packets without damaging the container. Can be
used for fuzzing or testing error resilience/concealment.
Parameters:
A numeral string, whose value is related to how often output bytes will
be modified. Therefore, values below or equal to 0 are forbidden, and
the lower the more frequent bytes will be modified, with 1 meaning
every byte is modified.
@example
ffmpeg -i INPUT -c copy -bsf noise output.mkv
ffmpeg -i INPUT -c copy -bsf noise[=1] output.mkv
@end example
applies the modification to every byte.
@section remove_extra

View File

@@ -7,6 +7,11 @@ V
Disable the default terse mode, the full command issued by make and its
output will be shown on the screen.
DBG
Preprocess x86 external assembler files to a .dbg.asm file in the object
directory, which then gets compiled. Helps developping those assembler
files.
DESTDIR
Destination directory for the install targets, useful to prepare packages
or install FFmpeg in cross-environments.

View File

@@ -7,7 +7,7 @@ all the encoders and decoders. In addition each codec may support
so-called private options, which are specific for a given codec.
Sometimes, a global option may only affect a specific kind of codec,
and may be unsensical or ignored by another, so you need to be aware
and may be nonsensical or ignored by another, so you need to be aware
of the meaning of the specified options. Also some options are
meant only for decoding or encoding.
@@ -71,7 +71,9 @@ Force low delay.
@item global_header
Place global headers in extradata instead of every keyframe.
@item bitexact
Use only bitexact stuff (except (I)DCT).
Only write platform-, build- and time-independent data. (except (I)DCT).
This ensures that file and data checksums are reproducible and match between
platforms. Its primary use is for regression testing.
@item aic
Apply H263 advanced intra coding / mpeg4 ac prediction.
@item cbp
@@ -493,6 +495,8 @@ visualize block types
picture buffer allocations
@item thread_ops
threading operations
@item nomc
skip motion compensation
@end table
@item vismv @var{integer} (@emph{decoding,video})
@@ -861,6 +865,14 @@ Possible values:
@item mpeg2_aac_he
@item mpeg4_sp
@item mpeg4_core
@item mpeg4_main
@item mpeg4_asp
@item dts
@item dts_es
@@ -1114,6 +1126,19 @@ Interlaced video, bottom coded first, top displayed first
Set to 1 to disable processing alpha (transparency). This works like the
@samp{gray} flag in the @option{flags} option which skips chroma information
instead of alpha. Default is 0.
@item codec_whitelist @var{list} (@emph{input})
"," separated List of allowed decoders. By default all are allowed.
@item dump_separator @var{string} (@emph{input})
Separator used to separate the fields printed on the command line about the
Stream parameters.
For example to separate the fields with newlines and indention:
@example
ffprobe -dump_separator "
" -i ~/videos/matrixbench_mpeg2.mpg
@end example
@end table
@c man end CODEC OPTIONS

View File

@@ -190,6 +190,15 @@ The format for this option is a string containing 16 24-bits hexadecimal
numbers (without 0x prefix) separated by comas, for example @code{0d00ee,
ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b}.
@item ifo_palette
Specify the IFO file from which the global palette is obtained.
(experimental)
@item forced_subs_only
Only decode subtitle entries marked as forced. Some titles have forced
and non-forced subtitles in the same track. Setting this flag to @code{1}
will only keep the forced subtitles. Default value is @code{0}.
@end table
@section libzvbi-teletext

View File

@@ -29,6 +29,26 @@ the caller can decide which variant streams to actually receive.
The total bitrate of the variant that the stream belongs to is
available in a metadata key named "variant_bitrate".
@section apng
Animated Portable Network Graphics demuxer.
This demuxer is used to demux APNG files.
All headers, but the PNG signature, up to (but not including) the first
fcTL chunk are transmitted as extradata.
Frames are then split as being all the chunks between two fcTL ones, or
between the last fcTL and IEND chunks.
@table @option
@item -ignore_loop @var{bool}
Ignore the loop variable in the file if set.
@item -max_fps @var{int}
Maximum framerate in frames per second (0 for no limit).
@item -default_fps @var{int}
Default framerate in frames per second when none is specified in the file
(0 meaning as fast as possible).
@end table
@section asf
Advanced Systems Format demuxer.

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Developer Documentation
@titlepage
@@ -647,12 +648,12 @@ accordingly].
@subsection Adding files to the fate-suite dataset
When there is no muxer or encoder available to generate test media for a
specific test then the media has to be inlcuded in the fate-suite.
specific test then the media has to be included in the fate-suite.
First please make sure that the sample file is as small as possible to test the
respective decoder or demuxer sufficiently. Large files increase network
bandwidth and disk space requirements.
Once you have a working fate test and fate sample, provide in the commit
message or introductionary message for the patch series that you post to
message or introductory message for the patch series that you post to
the ffmpeg-devel mailing list, a direct link to download the sample media.

View File

@@ -6,8 +6,16 @@ DOXYGEN="${3}"
shift 3
if [ -e "$SRC_PATH/VERSION" ]; then
VERSION=`cat "$SRC_PATH/VERSION"`
else
VERSION=`cd "$SRC_PATH"; git describe`
fi
$DOXYGEN - <<EOF
@INCLUDE = ${DOXYFILE}
INPUT = $@
EXAMPLE_PATH = ${SRC_PATH}/doc/examples
HTML_TIMESTAMP = NO
PROJECT_NUMBER = $VERSION
EOF

View File

@@ -1745,6 +1745,10 @@ Enable calculation and printing SSIM stats after the encoding.
Enable the use of Periodic Intra Refresh instead of IDR frames when set
to 1.
@item avcintra-class (@emph{class})
Configure the encoder to generate AVC-Intra.
Valid values are 50,100 and 200
@item bluray-compat (@emph{bluray-compat})
Configure the encoder to be compatible with the bluray standard.
It is a shorthand for setting "bluray-compat=1 force-cfr=1".
@@ -1882,6 +1886,34 @@ no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
Encoding ffpresets for common usages are provided so they can be used with the
general presets system (e.g. passing the @option{pre} option).
@section libx265
x265 H.265/HEVC encoder wrapper.
This encoder requires the presence of the libx265 headers and library
during configuration. You need to explicitly configure the build with
@option{--enable-libx265}.
@subsection Options
@table @option
@item preset
Set the x265 preset.
@item tune
Set the x265 tune parameter.
@item x265-params
Set x265 options using a list of @var{key}=@var{value} couples separated
by ":". See @command{x265 --help} for a list of options.
For example to specify libx265 encoding options with @option{-x265-params}:
@example
ffmpeg -i input -c:v libx265 -x265-params crf=26:psy-rd=1 output.mp4
@end example
@end table
@section libxvid
Xvid MPEG-4 Part 2 encoder wrapper.
@@ -2139,7 +2171,7 @@ Use @var{0} to disable alpha plane coding.
@subsection Speed considerations
In the default mode of operation the encoder has to honor frame constraints
(i.e. not produc frames with size bigger than requested) while still making
(i.e. not produce frames with size bigger than requested) while still making
output picture as good as possible.
A frame containing a lot of small details is harder to compress and the encoder
would spend more time searching for appropriate quantizers for each slice.

View File

@@ -29,6 +29,7 @@ OBJS=$(addsuffix .o,$(EXAMPLES))
# the following examples make explicit use of the math library
avcodec: LDLIBS += -lm
decoding_encoding: LDLIBS += -lm
muxing: LDLIBS += -lm
resampling_audio: LDLIBS += -lm

View File

@@ -288,6 +288,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
avpkt.size = fread(inbuf, 1, AUDIO_INBUF_SIZE, f);
while (avpkt.size > 0) {
int i, ch;
int got_frame = 0;
if (!decoded_frame) {
@@ -304,15 +305,15 @@ static void audio_decode_example(const char *outfilename, const char *filename)
}
if (got_frame) {
/* if a frame has been decoded, output it */
int data_size = av_samples_get_buffer_size(NULL, c->channels,
decoded_frame->nb_samples,
c->sample_fmt, 1);
int data_size = av_get_bytes_per_sample(c->sample_fmt);
if (data_size < 0) {
/* This should not occur, checking just for paranoia */
fprintf(stderr, "Failed to calculate data size\n");
exit(1);
}
fwrite(decoded_frame->data[0], 1, data_size, outfile);
for (i=0; i<decoded_frame->nb_samples; i++)
for (ch=0; ch<c->channels; ch++)
fwrite(decoded_frame->data[ch] + data_size*i, 1, data_size, outfile);
}
avpkt.size -= len;
avpkt.data += len;
@@ -650,7 +651,7 @@ int main(int argc, char **argv)
video_encode_example("test.h264", AV_CODEC_ID_H264);
} else if (!strcmp(output_type, "mp2")) {
audio_encode_example("test.mp2");
audio_decode_example("test.sw", "test.mp2");
audio_decode_example("test.pcm", "test.mp2");
} else if (!strcmp(output_type, "mpg")) {
video_encode_example("test.mpg", AV_CODEC_ID_MPEG1VIDEO);
video_decode_example("test%02d.pgm", "test.mpg");

View File

@@ -36,6 +36,8 @@
static AVFormatContext *fmt_ctx = NULL;
static AVCodecContext *video_dec_ctx = NULL, *audio_dec_ctx;
static int width, height;
static enum AVPixelFormat pix_fmt;
static AVStream *video_stream = NULL, *audio_stream = NULL;
static const char *src_filename = NULL;
static const char *video_dst_filename = NULL;
@@ -81,6 +83,22 @@ static int decode_packet(int *got_frame, int cached)
}
if (*got_frame) {
if (frame->width != width || frame->height != height ||
frame->format != pix_fmt) {
/* To handle this change, one could call av_image_alloc again and
* decode the following frames into another rawvideo file. */
fprintf(stderr, "Error: Width, height and pixel format have to be "
"constant in a rawvideo file, but the width, height or "
"pixel format of the input video changed:\n"
"old: width = %d, height = %d, format = %s\n"
"new: width = %d, height = %d, format = %s\n",
width, height, av_get_pix_fmt_name(pix_fmt),
frame->width, frame->height,
av_get_pix_fmt_name(frame->format));
return -1;
}
printf("video_frame%s n:%d coded_n:%d pts:%s\n",
cached ? "(cached)" : "",
video_frame_count++, frame->coded_picture_number,
@@ -90,7 +108,7 @@ static int decode_packet(int *got_frame, int cached)
* this is required since rawvideo expects non aligned data */
av_image_copy(video_dst_data, video_dst_linesize,
(const uint8_t **)(frame->data), frame->linesize,
video_dec_ctx->pix_fmt, video_dec_ctx->width, video_dec_ctx->height);
pix_fmt, width, height);
/* write to rawvideo file */
fwrite(video_dst_data[0], 1, video_dst_bufsize, video_dst_file);
@@ -138,7 +156,7 @@ static int decode_packet(int *got_frame, int cached)
static int open_codec_context(int *stream_idx,
AVFormatContext *fmt_ctx, enum AVMediaType type)
{
int ret;
int ret, stream_index;
AVStream *st;
AVCodecContext *dec_ctx = NULL;
AVCodec *dec = NULL;
@@ -150,8 +168,8 @@ static int open_codec_context(int *stream_idx,
av_get_media_type_string(type), src_filename);
return ret;
} else {
*stream_idx = ret;
st = fmt_ctx->streams[*stream_idx];
stream_index = ret;
st = fmt_ctx->streams[stream_index];
/* find decoder for the stream */
dec_ctx = st->codec;
@@ -170,6 +188,7 @@ static int open_codec_context(int *stream_idx,
av_get_media_type_string(type));
return ret;
}
*stream_idx = stream_index;
}
return 0;
@@ -264,9 +283,11 @@ int main (int argc, char **argv)
}
/* allocate image where the decoded image will be put */
width = video_dec_ctx->width;
height = video_dec_ctx->height;
pix_fmt = video_dec_ctx->pix_fmt;
ret = av_image_alloc(video_dst_data, video_dst_linesize,
video_dec_ctx->width, video_dec_ctx->height,
video_dec_ctx->pix_fmt, 1);
width, height, pix_fmt, 1);
if (ret < 0) {
fprintf(stderr, "Could not allocate raw video buffer\n");
goto end;
@@ -341,7 +362,7 @@ int main (int argc, char **argv)
if (video_stream) {
printf("Play the output video file with the command:\n"
"ffplay -f rawvideo -pix_fmt %s -video_size %dx%d %s\n",
av_get_pix_fmt_name(video_dec_ctx->pix_fmt), video_dec_ctx->width, video_dec_ctx->height,
av_get_pix_fmt_name(pix_fmt), width, height,
video_dst_filename);
}

View File

@@ -145,12 +145,28 @@ static int init_filters(const char *filters_descr)
goto end;
}
/* Endpoints for the filter graph. */
/*
* Set the endpoints for the filter graph. The filter_graph will
* be linked to the graph described by filters_descr.
*/
/*
* The buffer source output must be connected to the input pad of
* the first filter described by filters_descr; since the first
* filter input label is not specified, it is set to "in" by
* default.
*/
outputs->name = av_strdup("in");
outputs->filter_ctx = buffersrc_ctx;
outputs->pad_idx = 0;
outputs->next = NULL;
/*
* The buffer sink input must be connected to the output pad of
* the last filter described by filters_descr; since the last
* filter output label is not specified, it is set to "out" by
* default.
*/
inputs->name = av_strdup("out");
inputs->filter_ctx = buffersink_ctx;
inputs->pad_idx = 0;

View File

@@ -90,6 +90,7 @@ static int init_filters(const char *filters_descr)
AVFilter *buffersink = avfilter_get_by_name("buffersink");
AVFilterInOut *outputs = avfilter_inout_alloc();
AVFilterInOut *inputs = avfilter_inout_alloc();
AVRational time_base = fmt_ctx->streams[video_stream_index]->time_base;
enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE };
filter_graph = avfilter_graph_alloc();
@@ -102,7 +103,7 @@ static int init_filters(const char *filters_descr)
snprintf(args, sizeof(args),
"video_size=%dx%d:pix_fmt=%d:time_base=%d/%d:pixel_aspect=%d/%d",
dec_ctx->width, dec_ctx->height, dec_ctx->pix_fmt,
dec_ctx->time_base.num, dec_ctx->time_base.den,
time_base.num, time_base.den,
dec_ctx->sample_aspect_ratio.num, dec_ctx->sample_aspect_ratio.den);
ret = avfilter_graph_create_filter(&buffersrc_ctx, buffersrc, "in",
@@ -127,12 +128,28 @@ static int init_filters(const char *filters_descr)
goto end;
}
/* Endpoints for the filter graph. */
/*
* Set the endpoints for the filter graph. The filter_graph will
* be linked to the graph described by filters_descr.
*/
/*
* The buffer source output must be connected to the input pad of
* the first filter described by filters_descr; since the first
* filter input label is not specified, it is set to "in" by
* default.
*/
outputs->name = av_strdup("in");
outputs->filter_ctx = buffersrc_ctx;
outputs->pad_idx = 0;
outputs->next = NULL;
/*
* The buffer sink input must be connected to the output pad of
* the last filter described by filters_descr; since the last
* filter output label is not specified, it is set to "out" by
* default.
*/
inputs->name = av_strdup("out");
inputs->filter_ctx = buffersink_ctx;
inputs->pad_idx = 0;

View File

@@ -661,7 +661,7 @@ int main(int argc, char **argv)
if (!(fmt->flags & AVFMT_NOFILE))
/* Close the output file. */
avio_close(oc->pb);
avio_closep(&oc->pb);
/* free the stream */
avformat_free_context(oc);

484
doc/examples/qsvdec.c Normal file
View File

@@ -0,0 +1,484 @@
/*
* Copyright (c) 2015 Anton Khirnov
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @file
* Intel QSV-accelerated H.264 decoding example.
*
* @example qsvdec.c
* This example shows how to do QSV-accelerated H.264 decoding with output
* frames in the VA-API video surfaces.
*/
#include "config.h"
#include <stdio.h>
#include <mfx/mfxvideo.h>
#include <va/va.h>
#include <va/va_x11.h>
#include <X11/Xlib.h>
#include "libavformat/avformat.h"
#include "libavformat/avio.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/qsv.h"
#include "libavutil/error.h"
#include "libavutil/mem.h"
typedef struct DecodeContext {
mfxSession mfx_session;
VADisplay va_dpy;
VASurfaceID *surfaces;
mfxMemId *surface_ids;
int *surface_used;
int nb_surfaces;
mfxFrameInfo frame_info;
} DecodeContext;
static mfxStatus frame_alloc(mfxHDL pthis, mfxFrameAllocRequest *req,
mfxFrameAllocResponse *resp)
{
DecodeContext *decode = pthis;
int err, i;
if (decode->surfaces) {
fprintf(stderr, "Multiple allocation requests.\n");
return MFX_ERR_MEMORY_ALLOC;
}
if (!(req->Type & MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET)) {
fprintf(stderr, "Unsupported surface type: %d\n", req->Type);
return MFX_ERR_UNSUPPORTED;
}
if (req->Info.BitDepthLuma != 8 || req->Info.BitDepthChroma != 8 ||
req->Info.Shift || req->Info.FourCC != MFX_FOURCC_NV12 ||
req->Info.ChromaFormat != MFX_CHROMAFORMAT_YUV420) {
fprintf(stderr, "Unsupported surface properties.\n");
return MFX_ERR_UNSUPPORTED;
}
decode->surfaces = av_malloc_array (req->NumFrameSuggested, sizeof(*decode->surfaces));
decode->surface_ids = av_malloc_array (req->NumFrameSuggested, sizeof(*decode->surface_ids));
decode->surface_used = av_mallocz_array(req->NumFrameSuggested, sizeof(*decode->surface_used));
if (!decode->surfaces || !decode->surface_ids || !decode->surface_used)
goto fail;
err = vaCreateSurfaces(decode->va_dpy, VA_RT_FORMAT_YUV420,
req->Info.Width, req->Info.Height,
decode->surfaces, req->NumFrameSuggested,
NULL, 0);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error allocating VA surfaces\n");
goto fail;
}
decode->nb_surfaces = req->NumFrameSuggested;
for (i = 0; i < decode->nb_surfaces; i++)
decode->surface_ids[i] = &decode->surfaces[i];
resp->mids = decode->surface_ids;
resp->NumFrameActual = decode->nb_surfaces;
decode->frame_info = req->Info;
return MFX_ERR_NONE;
fail:
av_freep(&decode->surfaces);
av_freep(&decode->surface_ids);
av_freep(&decode->surface_used);
return MFX_ERR_MEMORY_ALLOC;
}
static mfxStatus frame_free(mfxHDL pthis, mfxFrameAllocResponse *resp)
{
DecodeContext *decode = pthis;
if (decode->surfaces)
vaDestroySurfaces(decode->va_dpy, decode->surfaces, decode->nb_surfaces);
av_freep(&decode->surfaces);
av_freep(&decode->surface_ids);
av_freep(&decode->surface_used);
decode->nb_surfaces = 0;
return MFX_ERR_NONE;
}
static mfxStatus frame_lock(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr)
{
return MFX_ERR_UNSUPPORTED;
}
static mfxStatus frame_unlock(mfxHDL pthis, mfxMemId mid, mfxFrameData *ptr)
{
return MFX_ERR_UNSUPPORTED;
}
static mfxStatus frame_get_hdl(mfxHDL pthis, mfxMemId mid, mfxHDL *hdl)
{
*hdl = mid;
return MFX_ERR_NONE;
}
static void free_buffer(void *opaque, uint8_t *data)
{
int *used = opaque;
*used = 0;
av_freep(&data);
}
static int get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags)
{
DecodeContext *decode = avctx->opaque;
mfxFrameSurface1 *surf;
AVBufferRef *surf_buf;
int idx;
for (idx = 0; idx < decode->nb_surfaces; idx++) {
if (!decode->surface_used[idx])
break;
}
if (idx == decode->nb_surfaces) {
fprintf(stderr, "No free surfaces\n");
return AVERROR(ENOMEM);
}
surf = av_mallocz(sizeof(*surf));
if (!surf)
return AVERROR(ENOMEM);
surf_buf = av_buffer_create((uint8_t*)surf, sizeof(*surf), free_buffer,
&decode->surface_used[idx], AV_BUFFER_FLAG_READONLY);
if (!surf_buf) {
av_freep(&surf);
return AVERROR(ENOMEM);
}
surf->Info = decode->frame_info;
surf->Data.MemId = &decode->surfaces[idx];
frame->buf[0] = surf_buf;
frame->data[3] = (uint8_t*)surf;
decode->surface_used[idx] = 1;
return 0;
}
static int get_format(AVCodecContext *avctx, const enum AVPixelFormat *pix_fmts)
{
while (*pix_fmts != AV_PIX_FMT_NONE) {
if (*pix_fmts == AV_PIX_FMT_QSV) {
if (!avctx->hwaccel_context) {
DecodeContext *decode = avctx->opaque;
AVQSVContext *qsv = av_qsv_alloc_context();
if (!qsv)
return AV_PIX_FMT_NONE;
qsv->session = decode->mfx_session;
qsv->iopattern = MFX_IOPATTERN_OUT_VIDEO_MEMORY;
avctx->hwaccel_context = qsv;
}
return AV_PIX_FMT_QSV;
}
pix_fmts++;
}
fprintf(stderr, "The QSV pixel format not offered in get_format()\n");
return AV_PIX_FMT_NONE;
}
static int decode_packet(DecodeContext *decode, AVCodecContext *decoder_ctx,
AVFrame *frame, AVPacket *pkt,
AVIOContext *output_ctx)
{
int ret = 0;
int got_frame = 1;
while (pkt->size > 0 || (!pkt->data && got_frame)) {
ret = avcodec_decode_video2(decoder_ctx, frame, &got_frame, pkt);
if (ret < 0) {
fprintf(stderr, "Error during decoding\n");
return ret;
}
pkt->data += ret;
pkt->size -= ret;
/* A real program would do something useful with the decoded frame here.
* We just retrieve the raw data and write it to a file, which is rather
* useless but pedagogic. */
if (got_frame) {
mfxFrameSurface1 *surf = (mfxFrameSurface1*)frame->data[3];
VASurfaceID surface = *(VASurfaceID*)surf->Data.MemId;
VAImageFormat img_fmt = {
.fourcc = VA_FOURCC_NV12,
.byte_order = VA_LSB_FIRST,
.bits_per_pixel = 8,
.depth = 8,
};
VAImage img;
VAStatus err;
uint8_t *data;
int i, j;
img.buf = VA_INVALID_ID;
img.image_id = VA_INVALID_ID;
err = vaCreateImage(decode->va_dpy, &img_fmt,
frame->width, frame->height, &img);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error creating an image: %s\n",
vaErrorStr(err));
ret = AVERROR_UNKNOWN;
goto fail;
}
err = vaGetImage(decode->va_dpy, surface, 0, 0,
frame->width, frame->height,
img.image_id);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error getting an image: %s\n",
vaErrorStr(err));
ret = AVERROR_UNKNOWN;
goto fail;
}
err = vaMapBuffer(decode->va_dpy, img.buf, (void**)&data);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Error mapping the image buffer: %s\n",
vaErrorStr(err));
ret = AVERROR_UNKNOWN;
goto fail;
}
for (i = 0; i < img.num_planes; i++)
for (j = 0; j < (img.height >> (i > 0)); j++)
avio_write(output_ctx, data + img.offsets[i] + j * img.pitches[i], img.width);
fail:
if (img.buf != VA_INVALID_ID)
vaUnmapBuffer(decode->va_dpy, img.buf);
if (img.image_id != VA_INVALID_ID)
vaDestroyImage(decode->va_dpy, img.image_id);
av_frame_unref(frame);
if (ret < 0)
return ret;
}
}
return 0;
}
int main(int argc, char **argv)
{
AVFormatContext *input_ctx = NULL;
AVStream *video_st = NULL;
AVCodecContext *decoder_ctx = NULL;
const AVCodec *decoder;
AVPacket pkt = { 0 };
AVFrame *frame = NULL;
DecodeContext decode = { NULL };
Display *dpy = NULL;
int va_ver_major, va_ver_minor;
mfxIMPL mfx_impl = MFX_IMPL_AUTO_ANY;
mfxVersion mfx_ver = { { 1, 1 } };
mfxFrameAllocator frame_allocator = {
.pthis = &decode,
.Alloc = frame_alloc,
.Lock = frame_lock,
.Unlock = frame_unlock,
.GetHDL = frame_get_hdl,
.Free = frame_free,
};
AVIOContext *output_ctx = NULL;
int ret, i, err;
av_register_all();
if (argc < 3) {
fprintf(stderr, "Usage: %s <input file> <output file>\n", argv[0]);
return 1;
}
/* open the input file */
ret = avformat_open_input(&input_ctx, argv[1], NULL, NULL);
if (ret < 0) {
fprintf(stderr, "Cannot open input file '%s': ", argv[1]);
goto finish;
}
/* find the first H.264 video stream */
for (i = 0; i < input_ctx->nb_streams; i++) {
AVStream *st = input_ctx->streams[i];
if (st->codec->codec_id == AV_CODEC_ID_H264 && !video_st)
video_st = st;
else
st->discard = AVDISCARD_ALL;
}
if (!video_st) {
fprintf(stderr, "No H.264 video stream in the input file\n");
goto finish;
}
/* initialize VA-API */
dpy = XOpenDisplay(NULL);
if (!dpy) {
fprintf(stderr, "Cannot open the X display\n");
goto finish;
}
decode.va_dpy = vaGetDisplay(dpy);
if (!decode.va_dpy) {
fprintf(stderr, "Cannot open the VA display\n");
goto finish;
}
err = vaInitialize(decode.va_dpy, &va_ver_major, &va_ver_minor);
if (err != VA_STATUS_SUCCESS) {
fprintf(stderr, "Cannot initialize VA: %s\n", vaErrorStr(err));
goto finish;
}
fprintf(stderr, "Initialized VA v%d.%d\n", va_ver_major, va_ver_minor);
/* initialize an MFX session */
err = MFXInit(mfx_impl, &mfx_ver, &decode.mfx_session);
if (err != MFX_ERR_NONE) {
fprintf(stderr, "Error initializing an MFX session\n");
goto finish;
}
MFXVideoCORE_SetHandle(decode.mfx_session, MFX_HANDLE_VA_DISPLAY, decode.va_dpy);
MFXVideoCORE_SetFrameAllocator(decode.mfx_session, &frame_allocator);
/* initialize the decoder */
decoder = avcodec_find_decoder_by_name("h264_qsv");
if (!decoder) {
fprintf(stderr, "The QSV decoder is not present in libavcodec\n");
goto finish;
}
decoder_ctx = avcodec_alloc_context3(decoder);
if (!decoder_ctx) {
ret = AVERROR(ENOMEM);
goto finish;
}
decoder_ctx->codec_id = AV_CODEC_ID_H264;
if (video_st->codec->extradata_size) {
decoder_ctx->extradata = av_mallocz(video_st->codec->extradata_size +
FF_INPUT_BUFFER_PADDING_SIZE);
if (!decoder_ctx->extradata) {
ret = AVERROR(ENOMEM);
goto finish;
}
memcpy(decoder_ctx->extradata, video_st->codec->extradata,
video_st->codec->extradata_size);
decoder_ctx->extradata_size = video_st->codec->extradata_size;
}
decoder_ctx->refcounted_frames = 1;
decoder_ctx->opaque = &decode;
decoder_ctx->get_buffer2 = get_buffer;
decoder_ctx->get_format = get_format;
ret = avcodec_open2(decoder_ctx, NULL, NULL);
if (ret < 0) {
fprintf(stderr, "Error opening the decoder: ");
goto finish;
}
/* open the output stream */
ret = avio_open(&output_ctx, argv[2], AVIO_FLAG_WRITE);
if (ret < 0) {
fprintf(stderr, "Error opening the output context: ");
goto finish;
}
frame = av_frame_alloc();
if (!frame) {
ret = AVERROR(ENOMEM);
goto finish;
}
/* actual decoding */
while (ret >= 0) {
ret = av_read_frame(input_ctx, &pkt);
if (ret < 0)
break;
if (pkt.stream_index == video_st->index)
ret = decode_packet(&decode, decoder_ctx, frame, &pkt, output_ctx);
av_packet_unref(&pkt);
}
/* flush the decoder */
pkt.data = NULL;
pkt.size = 0;
ret = decode_packet(&decode, decoder_ctx, frame, &pkt, output_ctx);
finish:
if (ret < 0) {
char buf[1024];
av_strerror(ret, buf, sizeof(buf));
fprintf(stderr, "%s\n", buf);
}
avformat_close_input(&input_ctx);
av_frame_free(&frame);
if (decode.mfx_session)
MFXClose(decode.mfx_session);
if (decode.va_dpy)
vaTerminate(decode.va_dpy);
if (dpy)
XCloseDisplay(dpy);
if (decoder_ctx)
av_freep(&decoder_ctx->hwaccel_context);
avcodec_free_context(&decoder_ctx);
avio_close(output_ctx);
return ret;
}

View File

@@ -153,7 +153,7 @@ end:
/* close output */
if (ofmt_ctx && !(ofmt->flags & AVFMT_NOFILE))
avio_close(ofmt_ctx->pb);
avio_closep(&ofmt_ctx->pb);
avformat_free_context(ofmt_ctx);
if (ret < 0 && ret != AVERROR_EOF) {

View File

@@ -199,8 +199,7 @@ int main(int argc, char **argv)
fmt, dst_ch_layout, dst_nb_channels, dst_rate, dst_filename);
end:
if (dst_file)
fclose(dst_file);
fclose(dst_file);
if (src_data)
av_freep(&src_data[0]);

View File

@@ -132,8 +132,7 @@ int main(int argc, char **argv)
av_get_pix_fmt_name(dst_pix_fmt), dst_w, dst_h, dst_filename);
end:
if (dst_file)
fclose(dst_file);
fclose(dst_file);
av_freep(&src_data[0]);
av_freep(&dst_data[0]);
sws_freeContext(sws_ctx);

View File

@@ -41,11 +41,9 @@
#include "libswresample/swresample.h"
/** The output bit rate in kbit/s */
#define OUTPUT_BIT_RATE 48000
#define OUTPUT_BIT_RATE 96000
/** The number of output channels */
#define OUTPUT_CHANNELS 2
/** The audio sample output format */
#define OUTPUT_SAMPLE_FORMAT AV_SAMPLE_FMT_S16
/**
* Convert an error code into a text message.
@@ -169,7 +167,7 @@ static int open_output_file(const char *filename,
goto cleanup;
}
/** Save the encoder context for easiert access later. */
/** Save the encoder context for easier access later. */
*output_codec_context = stream->codec;
/**
@@ -179,9 +177,16 @@ static int open_output_file(const char *filename,
(*output_codec_context)->channels = OUTPUT_CHANNELS;
(*output_codec_context)->channel_layout = av_get_default_channel_layout(OUTPUT_CHANNELS);
(*output_codec_context)->sample_rate = input_codec_context->sample_rate;
(*output_codec_context)->sample_fmt = AV_SAMPLE_FMT_S16;
(*output_codec_context)->sample_fmt = output_codec->sample_fmts[0];
(*output_codec_context)->bit_rate = OUTPUT_BIT_RATE;
/** Allow the use of the experimental AAC encoder */
(*output_codec_context)->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;
/** Set the sample rate for the container. */
stream->time_base.den = input_codec_context->sample_rate;
stream->time_base.num = 1;
/**
* Some container formats (like MP4) require global headers to be present
* Mark the encoder so that it behaves accordingly.
@@ -199,7 +204,7 @@ static int open_output_file(const char *filename,
return 0;
cleanup:
avio_close((*output_format_context)->pb);
avio_closep(&(*output_format_context)->pb);
avformat_free_context(*output_format_context);
*output_format_context = NULL;
return error < 0 ? error : AVERROR_EXIT;
@@ -271,10 +276,11 @@ static int init_resampler(AVCodecContext *input_codec_context,
}
/** Initialize a FIFO buffer for the audio samples to be encoded. */
static int init_fifo(AVAudioFifo **fifo)
static int init_fifo(AVAudioFifo **fifo, AVCodecContext *output_codec_context)
{
/** Create the FIFO buffer based on the specified output sample format. */
if (!(*fifo = av_audio_fifo_alloc(OUTPUT_SAMPLE_FORMAT, OUTPUT_CHANNELS, 1))) {
if (!(*fifo = av_audio_fifo_alloc(output_codec_context->sample_fmt,
output_codec_context->channels, 1))) {
fprintf(stderr, "Could not allocate FIFO\n");
return AVERROR(ENOMEM);
}
@@ -306,7 +312,7 @@ static int decode_audio_frame(AVFrame *frame,
/** Read one audio frame from the input file into a temporary packet. */
if ((error = av_read_frame(input_format_context, &input_packet)) < 0) {
/** If we are the the end of the file, flush the decoder below. */
/** If we are at the end of the file, flush the decoder below. */
if (error == AVERROR_EOF)
*finished = 1;
else {
@@ -537,6 +543,9 @@ static int init_output_frame(AVFrame **frame,
return 0;
}
/** Global timestamp for the audio frames */
static int64_t pts = 0;
/** Encode one frame worth of audio to the output file. */
static int encode_audio_frame(AVFrame *frame,
AVFormatContext *output_format_context,
@@ -548,6 +557,12 @@ static int encode_audio_frame(AVFrame *frame,
int error;
init_packet(&output_packet);
/** Set a timestamp based on the sample rate for the container. */
if (frame) {
frame->pts = pts;
pts += frame->nb_samples;
}
/**
* Encode the audio frame and store it in the temporary packet.
* The output audio stream encoder is used to do this.
@@ -659,7 +674,7 @@ int main(int argc, char **argv)
&resample_context))
goto cleanup;
/** Initialize the FIFO buffer to store audio samples to be encoded. */
if (init_fifo(&fifo))
if (init_fifo(&fifo, output_codec_context))
goto cleanup;
/** Write the header of the output file container. */
if (write_output_file_header(output_format_context))
@@ -743,7 +758,7 @@ cleanup:
if (output_codec_context)
avcodec_close(output_codec_context);
if (output_format_context) {
avio_close(output_format_context->pb);
avio_closep(&output_format_context->pb);
avformat_free_context(output_format_context);
}
if (input_codec_context)

View File

@@ -116,6 +116,10 @@ static int open_output_file(const char *filename)
|| dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
/* in this example, we choose transcoding to same codec */
encoder = avcodec_find_encoder(dec_ctx->codec_id);
if (!encoder) {
av_log(NULL, AV_LOG_FATAL, "Neccessary encoder not found\n");
return AVERROR_INVALIDDATA;
}
/* In this example, we transcode to same properties (picture size,
* sample rate etc.). These properties can be changed for output
@@ -385,17 +389,9 @@ static int encode_write_frame(AVFrame *filt_frame, unsigned int stream_index, in
/* prepare packet for muxing */
enc_pkt.stream_index = stream_index;
enc_pkt.dts = av_rescale_q_rnd(enc_pkt.dts,
ofmt_ctx->streams[stream_index]->codec->time_base,
ofmt_ctx->streams[stream_index]->time_base,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
enc_pkt.pts = av_rescale_q_rnd(enc_pkt.pts,
ofmt_ctx->streams[stream_index]->codec->time_base,
ofmt_ctx->streams[stream_index]->time_base,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
enc_pkt.duration = av_rescale_q(enc_pkt.duration,
ofmt_ctx->streams[stream_index]->codec->time_base,
ofmt_ctx->streams[stream_index]->time_base);
av_packet_rescale_ts(&enc_pkt,
ofmt_ctx->streams[stream_index]->codec->time_base,
ofmt_ctx->streams[stream_index]->time_base);
av_log(NULL, AV_LOG_DEBUG, "Muxing frame\n");
/* mux encoded frame */
@@ -509,14 +505,9 @@ int main(int argc, char **argv)
ret = AVERROR(ENOMEM);
break;
}
packet.dts = av_rescale_q_rnd(packet.dts,
ifmt_ctx->streams[stream_index]->time_base,
ifmt_ctx->streams[stream_index]->codec->time_base,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
packet.pts = av_rescale_q_rnd(packet.pts,
ifmt_ctx->streams[stream_index]->time_base,
ifmt_ctx->streams[stream_index]->codec->time_base,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
av_packet_rescale_ts(&packet,
ifmt_ctx->streams[stream_index]->time_base,
ifmt_ctx->streams[stream_index]->codec->time_base);
dec_func = (type == AVMEDIA_TYPE_VIDEO) ? avcodec_decode_video2 :
avcodec_decode_audio4;
ret = dec_func(ifmt_ctx->streams[stream_index]->codec, frame,
@@ -538,14 +529,9 @@ int main(int argc, char **argv)
}
} else {
/* remux this frame without reencoding */
packet.dts = av_rescale_q_rnd(packet.dts,
ifmt_ctx->streams[stream_index]->time_base,
ofmt_ctx->streams[stream_index]->time_base,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
packet.pts = av_rescale_q_rnd(packet.pts,
ifmt_ctx->streams[stream_index]->time_base,
ofmt_ctx->streams[stream_index]->time_base,
AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX);
av_packet_rescale_ts(&packet,
ifmt_ctx->streams[stream_index]->time_base,
ofmt_ctx->streams[stream_index]->time_base);
ret = av_interleaved_write_frame(ofmt_ctx, &packet);
if (ret < 0)
@@ -587,7 +573,7 @@ end:
av_free(filter_ctx);
avformat_close_input(&ifmt_ctx);
if (ofmt_ctx && !(ofmt_ctx->oformat->flags & AVFMT_NOFILE))
avio_close(ofmt_ctx->pb);
avio_closep(&ofmt_ctx->pb);
avformat_free_context(ofmt_ctx);
if (ret < 0)

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg FAQ
@titlepage
@@ -90,6 +91,56 @@ To build FFmpeg, you need to install the development package. It is usually
called @file{libfoo-dev} or @file{libfoo-devel}. You can remove it after the
build is finished, but be sure to keep the main package.
@section How do I make @command{pkg-config} find my libraries?
Somewhere along with your libraries, there is a @file{.pc} file (or several)
in a @file{pkgconfig} directory. You need to set environment variables to
point @command{pkg-config} to these files.
If you need to @emph{add} directories to @command{pkg-config}'s search list
(typical use case: library installed separately), add it to
@code{$PKG_CONFIG_PATH}:
@example
export PKG_CONFIG_PATH=/opt/x264/lib/pkgconfig:/opt/opus/lib/pkgconfig
@end example
If you need to @emph{replace} @command{pkg-config}'s search list
(typical use case: cross-compiling), set it in
@code{$PKG_CONFIG_LIBDIR}:
@example
export PKG_CONFIG_LIBDIR=/home/me/cross/usr/lib/pkgconfig:/home/me/cross/usr/local/lib/pkgconfig
@end example
If you need to know the library's internal dependencies (typical use: static
linking), add the @code{--static} option to @command{pkg-config}:
@example
./configure --pkg-config-flags=--static
@end example
@section How do I use @command{pkg-config} when cross-compiling?
The best way is to install @command{pkg-config} in your cross-compilation
environment. It will automatically use the cross-compilation libraries.
You can also use @command{pkg-config} from the host environment by
specifying explicitly @code{--pkg-config=pkg-config} to @command{configure}.
In that case, you must point @command{pkg-config} to the correct directories
using the @code{PKG_CONFIG_LIBDIR}, as explained in the previous entry.
As an intermediate solution, you can place in your cross-compilation
environment a script that calls the host @command{pkg-config} with
@code{PKG_CONFIG_LIBDIR} set. That script can look like that:
@example
#!/bin/sh
PKG_CONFIG_LIBDIR=/path/to/cross/lib/pkgconfig
export PKG_CONFIG_LIBDIR
exec /usr/bin/pkg-config "$@@"
@end example
@chapter Usage
@section ffmpeg does not work; what is wrong?
@@ -298,7 +349,7 @@ FFmpeg has a @url{http://ffmpeg.org/ffmpeg-protocols.html#concat,
@code{concat}} protocol designed specifically for that, with examples in the
documentation.
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow to concatenate
A few multimedia containers (MPEG-1, MPEG-2 PS, DV) allow one to concatenate
video by merely concatenating the files containing them.
Hence you may concatenate your multimedia files by first transcoding them to
@@ -416,6 +467,40 @@ point acceptable for your tastes. The most common options to do that are
@option{-qscale} and @option{-qmax}, but you should peruse the documentation
of the encoder you chose.
@section I have a stretched video, why does scaling does not fix it?
A lot of video codecs and formats can store the @emph{aspect ratio} of the
video: this is the ratio between the width and the height of either the full
image (DAR, display aspect ratio) or individual pixels (SAR, sample aspect
ratio). For example, EGA screens at resolution 640×350 had 4:3 DAR and 35:48
SAR.
Most still image processing work with square pixels, i.e. 1:1 SAR, but a lot
of video standards, especially from the analogic-numeric transition era, use
non-square pixels.
Most processing filters in FFmpeg handle the aspect ratio to avoid
stretching the image: cropping adjusts the DAR to keep the SAR constant,
scaling adjusts the SAR to keep the DAR constant.
If you want to stretch, or “unstretch”, the image, you need to override the
information with the
@url{http://ffmpeg.org/ffmpeg-filters.html#setdar_002c-setsar, @code{setdar or setsar filters}}.
Do not forget to examine carefully the original video to check whether the
stretching comes from the image or from the aspect ratio information.
For example, to fix a badly encoded EGA capture, use the following commands,
either the first one to upscale to square pixels or the second one to set
the correct aspect ratio or the third one to avoid transcoding (may not work
depending on the format / codec / player / phase of the moon):
@example
ffmpeg -i ega_screen.nut -vf scale=640:480,setsar=1 ega_screen_scaled.nut
ffmpeg -i ega_screen.nut -vf setdar=4/3 ega_screen_anamorphic.nut
ffmpeg -i ega_screen.nut -aspect 4/3 -c copy ega_screen_overridden.nut
@end example
@chapter Development
@section Are there examples illustrating how to use the FFmpeg libraries, particularly libavcodec and libavformat?

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Automated Testing Environment
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Bitstream Filters Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Codecs Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Devices Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Filters Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Formats Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Protocols Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Resampler Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Scaler Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle FFmpeg Utilities Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffmpeg Documentation
@titlepage
@@ -360,7 +361,7 @@ ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
@end example
@item -dframes @var{number} (@emph{output})
Set the number of data frames to record. This is an alias for @code{-frames:d}.
Set the number of data frames to output. This is an alias for @code{-frames:d}.
@item -frames[:@var{stream_specifier}] @var{framecount} (@emph{output,per-stream})
Stop writing to the stream after @var{framecount} frames.
@@ -467,7 +468,7 @@ attachments.
@table @option
@item -vframes @var{number} (@emph{output})
Set the number of video frames to record. This is an alias for @code{-frames:v}.
Set the number of video frames to output. This is an alias for @code{-frames:v}.
@item -r[:@var{stream_specifier}] @var{fps} (@emph{input/output,per-stream})
Set frame rate (Hz value, fraction or abbreviation).
@@ -692,7 +693,7 @@ If this option is not specified, the default adapter is used.
@table @option
@item -aframes @var{number} (@emph{output})
Set the number of audio frames to record. This is an alias for @code{-frames:a}.
Set the number of audio frames to output. This is an alias for @code{-frames:a}.
@item -ar[:@var{stream_specifier}] @var{freq} (@emph{input/output,per-stream})
Set the audio sampling frequency. For output streams it is set by
default to the frequency of the corresponding input stream. For input
@@ -994,6 +995,13 @@ 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.
@item -frame_drop_threshold @var{parameter}
Frame drop threshold, which specifies how much behind video frames can
be before they are dropped. In frame rate units, so 1.0 is one frame.
The default is -1.1. One possible usecase is to avoid framedrops in case
of noisy timestamps or to increase frame drop precision in case of exact
timestamps.
@item -async @var{samples_per_second}
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.
@@ -1016,6 +1024,12 @@ processing (e.g. in case the format option @option{avoid_negative_ts}
is enabled) the output timestamps may mismatch with the input
timestamps even when this option is selected.
@item -start_at_zero
When used with @option{copyts}, shift input timestamps so they start at zero.
This means that using e.g. @code{-ss 50} will make output timestamps start at
50 seconds, regardless of what timestamp the input file started at.
@item -copytb @var{mode}
Specify how to set the encoder timebase when stream copying. @var{mode} is an
integer numeric value, and can assume one of the following values:
@@ -1144,6 +1158,12 @@ This option enables or disables accurate seeking in input files with the
transcoding. Use @option{-noaccurate_seek} to disable it, which may be useful
e.g. when copying some streams and transcoding the others.
@item -thread_message_queue @var{size} (@emph{input})
This option sets the maximum number of queued packets when reading from the
file or device. With low latency / high rate live streams, packets may be
discarded if they are not read in a timely manner; raising this value can
avoid it.
@item -override_ffserver (@emph{global})
Overrides the input specifications from @command{ffserver}. Using this
option you can map any input stream to @command{ffserver} and control
@@ -1154,6 +1174,11 @@ requested by @command{ffserver}.
The option is intended for cases where features are needed that cannot be
specified to @command{ffserver} but can be to @command{ffmpeg}.
@item -sdp_file @var{file} (@emph{global})
Print sdp information for an output stream to @var{file}.
This allows dumping sdp information when at least one output isn't an
rtp stream. (Requires at least one of the output formats to be rtp).
@item -discard (@emph{input})
Allows discarding specific streams or frames of streams at the demuxer.
Not all demuxers support this.
@@ -1203,7 +1228,10 @@ awkward to specify on the command line. Lines starting with the hash
('#') character are ignored and are used to provide comments. Check
the @file{presets} directory in the FFmpeg source tree for examples.
Preset files are specified with the @code{vpre}, @code{apre},
There are two types of preset files: ffpreset and avpreset files.
@subsection ffpreset files
ffpreset files are specified with the @code{vpre}, @code{apre},
@code{spre}, and @code{fpre} options. The @code{fpre} option takes the
filename of the preset instead of a preset name as input and can be
used for any kind of codec. For the @code{vpre}, @code{apre}, and
@@ -1228,6 +1256,26 @@ directories, where @var{codec_name} is the name of the codec to which
the preset file options will be applied. For example, if you select
the video codec with @code{-vcodec libvpx} and use @code{-vpre 1080p},
then it will search for the file @file{libvpx-1080p.ffpreset}.
@subsection avpreset files
avpreset files are specified with the @code{pre} option. They work similar to
ffpreset files, but they only allow encoder- specific options. Therefore, an
@var{option}=@var{value} pair specifying an encoder cannot be used.
When the @code{pre} option is specified, ffmpeg will look for files with the
suffix .avpreset in the directories @file{$AVCONV_DATADIR} (if set), and
@file{$HOME/.avconv}, and in the datadir defined at configuration time (usually
@file{PREFIX/share/ffmpeg}), in that order.
First ffmpeg searches for a file named @var{codec_name}-@var{arg}.avpreset in
the above-mentioned directories, where @var{codec_name} is the name of the codec
to which the preset file options will be applied. For example, if you select the
video codec with @code{-vcodec libvpx} and use @code{-pre 1080p}, then it will
search for the file @file{libvpx-1080p.avpreset}.
If no such file is found, then ffmpeg will search for a file named
@var{arg}.avpreset in the same directories.
@c man end OPTIONS
@chapter Tips
@@ -1274,21 +1322,6 @@ quality).
@chapter Examples
@c man begin EXAMPLES
@section Preset files
A preset file contains a sequence of @var{option=value} pairs, one for
each line, specifying a sequence of options which can be specified also on
the command line. Lines starting with the hash ('#') character are ignored and
are used to provide comments. Empty lines are also ignored. Check the
@file{presets} directory in the FFmpeg source tree for examples.
Preset files are specified with the @code{pre} option, this option takes a
preset name as input. FFmpeg searches for a file named @var{preset_name}.avpreset in
the directories @file{$AVCONV_DATADIR} (if set), and @file{$HOME/.ffmpeg}, and in
the data directory defined at configuration time (usually @file{$PREFIX/share/ffmpeg})
in that order. For example, if the argument is @code{libx264-max}, it will
search for the file @file{libx264-max.avpreset}.
@section Video and Audio grabbing
If you specify the input format and device then ffmpeg can grab video

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffplay Documentation
@titlepage
@@ -37,10 +38,14 @@ Force displayed height.
Set frame size (WxH or abbreviation), needed for videos which do
not contain a header with the frame size like raw YUV. This option
has been deprecated in favor of private options, try -video_size.
@item -fs
Start in fullscreen mode.
@item -an
Disable audio.
@item -vn
Disable video.
@item -sn
Disable subtitles.
@item -ss @var{pos}
Seek to a given position in seconds.
@item -t @var{duration}
@@ -109,15 +114,10 @@ duration, the codec parameters, the current position in the stream and
the audio/video synchronisation drift. It is on by default, to
explicitly disable it you need to specify @code{-nostats}.
@item -bug
Work around bugs.
@item -fast
Non-spec-compliant optimizations.
@item -genpts
Generate pts.
@item -rtp_tcp
Force RTP/TCP protocol usage instead of RTP/UDP. It is only meaningful
if you are streaming with the RTSP protocol.
@item -sync @var{type}
Set the master clock to audio (@code{type=audio}), video
(@code{type=video}) or external (@code{type=ext}). Default is audio. The
@@ -125,23 +125,20 @@ master clock is used to control audio-video synchronization. Most media
players use audio as master clock, but in some cases (streaming or high
quality broadcast) it is necessary to change that. This option is mainly
used for debugging purposes.
@item -threads @var{count}
Set the thread count.
@item -ast @var{audio_stream_number}
Select the desired audio stream number, counting from 0. The number
refers to the list of all the input audio streams. If it is greater
than the number of audio streams minus one, then the last one is
selected, if it is negative the audio playback is disabled.
@item -vst @var{video_stream_number}
Select the desired video stream number, counting from 0. The number
refers to the list of all the input video streams. If it is greater
than the number of video streams minus one, then the last one is
selected, if it is negative the video playback is disabled.
@item -sst @var{subtitle_stream_number}
Select the desired subtitle stream number, counting from 0. The number
refers to the list of all the input subtitle streams. If it is greater
than the number of subtitle streams minus one, then the last one is
selected, if it is negative the subtitle rendering is disabled.
@item -ast @var{audio_stream_specifier}
Select the desired audio stream using the given stream specifier. The stream
specifiers are described in the @ref{Stream specifiers} chapter. If this option
is not specified, the "best" audio stream is selected in the program of the
already selected video stream.
@item -vst @var{video_stream_specifier}
Select the desired video stream using the given stream specifier. The stream
specifiers are described in the @ref{Stream specifiers} chapter. If this option
is not specified, the "best" video stream is selected.
@item -sst @var{subtitle_stream_specifier}
Select the desired subtitle stream using the given stream specifier. The stream
specifiers are described in the @ref{Stream specifiers} chapter. If this option
is not specified, the "best" subtitle stream is selected in the program of the
already selected video or audio stream.
@item -autoexit
Exit when video is done playing.
@item -exitonkeydown
@@ -164,8 +161,20 @@ Force a specific video decoder.
Force a specific subtitle decoder.
@item -autorotate
Automatically rotate the video according to presentation metadata. Set by
default, use -noautorotate to disable.
Automatically rotate the video according to presentation metadata. Enabled by
default, use @option{-noautorotate} to disable it.
@item -framedrop
Drop video frames if video is out of sync. Enabled by default if the master
clock is not set to video. Use this option to enable frame dropping for all
master clock sources, use @option{-noframedrop} to disable it.
@item -infbuf
Do not limit the input buffer size, read as much data as possible from the
input as soon as possible. Enabled by default for realtime streams, where data
may be dropped if not read in time. Use this option to enable infinite buffers
for all inputs, use @option{-noinfbuf} to disable it.
@end table
@section While playing

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffprobe Documentation
@titlepage
@@ -321,6 +322,12 @@ Show information related to program and library versions. This is the
equivalent of setting both @option{-show_program_version} and
@option{-show_library_versions} options.
@item -show_pixel_formats
Show information about all pixel formats supported by FFmpeg.
Pixel format information for each format is printed within a section
with name "PIXEL_FORMAT".
@item -bitexact
Force bitexact output, useful to produce output which is not dependent
on the specific build.

View File

@@ -10,8 +10,10 @@
<xsd:sequence>
<xsd:element name="program_version" type="ffprobe:programVersionType" minOccurs="0" maxOccurs="1" />
<xsd:element name="library_versions" type="ffprobe:libraryVersionsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="pixel_formats" type="ffprobe:pixelFormatsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="packets" type="ffprobe:packetsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="frames" type="ffprobe:framesType" minOccurs="0" maxOccurs="1" />
<xsd:element name="packets_and_frames" type="ffprobe:packetsAndFramesType" minOccurs="0" maxOccurs="1" />
<xsd:element name="programs" type="ffprobe:programsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="streams" type="ffprobe:streamsType" minOccurs="0" maxOccurs="1" />
<xsd:element name="chapters" type="ffprobe:chaptersType" minOccurs="0" maxOccurs="1" />
@@ -35,6 +37,16 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="packetsAndFramesType">
<xsd:sequence>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="packet" type="ffprobe:packetType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="frame" type="ffprobe:frameType" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="subtitle" type="ffprobe:subtitleType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="packetType">
<xsd:attribute name="codec_type" type="xsd:string" use="required" />
<xsd:attribute name="stream_index" type="xsd:int" use="required" />
@@ -166,7 +178,11 @@
<xsd:attribute name="level" type="xsd:int"/>
<xsd:attribute name="color_range" type="xsd:string"/>
<xsd:attribute name="color_space" type="xsd:string"/>
<xsd:attribute name="color_transfer" type="xsd:string"/>
<xsd:attribute name="color_primaries" type="xsd:string"/>
<xsd:attribute name="chroma_location" type="xsd:string"/>
<xsd:attribute name="timecode" type="xsd:string"/>
<xsd:attribute name="refs" type="xsd:int"/>
<!-- audio attributes -->
<xsd:attribute name="sample_fmt" type="xsd:string"/>
@@ -238,8 +254,6 @@
<xsd:complexType name="programVersionType">
<xsd:attribute name="version" type="xsd:string" use="required"/>
<xsd:attribute name="copyright" type="xsd:string" use="required"/>
<xsd:attribute name="build_date" type="xsd:string" use="required"/>
<xsd:attribute name="build_time" type="xsd:string" use="required"/>
<xsd:attribute name="compiler_ident" type="xsd:string" use="required"/>
<xsd:attribute name="configuration" type="xsd:string" use="required"/>
</xsd:complexType>
@@ -277,4 +291,45 @@
<xsd:element name="library_version" type="ffprobe:libraryVersionType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="pixelFormatFlagsType">
<xsd:attribute name="big_endian" type="xsd:int" use="required"/>
<xsd:attribute name="palette" type="xsd:int" use="required"/>
<xsd:attribute name="bitstream" type="xsd:int" use="required"/>
<xsd:attribute name="hwaccel" type="xsd:int" use="required"/>
<xsd:attribute name="planar" type="xsd:int" use="required"/>
<xsd:attribute name="rgb" type="xsd:int" use="required"/>
<xsd:attribute name="pseudopal" type="xsd:int" use="required"/>
<xsd:attribute name="alpha" type="xsd:int" use="required"/>
</xsd:complexType>
<xsd:complexType name="pixelFormatComponentType">
<xsd:attribute name="index" type="xsd:int" use="required"/>
<xsd:attribute name="bit_depth" type="xsd:int" use="required"/>
</xsd:complexType>
<xsd:complexType name="pixelFormatComponentsType">
<xsd:sequence>
<xsd:element name="component" type="ffprobe:pixelFormatComponentType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="pixelFormatType">
<xsd:sequence>
<xsd:element name="flags" type="ffprobe:pixelFormatFlagsType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="components" type="ffprobe:pixelFormatComponentsType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="nb_components" type="xsd:int" use="required"/>
<xsd:attribute name="log2_chroma_w" type="xsd:int"/>
<xsd:attribute name="log2_chroma_h" type="xsd:int"/>
<xsd:attribute name="bits_per_pixel" type="xsd:int"/>
</xsd:complexType>
<xsd:complexType name="pixelFormatsType">
<xsd:sequence>
<xsd:element name="pixel_format" type="ffprobe:pixelFormatType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle ffserver Documentation
@titlepage
@@ -71,7 +72,7 @@ the HTTP server (configured through the @option{HTTPPort} option), and
configuration file.
Each feed is associated to a file which is stored on disk. This stored
file is used to allow to send pre-recorded data to a player as fast as
file is used to send pre-recorded data to a player as fast as
possible when new content is added in real-time to the stream.
A "live-stream" or "stream" is a resource published by
@@ -408,6 +409,12 @@ ignored, and the log is written to standard output.
Set no-daemon mode. This option is currently ignored since now
@command{ffserver} will always work in no-daemon mode, and is
deprecated.
@item UseDefaults
@item NoDefaults
Control whether default codec options are used for the all streams or not.
Each stream may overwrite this setting for its own. Default is @var{UseDefaults}.
The lastest occurrence overrides previous if multiple definitions.
@end table
@section Feed section
@@ -571,6 +578,11 @@ deprecated in favor of @option{Metadata}.
@item Metadata @var{key} @var{value}
Set metadata value on the output stream.
@item UseDefaults
@item NoDefaults
Control whether default codec options are used for the stream or not.
Default is @var{UseDefaults} unless disabled globally.
@item NoAudio
@item NoVideo
Suppress audio/video.
@@ -589,8 +601,9 @@ Set sampling frequency for audio. When using low bitrates, you should
lower this frequency to 22050 or 11025. The supported frequencies
depend on the selected audio codec.
@item AVOptionAudio @var{option} @var{value} (@emph{encoding,audio})
Set generic option for audio stream.
@item AVOptionAudio [@var{codec}:]@var{option} @var{value} (@emph{encoding,audio})
Set generic or private option for audio stream.
Private option must be prefixed with codec name or codec must be defined before.
@item AVPresetAudio @var{preset} (@emph{encoding,audio})
Set preset for audio stream.
@@ -667,8 +680,9 @@ Set video @option{qdiff} encoding option.
@item DarkMask @var{float} (@emph{encoding,video})
Set @option{lumi_mask}/@option{dark_mask} encoding options.
@item AVOptionVideo @var{option} @var{value} (@emph{encoding,video})
Set generic option for video stream.
@item AVOptionVideo [@var{codec}:]@var{option} @var{value} (@emph{encoding,video})
Set generic or private option for video stream.
Private option must be prefixed with codec name or codec must be defined before.
@item AVPresetVideo @var{preset} (@emph{encoding,video})
Set preset for video stream.

View File

@@ -103,7 +103,10 @@ Print detailed information about the filter name @var{filter_name}. Use the
Show version.
@item -formats
Show available formats.
Show available formats (including devices).
@item -devices
Show available devices.
@item -codecs
Show all codecs known to libavcodec.
@@ -138,6 +141,22 @@ Show channel names and standard channel layouts.
@item -colors
Show recognized color names.
@item -sources @var{device}[,@var{opt1}=@var{val1}[,@var{opt2}=@var{val2}]...]
Show autodetected sources of the intput device.
Some devices may provide system-dependent source names that cannot be autodetected.
The returned list cannot be assumed to be always complete.
@example
ffmpeg -sources pulse,server=192.168.0.4
@end example
@item -sinks @var{device}[,@var{opt1}=@var{val1}[,@var{opt2}=@var{val2}]...]
Show autodetected sinks of the output device.
Some devices may provide system-dependent sink names that cannot be autodetected.
The returned list cannot be assumed to be always complete.
@example
ffmpeg -sinks pulse,server=192.168.0.4
@end example
@item -loglevel [repeat+]@var{loglevel} | -v [repeat+]@var{loglevel}
Set the logging level used by the library.
Adding "repeat+" indicates that repeated log output should not be compressed
@@ -146,27 +165,27 @@ 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:
@var{loglevel} is a string or a number containing one of the following values:
@table @samp
@item quiet
@item quiet, -8
Show nothing at all; be silent.
@item panic
@item panic, 0
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
@item fatal, 8
Only show fatal errors. These are errors after which the process absolutely
cannot continue after.
@item error
@item error, 16
Show all errors, including ones which can be recovered from.
@item warning
@item warning, 24
Show all warnings and errors. Any message related to possibly
incorrect or unexpected events will be shown.
@item info
@item info, 32
Show informative messages during processing. This is in addition to
warnings and errors. This is the default value.
@item verbose
@item verbose, 40
Same as @code{info}, except more verbose.
@item debug
@item debug, 48
Show everything, including debugging information.
@end table
@@ -185,21 +204,29 @@ directory.
This file can be useful for bug reports.
It also implies @code{-loglevel verbose}.
Setting the environment variable @code{FFREPORT} to any value has the
Setting the environment variable @env{FFREPORT} to any value has the
same effect. If the value is a ':'-separated key=value sequence, these
options will affect the report; options values must be escaped if they
options will affect the report; option values must be escaped if they
contain special characters or the options delimiter ':' (see the
``Quoting and escaping'' section in the ffmpeg-utils manual). The
following option is recognized:
``Quoting and escaping'' section in the ffmpeg-utils manual).
The following options are recognized:
@table @option
@item file
set the file name to use for the report; @code{%p} is expanded to the name
of the program, @code{%t} is expanded to a timestamp, @code{%%} is expanded
to a plain @code{%}
@item level
set the log level
set the log verbosity level using a numerical value (see @code{-loglevel}).
@end table
For example, to output a report to a file named @file{ffreport.log}
using a log level of @code{32} (alias for log level @code{info}):
@example
FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
@end example
Errors in parsing the environment variable are not fatal, and will not
appear in the report.
@@ -234,10 +261,14 @@ Possible flags for this option are:
@item sse4.1
@item sse4.2
@item avx
@item avx2
@item xop
@item fma3
@item fma4
@item 3dnow
@item 3dnowext
@item bmi1
@item bmi2
@item cmov
@end table
@item ARM
@@ -248,6 +279,13 @@ Possible flags for this option are:
@item vfp
@item vfpv3
@item neon
@item setend
@end table
@item AArch64
@table @samp
@item armv8
@item vfp
@item neon
@end table
@item PowerPC
@table @samp
@@ -267,8 +305,41 @@ Possible flags for this option are:
@end table
@item -opencl_bench
Benchmark all available OpenCL devices and show the results. This option
is only available when FFmpeg has been compiled with @code{--enable-opencl}.
This option is used to benchmark all available OpenCL devices and print the
results. This option is only available when FFmpeg has been compiled with
@code{--enable-opencl}.
When FFmpeg is configured with @code{--enable-opencl}, the options for the
global OpenCL context are set via @option{-opencl_options}. See the
"OpenCL Options" section in the ffmpeg-utils manual for the complete list of
supported options. Amongst others, these options include the ability to select
a specific platform and device to run the OpenCL code on. By default, FFmpeg
will run on the first device of the first platform. While the options for the
global OpenCL context provide flexibility to the user in selecting the OpenCL
device of their choice, most users would probably want to select the fastest
OpenCL device for their system.
This option assists the selection of the most efficient configuration by
identifying the appropriate device for the user's system. The built-in
benchmark is run on all the OpenCL devices and the performance is measured for
each device. The devices in the results list are sorted based on their
performance with the fastest device listed first. The user can subsequently
invoke @command{ffmpeg} using the device deemed most appropriate via
@option{-opencl_options} to obtain the best performance for the OpenCL
accelerated code.
Typical usage to use the fastest OpenCL device involve the following steps.
Run the command:
@example
ffmpeg -opencl_bench
@end example
Note down the platform ID (@var{pidx}) and device ID (@var{didx}) of the first
i.e. fastest device in the list.
Select the platform and device using the command:
@example
ffmpeg -opencl_options platform_idx=@var{pidx}:device_idx=@var{didx} ...
@end example
@item -opencl_options options (@emph{global})
Set OpenCL environment options. This option is only available when

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@ Reduce buffering.
@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
stream information. A higher value will enable detecting 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.
@@ -55,6 +55,10 @@ Do not merge side data.
Enable RTP MP4A-LATM payload.
@item nobuffer
Reduce the latency introduced by optional buffering
@item bitexact
Only write platform-, build- and time-independent data.
This ensures that file and data checksums are reproducible and match between
platforms. Its primary use is for regression testing.
@end table
@item seek2any @var{integer} (@emph{input})
@@ -63,7 +67,7 @@ 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
higher value will enable detecting more accurate information, but will
increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
@item cryptokey @var{hexadecimal string} (@emph{input})
@@ -168,6 +172,18 @@ The offset is added by the muxer to the output timestamps.
Specifying a positive offset means that the corresponding streams are
delayed bt the time duration specified in @var{offset}. Default value
is @code{0} (meaning that no offset is applied).
@item format_whitelist @var{list} (@emph{input})
"," separated List of allowed demuxers. By default all are allowed.
@item dump_separator @var{string} (@emph{input})
Separator used to separate the fields printed on the command line about the
Stream parameters.
For example to separate the fields with newlines and indention:
@example
ffprobe -dump_separator "
" -i ~/videos/matrixbench_mpeg2.mpg
@end example
@end table
@c man end FORMAT OPTIONS

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle General Documentation
@titlepage
@@ -108,6 +109,14 @@ 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 OpenH264
FFmpeg can make use of the OpenH264 library for H.264 encoding.
Go to @url{http://www.openh264.org/} and follow the instructions for
installing the library. Then pass @code{--enable-libopenh264} to configure to
enable it.
@section x264
FFmpeg can make use of the x264 library for H.264 encoding.
@@ -143,7 +152,7 @@ by Google as part of the WebRTC project. libilbc is a packaging friendly
copy of the iLBC codec. FFmpeg can make use of the libilbc library for
iLBC encoding and decoding.
Go to @url{https://github.com/dekkers/libilbc} and follow the instructions for
Go to @url{https://github.com/TimothyGu/libilbc} and follow the instructions for
installing the library. Then pass @code{--enable-libilbc} to configure to
enable it.
@@ -243,6 +252,8 @@ library:
@tab Used in the game Cyberia from Interplay.
@item Delphine Software International CIN @tab @tab X
@tab Multimedia format used by Delphine Software games.
@item Digital Speech Standard (DSS) @tab @tab X
@item Canopus HQX @tab @tab X
@item CD+G @tab @tab X
@tab Video format used by CD+G karaoke disks
@item Phantom Cine @tab @tab X
@@ -454,6 +465,7 @@ library:
@item Sony Wave64 (W64) @tab X @tab X
@item SoX native format @tab X @tab X
@item SUN AU format @tab X @tab X
@item SUP raw PGS subtitles @tab @tab X
@item Text files @tab @tab X
@item THP @tab @tab X
@tab Used on the Nintendo GameCube.
@@ -652,7 +664,7 @@ following image formats are supported:
@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
@tab encoding supported through external library libx264 and OpenH264
@item HEVC @tab X @tab X
@tab encoding supported through the external library libx265
@item HNM version 4 @tab @tab X
@@ -888,6 +900,7 @@ following image formats are supported:
@tab decoding supported through external library libcelt
@item Delphine Software International CIN audio @tab @tab X
@tab Codec used in Delphine Software International games.
@item Digital Speech Standard - Standard Play mode (DSS SP) @tab @tab X
@item Discworld II BMV Audio @tab @tab X
@item COOK @tab @tab X
@tab All versions except 5.1 are supported.
@@ -935,8 +948,8 @@ following image formats are supported:
@item Musepack SV8 @tab @tab X
@item Nellymoser Asao @tab X @tab X
@item On2 AVC (Audio for Video Codec) @tab @tab X
@item Opus @tab E @tab E
@tab supported through external library libopus
@item Opus @tab E @tab X
@tab encoding supported through external library libopus
@item PCM A-law @tab X @tab X
@item PCM mu-law @tab X @tab X
@item PCM signed 8-bit planar @tab X @tab X
@@ -1030,6 +1043,7 @@ performance on systems without hardware floating point support).
@item PJS (Phoenix) @tab @tab X @tab @tab X
@item RealText @tab @tab X @tab @tab X
@item SAMI @tab @tab X @tab @tab X
@item Spruce format (STL) @tab @tab X @tab @tab X
@item SSA/ASS @tab X @tab X @tab X @tab X
@item SubRip (SRT) @tab X @tab X @tab X @tab X
@item SubViewer v1 @tab @tab X @tab @tab X

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Using git to develop FFmpeg

View File

@@ -1,7 +1,7 @@
@chapter Input Devices
@c man begin INPUT DEVICES
Input devices are configured elements in FFmpeg which allow to access
Input devices are configured elements in FFmpeg which enable accessing
the data coming from a multimedia device attached to your system.
When you configure your FFmpeg build, all the supported input devices
@@ -58,38 +58,173 @@ AVFoundation input device.
AVFoundation is the currently recommended framework by Apple for streamgrabbing on OSX >= 10.7 as well as on iOS.
The older QTKit framework has been marked deprecated since OSX version 10.7.
The filename passed as input is parsed to contain either a device name or index.
The device index can also be given by using -video_device_index.
A given device index will override any given device name.
If the desired device consists of numbers only, use -video_device_index to identify it.
The default device will be chosen if an empty string or the device name "default" is given.
The available devices can be enumerated by using -list_devices.
The pixel format can be set using -pixel_format.
Available formats:
monob, rgb555be, rgb555le, rgb565be, rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0,
The input filename has to be given in the following syntax:
@example
-i "[[VIDEO]:[AUDIO]]"
@end example
The first entry selects the video input while the latter selects the audio input.
The stream has to be specified by the device name or the device index as shown by the device list.
Alternatively, the video and/or audio input device can be chosen by index using the
@option{
-video_device_index <INDEX>
}
and/or
@option{
-audio_device_index <INDEX>
}
, overriding any
device name or index given in the input filename.
All available devices can be enumerated by using @option{-list_devices true}, listing
all device names and corresponding indices.
There are two device name aliases:
@table @code
@item default
Select the AVFoundation default device of the corresponding type.
@item none
Do not record the corresponding media type.
This is equivalent to specifying an empty device name or index.
@end table
@subsection Options
AVFoundation supports the following options:
@table @option
@item -list_devices <TRUE|FALSE>
If set to true, a list of all available input devices is given showing all
device names and indices.
@item -video_device_index <INDEX>
Specify the video device by its index. Overrides anything given in the input filename.
@item -audio_device_index <INDEX>
Specify the audio device by its index. Overrides anything given in the input filename.
@item -pixel_format <FORMAT>
Request the video device to use a specific pixel format.
If the specified format is not supported, a list of available formats is given
und the first one in this list is used instead. Available pixel formats are:
@code{monob, rgb555be, rgb555le, rgb565be, rgb565le, rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0,
bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16, yuv422p10, yuv444p10,
yuv420p, nv12, yuyv422, gray
yuv420p, nv12, yuyv422, gray}
@end table
@subsection Examples
@itemize
@item
Print the list of AVFoundation supported devices and exit:
@example
ffmpeg -f avfoundation -i "0" out.mpg
$ ffmpeg -f avfoundation -list_devices true -i ""
@end example
@item
Record video from video device 0 and audio from audio device 0 into out.avi:
@example
ffmpeg -f avfoundation -video_device_index 0 -i "" out.mpg
$ ffmpeg -f avfoundation -i "0:0" out.avi
@end example
@item
Record video from video device 2 and audio from audio device 1 into out.avi:
@example
ffmpeg -f avfoundation -pixel_format bgr0 -i "default" out.mpg
$ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi
@end example
@item
Record video from the system default video device using the pixel format bgr0 and do not record any audio into out.avi:
@example
ffmpeg -f avfoundation -list_devices true -i ""
$ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi
@end example
@end itemize
@section bktr
BSD video input device.
@section decklink
The decklink input device provides capture capabilities for Blackmagic
DeckLink devices.
To enable this input device, you need the Blackmagic DeckLink SDK and you
need to configure with the appropriate @code{--extra-cflags}
and @code{--extra-ldflags}.
On Windows, you need to run the IDL files through @command{widl}.
DeckLink is very picky about the formats it supports. Pixel format is
uyvy422 or v210, framerate and video size must be determined for your device with
@command{-list_formats 1}. Audio sample rate is always 48 kHz and the number
of channels can be 2, 8 or 16.
@subsection Options
@table @option
@item list_devices
If set to @option{true}, print a list of devices and exit.
Defaults to @option{false}.
@item list_formats
If set to @option{true}, print a list of supported formats and exit.
Defaults to @option{false}.
@item bm_v210
If set to @samp{1}, video is captured in 10 bit v210 instead
of uyvy422. Not all Blackmagic devices support this option.
@end table
@subsection Examples
@itemize
@item
List input devices:
@example
ffmpeg -f decklink -list_devices 1 -i dummy
@end example
@item
List supported formats:
@example
ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
@end example
@item
Capture video clip at 1080i50 (format 11):
@example
ffmpeg -f decklink -i 'Intensity Pro@@11' -acodec copy -vcodec copy output.avi
@end example
@item
Capture video clip at 1080i50 10 bit:
@example
ffmpeg -bm_v210 1 -f decklink -i 'UltraStudio Mini Recorder@@11' -acodec copy -vcodec copy output.avi
@end example
@item
Capture video clip at 720p50 with 32bit audio:
@example
ffmpeg -bm_audiodepth 32 -f decklink -i 'UltraStudio Mini Recorder@@14' -acodec copy -vcodec copy output.avi
@end example
@item
Capture video clip at 576i50 with 8 audio channels:
@example
ffmpeg -bm_channels 8 -f decklink -i 'UltraStudio Mini Recorder@@3' -acodec copy -vcodec copy output.avi
@end example
@end itemize
@section dshow
Windows DirectShow input device.
@@ -107,7 +242,7 @@ The input name should be in the format:
@end example
where @var{TYPE} can be either @var{audio} or @var{video},
and @var{NAME} is the device's name.
and @var{NAME} is the device's name or alternative name..
@subsection Options
@@ -160,6 +295,61 @@ Setting this value too low can degrade performance.
See also
@url{http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx}
@item video_pin_name
Select video capture pin to use by name or alternative name.
@item audio_pin_name
Select audio capture pin to use by name or alternative name.
@item crossbar_video_input_pin_number
Select video input pin number for crossbar device. This will be
routed to the crossbar device's Video Decoder output pin.
Note that changing this value can affect future invocations
(sets a new default) until system reboot occurs.
@item crossbar_audio_input_pin_number
Select audio input pin number for crossbar device. This will be
routed to the crossbar device's Audio Decoder output pin.
Note that changing this value can affect future invocations
(sets a new default) until system reboot occurs.
@item show_video_device_dialog
If set to @option{true}, before capture starts, popup a display dialog
to the end user, allowing them to change video filter properties
and configurations manually.
Note that for crossbar devices, adjusting values in this dialog
may be needed at times to toggle between PAL (25 fps) and NTSC (29.97)
input frame rates, sizes, interlacing, etc. Changing these values can
enable different scan rates/frame rates and avoiding green bars at
the bottom, flickering scan lines, etc.
Note that with some devices, changing these properties can also affect future
invocations (sets new defaults) until system reboot occurs.
@item show_audio_device_dialog
If set to @option{true}, before capture starts, popup a display dialog
to the end user, allowing them to change audio filter properties
and configurations manually.
@item show_video_crossbar_connection_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify crossbar pin routings, when it opens a video device.
@item show_audio_crossbar_connection_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify crossbar pin routings, when it opens an audio device.
@item show_analog_tv_tuner_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify TV channels and frequencies.
@item show_analog_tv_tuner_audio_dialog
If set to @option{true}, before capture starts, popup a display
dialog to the end user, allowing them to manually
modify TV audio (like mono vs. stereo, Language A,B or C).
@end table
@subsection Examples
@@ -196,6 +386,19 @@ Print the list of supported options in selected device and exit:
$ ffmpeg -list_options true -f dshow -i video="Camera"
@end example
@item
Specify pin names to capture by name or alternative name, specify alternative device name:
@example
$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#@{65e8773d-8f56-11d0-a3b9-00a0c9223196@}\@{ca465100-deb0-4d59-818f-8c477184adf6@}":audio="Microphone"
@end example
@item
Configure a crossbar device, specifying crossbar pins, allow user to adjust video capture properties at startup:
@example
$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA Analog Capture":audio="AVerMedia BDA Analog Capture"
@end example
@end itemize
@section dv1394
@@ -330,7 +533,7 @@ not work and result in undefined behavior.
The values @option{auto}, @option{dv} and @option{hdv} are supported.
@item dvbuffer
Set maxiumum size of buffer for incoming data, in frames. For DV, this
Set maximum size of buffer for incoming data, in frames. For DV, this
is an exact value. For HDV, it is not frame exact, since HDV does
not have a fixed frame size.
@@ -435,6 +638,14 @@ generated by the device.
The first unlabelled output is automatically assigned to the "out0"
label, but all the others need to be specified explicitly.
The suffix "+subcc" can be appended to the output label to create an extra
stream with the closed captions packets attached to that output
(experimental; only for EIA-608 / CEA-708 for now).
The subcc streams are created after all the normal streams, in the order of
the corresponding stream.
For example, if there is "out19+subcc", "out7+subcc" and up to "out42", the
stream #43 is subcc for stream #7 and stream #44 is subcc for stream #19.
If not specified defaults to the filename specified for the input
device.
@@ -481,24 +692,57 @@ Read an audio stream and a video stream and play it back with
ffplay -f lavfi "movie=test.avi[out0];amovie=test.wav[out1]"
@end example
@item
Dump decoded frames to images and closed captions to a file (experimental):
@example
ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rawvideo subcc.bin
@end example
@end itemize
@section libcdio
Audio-CD input device based on cdio.
Audio-CD input device based on libcdio.
To enable this input device during configuration you need libcdio
installed on your system. Requires the configure option
installed on your system. It requires the configure option
@code{--enable-libcdio}.
This device allows playing and grabbing from an Audio-CD.
For example to copy with @command{ffmpeg} the entire Audio-CD in /dev/sr0,
For example to copy with @command{ffmpeg} the entire Audio-CD in @file{/dev/sr0},
you may run the command:
@example
ffmpeg -f libcdio -i /dev/sr0 cd.wav
@end example
@subsection Options
@table @option
@item speed
Set drive reading speed. Default value is 0.
The speed is specified CD-ROM speed units. The speed is set through
the libcdio @code{cdio_cddap_speed_set} function. On many CD-ROM
drives, specifying a value too large will result in using the fastest
speed.
@item paranoia_mode
Set paranoia recovery mode flags. It accepts one of the following values:
@table @samp
@item disable
@item verify
@item overlap
@item neverskip
@item full
@end table
Default value is @samp{disable}.
For more information about the available recovery modes, consult the
paranoia project documentation.
@end table
@section libdc1394
IIDC1394 input device, based on libdc1394 and libraw1394.
@@ -833,8 +1077,12 @@ other filename will be interpreted as device number 0.
X11 video input device.
Depends on X11, Xext, and Xfixes. Requires the configure option
@code{--enable-x11grab}.
To enable this input device during configuration you need libxcb
installed on your system. It will be automatically detected during
configuration.
Alternatively, the configure option @option{--enable-x11grab} exists
for legacy Xlib users.
This device allows one to capture a region of an X11 display.
@@ -852,10 +1100,12 @@ omitted, and defaults to "localhost". The environment variable
area with respect to the top-left border of the X11 screen. They
default to 0.
Check the X11 documentation (e.g. man X) for more detailed information.
Check the X11 documentation (e.g. @command{man X}) for more detailed
information.
Use the @command{dpyinfo} program for getting basic information about the
properties of your X11 display (e.g. grep for "name" or "dimensions").
Use the @command{xdpyinfo} program for getting basic information about
the properties of your X11 display (e.g. grep for "name" or
"dimensions").
For example to grab from @file{:0.0} using @command{ffmpeg}:
@example
@@ -904,6 +1154,10 @@ If @var{show_region} is specified with @code{1}, then the grabbing
region will be indicated on screen. With this option, it is easy to
know what is being grabbed if only a portion of the screen is grabbed.
@item region_border
Set the region border thickness if @option{-show_region 1} is used.
Range is 1 to 128 and default is 3 (XCB-based x11grab only).
For example:
@example
ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
@@ -919,7 +1173,19 @@ Set the video frame size. Default value is @code{vga}.
@item use_shm
Use the MIT-SHM extension for shared memory. Default value is @code{1}.
It may be necessary to disable it for remote displays.
It may be necessary to disable it for remote displays (legacy x11grab
only).
@end table
@subsection @var{grab_x} @var{grab_y} AVOption
The syntax is:
@example
-grab_x @var{x_offset} -grab_y @var{y_offset}
@end example
Set the grabbing region coordinates. They are expressed as offset from the top left
corner of the X11 window. The default value is 0.
@c man end INPUT DEVICES

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavcodec Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavdevice Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavfilter Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavformat Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libavutil Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libswresample Documentation
@titlepage

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Libswscale Documentation
@titlepage

View File

@@ -194,15 +194,19 @@ can not be smaller than one centi second.
Apple HTTP Live Streaming muxer that segments MPEG-TS according to
the HTTP Live Streaming (HLS) specification.
It creates a playlist file and numbered segment files. The output
filename specifies the playlist filename; the segment filenames
receive the same basename as the playlist, a sequential number and
a .ts extension.
It creates a playlist file, and one or more segment files. The output filename
specifies the playlist filename.
By default, the muxer creates a file for each segment produced. These files
have the same name as the playlist, followed by a sequential number and a
.ts extension.
For example, to convert an input file with @command{ffmpeg}:
@example
ffmpeg -i in.nut out.m3u8
@end example
This example will produce the playlist, @file{out.m3u8}, and segment files:
@file{out0.ts}, @file{out1.ts}, @file{out2.ts}, etc.
See also the @ref{segment} muxer, which provides a more generic and
flexible implementation of a segmenter, and can be used to perform HLS
@@ -220,6 +224,11 @@ Set the segment length in seconds. Default value is 2.
Set the maximum number of playlist entries. If set to 0 the list file
will contain all the segments. Default value is 5.
@item hls_ts_options @var{options_list}
Set output format options using a :-separated list of key=value
parameters. Values containing @code{:} special characters must be
escaped.
@item hls_wrap @var{wrap}
Set the number after which the segment filename number (the number
specified in each segment file) wraps. If set to 0 the number will be
@@ -233,6 +242,9 @@ to @var{wrap}.
Start the playlist sequence number from @var{number}. Default value is
0.
@item hls_allow_cache @var{allowcache}
Explicitly set whether the client MAY (1) or MUST NOT (0) cache media segments.
@item hls_base_url @var{baseurl}
Append @var{baseurl} to every entry in the playlist.
Useful to generate playlists with absolute paths.
@@ -241,6 +253,30 @@ Note that the playlist sequence number must be unique for each segment
and it is not to be confused with the segment filename sequence number
which can be cyclic, for example if the @option{wrap} option is
specified.
@item hls_segment_filename @var{filename}
Set the segment filename. Unless hls_flags single_file is set @var{filename}
is used as a string format with the segment number:
@example
ffmpeg in.nut -hls_segment_filename 'file%03d.ts' out.m3u8
@end example
This example will produce the playlist, @file{out.m3u8}, and segment files:
@file{file000.ts}, @file{file001.ts}, @file{file002.ts}, etc.
@item hls_flags single_file
If this flag is set, the muxer will store all segments in a single MPEG-TS
file, and will use byte ranges in the playlist. HLS playlists generated with
this way will have the version number 4.
For example:
@example
ffmpeg -i in.nut -hls_flags single_file out.m3u8
@end example
Will produce the playlist, @file{out.m3u8}, and a single segment file,
@file{out.ts}.
@item hls_flags delete_segments
Segment files removed from the playlist are deleted after a period of time
equal to the duration of the segment plus the duration of the playlist.
@end table
@anchor{ico}
@@ -345,8 +381,7 @@ ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg"
@table @option
@item start_number
Start the sequence from the specified number. Default value is 1. Must
be a non-negative number.
Start the sequence from the specified number. Default value is 0.
@item update
If set to 1, the filename will always be interpreted as just a
@@ -536,7 +571,6 @@ a short portion of the file. With this option set, there is no initial
mdat atom, and the moov atom only describes the tracks but has
a zero duration.
Files written with this option set do not work in QuickTime.
This option is implicitly set when writing ismv (Smooth Streaming) files.
@item -movflags separate_moof
Write a separate moof (movie fragment) atom for each track. Normally,
@@ -557,6 +591,16 @@ and a QuickTime chapter track are written to the file. With this option
set, only the QuickTime chapter track will be written. Nero chapters can
cause failures when the file is reprocessed with certain tagging programs, like
mp3Tag 2.61a and iTunes 11.3, most likely other versions are affected as well.
@item -movflags omit_tfhd_offset
Do not write any absolute base_data_offset in tfhd atoms. This avoids
tying fragments to absolute byte positions in the file/streams.
@item -movflags default_base_moof
Similarly to the omit_tfhd_offset, this flag avoids writing the
absolute base_data_offset field in tfhd atoms, but does so by using
the new default-base-is-moof flag instead. This flag is new from
14496-12:2012. This may make the fragments easier to parse in certain
circumstances (avoiding basing track fragment location calculations
on the implicit end of the previous track fragment).
@end table
@subsection Example
@@ -569,29 +613,38 @@ ffmpeg -re @var{<normal input/transcoding options>} -movflags isml+frag_keyframe
@section mp3
The MP3 muxer writes a raw MP3 stream with an ID3v2 header at the beginning and
optionally an ID3v1 tag at the end. ID3v2.3 and ID3v2.4 are supported, the
@code{id3v2_version} option controls which one is used. Setting
@code{id3v2_version} to 0 will disable the ID3v2 header completely. The legacy
ID3v1 tag is not written by default, but may be enabled with the
@code{write_id3v1} option.
The MP3 muxer writes a raw MP3 stream with the following optional features:
@itemize @bullet
@item
An ID3v2 metadata header at the beginning (enabled by default). Versions 2.3 and
2.4 are supported, the @code{id3v2_version} private option controls which one is
used (3 or 4). Setting @code{id3v2_version} to 0 disables the ID3v2 header
completely.
The muxer may also write a Xing frame at the beginning, which contains the
number of frames in the file. It is useful for computing duration of VBR files.
The Xing frame is written if the output stream is seekable and if the
@code{write_xing} option is set to 1 (the default).
The muxer supports writing ID3v2 attached pictures (APIC frames). The pictures
are supplied to the muxer in form of a video stream with a single packet. There
can be any number of those streams, each will correspond to a single APIC frame.
The stream metadata tags @var{title} and @var{comment} map to APIC
@var{description} and @var{picture type} respectively. See
The muxer supports writing attached pictures (APIC frames) to the ID3v2 header.
The pictures are supplied to the muxer in form of a video stream with a single
packet. There can be any number of those streams, each will correspond to a
single APIC frame. The stream metadata tags @var{title} and @var{comment} map
to APIC @var{description} and @var{picture type} respectively. See
@url{http://id3.org/id3v2.4.0-frames} for allowed picture types.
Note that the APIC frames must be written at the beginning, so the muxer will
buffer the audio frames until it gets all the pictures. It is therefore advised
to provide the pictures as soon as possible to avoid excessive buffering.
@item
A Xing/LAME frame right after the ID3v2 header (if present). It is enabled by
default, but will be written only if the output is seekable. The
@code{write_xing} private option can be used to disable it. The frame contains
various information that may be useful to the decoder, like the audio duration
or encoder delay.
@item
A legacy ID3v1 tag at the end of the file (disabled by default). It may be
enabled with the @code{write_id3v1} private option, but as its capabilities are
very limited, its usage is not recommended.
@end itemize
Examples:
Write an mp3 with an ID3v2.3 header and an ID3v1 footer:
@@ -636,6 +689,9 @@ Set the transport_stream_id (default 0x0001). This identifies a
transponder in DVB.
@item -mpegts_service_id @var{number}
Set the service_id (default 0x0001) also known as program in DVB.
@item -mpegts_service_type @var{number}
Set the program service_type (default @var{digital_tv}), see below
a list of pre defined values.
@item -mpegts_pmt_start_pid @var{number}
Set the first PID for PMT (default 0x1000, max 0x1f00).
@item -mpegts_start_pid @var{number}
@@ -670,6 +726,27 @@ ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp://1.1.1.1:1111
@end example
@end table
Option mpegts_service_type accepts the following values:
@table @option
@item hex_value
Any hexdecimal value between 0x01 to 0xff as defined in ETSI 300 468.
@item digital_tv
Digital TV service.
@item digital_radio
Digital Radio service.
@item teletext
Teletext service.
@item advanced_codec_digital_radio
Advanced Codec Digital Radio service.
@item mpeg2_digital_hdtv
MPEG2 Digital HDTV service.
@item advanced_codec_digital_sdtv
Advanced Codec Digital SDTV service.
@item advanced_codec_digital_hdtv
Advanced Codec Digital HDTV service.
@end table
Option mpegts_flags may take a set of such flags:
@table @option
@@ -727,7 +804,7 @@ Change the syncpoint usage in nut:
sensitive and seeking is not possible. Also in general the overhead from
syncpoints is negligible. Note, -@code{write_index} 0 can be used to disable
all growing data tables, allowing to mux endless streams with limited memory
and wihout these disadvantages.
and without these disadvantages.
@item @var{timestamped} extend the syncpoint with a wallclock field.
@end table
The @var{none} and @var{timestamped} flags are experimental.
@@ -752,6 +829,11 @@ 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.
@item -serial_offset @var{value}
Serial value from which to set the streams serial number.
Setting it to different and sufficiently large values ensures that the produced
ogg files can be safely chained.
@end table
@anchor{segment}
@@ -760,8 +842,9 @@ overhead.
Basic stream segmenter.
This muxer outputs streams to a number of separate files of nearly
fixed duration. Output filename pattern can be set in a fashion similar to
@ref{image2}.
fixed duration. Output filename pattern can be set in a fashion
similar to @ref{image2}, or by using a @code{strftime} template if
the @option{strftime} option is enabled.
@code{stream_segment} is a variant of the muxer used to write to
streaming output formats, i.e. which do not require global headers,
@@ -941,6 +1024,12 @@ Wrap around segment index once it reaches @var{limit}.
@item segment_start_number @var{number}
Set the sequence number of the first segment. Defaults to @code{0}.
@item strftime @var{1|0}
Use the @code{strftime} function to define the name of the new
segments to write. If this is selected, the output segment name must
contain a @code{strftime} function template. Default value is
@code{0}.
@item reset_timestamps @var{1|0}
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

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle NUT

View File

@@ -191,6 +191,11 @@ __asm__() block.
Use external asm (nasm/yasm) or inline asm (__asm__()), do not use intrinsics.
The latter requires a good optimizing compiler which gcc is not.
When debugging a x86 external asm compilation issue, if lost in the macro
expansions, add DBG=1 to your make command-line: the input file will be
preprocessed, stripped of the debug/empty lines, then compiled, showing the
actual lines causing issues.
Inline asm vs. external asm
---------------------------
Both inline asm (__asm__("..") in a .c file, handled by a compiler such as gcc)

View File

@@ -1,4 +1,5 @@
\input texinfo @c -*- texinfo -*-
@documentencoding UTF-8
@settitle Platform Specific Information
@titlepage
@@ -96,9 +97,9 @@ the FFmpeg Windows Help Forum at @url{http://ffmpeg.zeranoe.com/forum/}.
@section Native Windows compilation using MinGW or MinGW-w64
FFmpeg can be built to run natively on Windows using the MinGW or MinGW-w64
toolchains. Install the latest versions of MSYS and MinGW or MinGW-w64 from
@url{http://www.mingw.org/} or @url{http://mingw-w64.sourceforge.net/}.
FFmpeg can be built to run natively on Windows using the MinGW-w64
toolchain. Install the latest versions of MSYS2 and MinGW-w64 from
@url{http://msys2.github.io/} and/or @url{http://mingw-w64.sourceforge.net/}.
You can find detailed installation instructions in the download section and
the FAQ.
@@ -106,7 +107,7 @@ Notes:
@itemize
@item Building natively using MSYS can be sped up by disabling implicit rules
@item Building natively using MSYS2 can be sped up by disabling implicit rules
in the Makefile by calling @code{make -r} instead of plain @code{make}. This
speed up is close to non-existent for normal one-off builds and is only
noticeable when running make for a second time (for example during
@@ -133,13 +134,12 @@ You will need the following prerequisites:
(if using MSVC 2012 or earlier)
@item @uref{http://code.google.com/p/msinttypes/, msinttypes}
(if using MSVC 2012 or earlier)
@item @uref{http://www.mingw.org/, MSYS}
@item @uref{http://msys2.github.io/, MSYS2}
@item @uref{http://yasm.tortall.net/, YASM}
@item @uref{http://gnuwin32.sourceforge.net/packages/bc.htm, bc for Windows} if
you want to run @uref{fate.html, FATE}.
(Also available via MSYS2's package manager.)
@end itemize
To set up a proper environment in MSYS, you need to run @code{msys.bat} from
To set up a proper environment in MSYS2, you need to run @code{msys_shell.bat} from
the Visual Studio or Intel Compiler command prompt.
Place @code{yasm.exe} somewhere in your @code{PATH}. If using MSVC 2012 or
@@ -283,7 +283,7 @@ binutils, gcc4-core, make, git, mingw-runtime, texinfo
In order to run FATE you will also need the following "Utils" packages:
@example
bc, diffutils
diffutils
@end example
If you want to build FFmpeg with additional libraries, download Cygwin

View File

@@ -26,6 +26,10 @@
#include <string.h>
#include <float.h>
// print_options is build for the host, os_support.h isn't needed and is setup
// for the target. without this build breaks on mingw
#define AVFORMAT_OS_SUPPORT_H
#include "libavformat/avformat.h"
#include "libavformat/options_table.h"
#include "libavcodec/avcodec.h"

View File

@@ -63,7 +63,7 @@ cache:@var{URL}
Physical concatenation protocol.
Allow to read and seek from many resource in sequence as if they were
Read and seek from many resources in sequence as if they were
a unique resource.
A URL accepted by this protocol has the syntax:
@@ -117,7 +117,7 @@ ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP/////////////
File access protocol.
Allow to read from or write to a file.
Read from or write to a file.
A file URL can have the form:
@example
@@ -155,7 +155,7 @@ time, which is valuable for files on slow medium.
FTP (File Transfer Protocol).
Allow to read from or write to remote resources using FTP protocol.
Read from or write to remote resources using FTP protocol.
Following syntax is required.
@example
@@ -374,7 +374,7 @@ be seekable, so they will fail with the MD5 output protocol.
UNIX pipe access protocol.
Allow to read and write from UNIX pipes.
Read and write from UNIX pipes.
The accepted syntax is:
@example
@@ -614,7 +614,7 @@ For more information see: @url{http://www.samba.org/}.
Secure File Transfer Protocol via libssh
Allow to read from or write to remote resources using SFTP protocol.
Read from or write to remote resources using SFTP protocol.
Following syntax is required.
@@ -750,7 +750,7 @@ port will be used for the local RTP and RTCP ports.
@item
If @option{localrtcpport} (the local RTCP port) is not set it will be
set to the the local RTP port value plus 1.
set to the local RTP port value plus 1.
@end enumerate
@section rtsp
@@ -1081,8 +1081,8 @@ Set raise error timeout, expressed in microseconds.
This option is only relevant in read mode: if no data arrived in more
than this time interval, raise error.
@item listen_timeout=@var{microseconds}
Set listen timeout, expressed in microseconds.
@item listen_timeout=@var{milliseconds}
Set listen timeout, expressed in milliseconds.
@end table
The following example shows how to setup a listening TCP connection

View File

@@ -14,17 +14,117 @@
# 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.
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# You should have received a copy of the GNU General Public
# License along with FFmpeg; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
# no navigation elements
set_from_init_file('HEADERS', 0);
# TOC and Chapter headings link
set_from_init_file('TOC_LINKS', 1);
sub ffmpeg_heading_command($$$$$)
{
my $self = shift;
my $cmdname = shift;
my $command = shift;
my $args = shift;
my $content = shift;
my $result = '';
# not clear that it may really happen
if ($self->in_string) {
$result .= $self->command_string($command) ."\n" if ($cmdname ne 'node');
$result .= $content if (defined($content));
return $result;
}
my $element_id = $self->command_id($command);
$result .= "<a name=\"$element_id\"></a>\n"
if (defined($element_id) and $element_id ne '');
print STDERR "Process $command "
.Texinfo::Structuring::_print_root_command_texi($command)."\n"
if ($self->get_conf('DEBUG'));
my $element;
if ($Texinfo::Common::root_commands{$command->{'cmdname'}}
and $command->{'parent'}
and $command->{'parent'}->{'type'}
and $command->{'parent'}->{'type'} eq 'element') {
$element = $command->{'parent'};
}
if ($element) {
$result .= &{$self->{'format_element_header'}}($self, $cmdname,
$command, $element);
}
my $heading_level;
# node is used as heading if there is nothing else.
if ($cmdname eq 'node') {
if (!$element or (!$element->{'extra'}->{'section'}
and $element->{'extra'}->{'node'}
and $element->{'extra'}->{'node'} eq $command
# bogus node may not have been normalized
and defined($command->{'extra'}->{'normalized'}))) {
if ($command->{'extra'}->{'normalized'} eq 'Top') {
$heading_level = 0;
} else {
$heading_level = 3;
}
}
} else {
$heading_level = $command->{'level'};
}
my $heading = $self->command_text($command);
# $heading not defined may happen if the command is a @node, for example
# if there is an error in the node.
if (defined($heading) and $heading ne '' and defined($heading_level)) {
if ($Texinfo::Common::root_commands{$cmdname}
and $Texinfo::Common::sectioning_commands{$cmdname}) {
my $content_href = $self->command_contents_href($command, 'contents',
$self->{'current_filename'});
if ($content_href) {
my $this_href = $content_href =~ s/^\#toc-/\#/r;
$heading .= '<span class="pull-right">'.
'<a class="anchor hidden-xs" '.
"href=\"$this_href\" aria-hidden=\"true\">".
($ENV{"FA_ICONS"} ? '<i class="fa fa-link"></i>'
: '#').
'</a> '.
'<a class="anchor hidden-xs"'.
"href=\"$content_href\" aria-hidden=\"true\">".
($ENV{"FA_ICONS"} ? '<i class="fa fa-navicon"></i>'
: 'TOC').
'</a>'.
'</span>';
}
}
if ($self->in_preformatted()) {
$result .= $heading."\n";
} else {
# if the level was changed, set the command name right
if ($cmdname ne 'node'
and $heading_level ne $Texinfo::Common::command_structuring_level{$cmdname}) {
$cmdname
= $Texinfo::Common::level_to_structuring_command{$cmdname}->[$heading_level];
}
$result .= &{$self->{'format_heading_text'}}(
$self, $cmdname, $heading,
$heading_level +
$self->get_conf('CHAPTER_HEADER_LEVEL') - 1, $command);
}
}
$result .= $content if (defined($content));
return $result;
}
foreach my $command (keys(%Texinfo::Common::sectioning_commands), 'node') {
texinfo_register_command_formatting($command, \&ffmpeg_heading_command);
}
# print the TOC where @contents is used
set_from_init_file('INLINE_CONTENTS', 1);
@@ -69,6 +169,7 @@ EOT
my $head2 = $ENV{"FFMPEG_HEADER2"} || <<EOT;
</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.min.css">
</head>
@@ -85,6 +186,23 @@ EOT
}
texinfo_register_formatting_function('begin_file', \&ffmpeg_begin_file);
sub ffmpeg_program_string($)
{
my $self = shift;
if (defined($self->get_conf('PROGRAM'))
and $self->get_conf('PROGRAM') ne ''
and defined($self->get_conf('PACKAGE_URL'))) {
return $self->convert_tree(
$self->gdt('This document was generated using @uref{{program_homepage}, @emph{{program}}}.',
{ 'program_homepage' => $self->get_conf('PACKAGE_URL'),
'program' => $self->get_conf('PROGRAM') }));
} else {
return $self->convert_tree(
$self->gdt('This document was generated automatically.'));
}
}
texinfo_register_formatting_function('program_string', \&ffmpeg_program_string);
# Customized file ending
sub ffmpeg_end_file($)
{

View File

@@ -844,7 +844,7 @@ Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise.
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
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.
@@ -912,7 +912,7 @@ Compute the square root of @var{expr}. This is equivalent to
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
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.

View File

@@ -16,16 +16,15 @@ outputs the modified frame. The most simple way of doing this is to take a
similar filter. We'll pick edgedetect, but any other should do. You can look
for others using the `./ffmpeg -v 0 -filters|grep ' V->V '` command.
- cp libavfilter/vf_{edgedetect,foobar}.c
- sed -i s/edgedetect/foobar/g -i libavfilter/vf_foobar.c
- sed -i s/EdgeDetect/Foobar/g -i libavfilter/vf_foobar.c
- sed 's/edgedetect/foobar/g;s/EdgeDetect/Foobar/g' libavfilter/vf_edgedetect.c > libavfilter/vf_foobar.c
- edit libavfilter/Makefile, and add an entry for "foobar" following the
pattern of the other filters.
- edit libavfilter/allfilters.c, and add an entry for "foobar" following the
pattern of the other filters.
- ./configure ...
- make -j<whatever> ffmpeg
- ./ffmpeg -i tests/lena.pnm -vf foobar foobar.png
- ./ffmpeg -i http://samples.ffmpeg.org/image-samples/lena.pnm -vf foobar foobar.png
Note here: you can obviously use a random local image instead of a remote URL.
If everything went right, you should get a foobar.png with Lena edge-detected.

422
ffmpeg.c
View File

@@ -62,8 +62,6 @@
#include "libavutil/threadmessage.h"
#include "libavformat/os_support.h"
#include "libavformat/ffm.h" // not public API
# include "libavfilter/avcodec.h"
# include "libavfilter/avfilter.h"
# include "libavfilter/buffersrc.h"
@@ -155,8 +153,9 @@ static struct termios oldtty;
static int restore_tty;
#endif
#if HAVE_PTHREADS
static void free_input_threads(void);
#endif
/* sub2video hack:
Convert subtitles to video with alpha to insert them in filter graphs.
@@ -352,7 +351,6 @@ void term_init(void)
signal(SIGQUIT, sigterm_handler); /* Quit (POSIX). */
}
#endif
avformat_network_deinit();
signal(SIGINT , sigterm_handler); /* Interrupt (ANSI). */
signal(SIGTERM, sigterm_handler); /* Termination (ANSI). */
@@ -457,9 +455,12 @@ static void ffmpeg_cleanup(int ret)
/* close files */
for (i = 0; i < nb_output_files; i++) {
OutputFile *of = output_files[i];
AVFormatContext *s = of->ctx;
if (s && s->oformat && !(s->oformat->flags & AVFMT_NOFILE) && s->pb)
avio_close(s->pb);
AVFormatContext *s;
if (!of)
continue;
s = of->ctx;
if (s && s->oformat && !(s->oformat->flags & AVFMT_NOFILE))
avio_closep(&s->pb);
avformat_free_context(s);
av_dict_free(&of->opts);
@@ -467,7 +468,12 @@ static void ffmpeg_cleanup(int ret)
}
for (i = 0; i < nb_output_streams; i++) {
OutputStream *ost = output_streams[i];
AVBitStreamFilterContext *bsfc = ost->bitstream_filters;
AVBitStreamFilterContext *bsfc;
if (!ost)
continue;
bsfc = ost->bitstream_filters;
while (bsfc) {
AVBitStreamFilterContext *next = bsfc->next;
av_bitstream_filter_close(bsfc);
@@ -475,6 +481,7 @@ static void ffmpeg_cleanup(int ret)
}
ost->bitstream_filters = NULL;
av_frame_free(&ost->filtered_frame);
av_frame_free(&ost->last_frame);
av_parser_close(ost->parser);
@@ -515,7 +522,7 @@ static void ffmpeg_cleanup(int ret)
if (vstats_file)
fclose(vstats_file);
av_free(vstats_filename);
av_freep(&vstats_filename);
av_freep(&input_streams);
av_freep(&input_files);
@@ -622,7 +629,11 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
while (bsfc) {
AVPacket new_pkt = *pkt;
int a = av_bitstream_filter_filter(bsfc, avctx, NULL,
AVDictionaryEntry *bsf_arg = av_dict_get(ost->bsf_args,
bsfc->filter->name,
NULL, 0);
int a = av_bitstream_filter_filter(bsfc, avctx,
bsf_arg ? bsf_arg->value : NULL,
&new_pkt.data, &new_pkt.size,
pkt->data, pkt->size,
pkt->flags & AV_PKT_FLAG_KEY);
@@ -646,6 +657,7 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
if (!new_pkt.buf)
exit_program(1);
} else if (a < 0) {
new_pkt = *pkt;
av_log(NULL, AV_LOG_ERROR, "Failed to open bitstream filter %s for stream %d with codec %s",
bsfc->filter->name, pkt->stream_index,
avctx->codec ? avctx->codec->name : "copy");
@@ -659,6 +671,17 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
}
if (!(s->oformat->flags & AVFMT_NOTIMESTAMPS)) {
if (pkt->dts != AV_NOPTS_VALUE &&
pkt->pts != AV_NOPTS_VALUE &&
pkt->dts > pkt->pts) {
av_log(s, AV_LOG_WARNING, "Invalid DTS: %"PRId64" PTS: %"PRId64" in output stream %d:%d, replacing by guess\n",
pkt->dts, pkt->pts,
ost->file_index, ost->st->index);
pkt->pts =
pkt->dts = pkt->pts + pkt->dts + ost->last_mux_dts + 1
- FFMIN3(pkt->pts, pkt->dts, ost->last_mux_dts + 1)
- FFMAX3(pkt->pts, pkt->dts, ost->last_mux_dts + 1);
}
if(
(avctx->codec_type == AVMEDIA_TYPE_AUDIO || avctx->codec_type == AVMEDIA_TYPE_VIDEO) &&
pkt->dts != AV_NOPTS_VALUE &&
@@ -681,15 +704,6 @@ static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)
pkt->dts = max;
}
}
if (pkt->dts != AV_NOPTS_VALUE &&
pkt->pts != AV_NOPTS_VALUE &&
pkt->dts > pkt->pts) {
av_log(s, AV_LOG_WARNING, "Invalid DTS: %"PRId64" PTS: %"PRId64" in output stream %d:%d\n",
pkt->dts, pkt->pts,
ost->file_index, ost->st->index);
pkt->pts = AV_NOPTS_VALUE;
pkt->dts = AV_NOPTS_VALUE;
}
}
ost->last_mux_dts = pkt->dts;
@@ -812,6 +826,10 @@ static void do_subtitle_out(AVFormatContext *s,
if (!subtitle_out) {
subtitle_out = av_malloc(subtitle_out_max_size);
if (!subtitle_out) {
av_log(NULL, AV_LOG_FATAL, "Failed to allocate subtitle_out\n");
exit_program(1);
}
}
/* Note: DVB subtitle need one packet to draw them and one other
@@ -872,28 +890,43 @@ static void do_subtitle_out(AVFormatContext *s,
static void do_video_out(AVFormatContext *s,
OutputStream *ost,
AVFrame *in_picture)
AVFrame *next_picture,
double sync_ipts)
{
int ret, format_video_sync;
AVPacket pkt;
AVCodecContext *enc = ost->enc_ctx;
AVCodecContext *mux_enc = ost->st->codec;
int nb_frames, i;
double sync_ipts, delta;
int nb_frames, nb0_frames, i;
double delta, delta0;
double duration = 0;
int frame_size = 0;
InputStream *ist = NULL;
AVFilterContext *filter = ost->filter->filter;
if (ost->source_index >= 0)
ist = input_streams[ost->source_index];
if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->st->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num)
duration = 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base));
if (filter->inputs[0]->frame_rate.num > 0 &&
filter->inputs[0]->frame_rate.den > 0)
duration = 1/(av_q2d(filter->inputs[0]->frame_rate) * av_q2d(enc->time_base));
sync_ipts = in_picture->pts;
delta = sync_ipts - ost->sync_opts + duration;
if(ist && ist->st->start_time != AV_NOPTS_VALUE && ist->st->first_dts != AV_NOPTS_VALUE && ost->frame_rate.num)
duration = FFMIN(duration, 1/(av_q2d(ost->frame_rate) * av_q2d(enc->time_base)));
if (!ost->filters_script &&
!ost->filters &&
next_picture &&
ist &&
lrintf(av_frame_get_pkt_duration(next_picture) * av_q2d(ist->st->time_base) / av_q2d(enc->time_base)) > 0) {
duration = lrintf(av_frame_get_pkt_duration(next_picture) * av_q2d(ist->st->time_base) / av_q2d(enc->time_base));
}
delta0 = sync_ipts - ost->sync_opts;
delta = delta0 + duration;
/* by default, we output a single frame */
nb0_frames = 0;
nb_frames = 1;
format_video_sync = video_sync_method;
@@ -913,19 +946,39 @@ static void do_video_out(AVFormatContext *s,
}
}
if (delta0 < 0 &&
delta > 0 &&
format_video_sync != VSYNC_PASSTHROUGH &&
format_video_sync != VSYNC_DROP) {
double cor = FFMIN(-delta0, duration);
if (delta0 < -0.6) {
av_log(NULL, AV_LOG_WARNING, "Past duration %f too large\n", -delta0);
} else
av_log(NULL, AV_LOG_DEBUG, "Cliping frame in rate conversion by %f\n", -delta0);
sync_ipts += cor;
duration -= cor;
delta0 += cor;
}
switch (format_video_sync) {
case VSYNC_VSCFR:
if (ost->frame_number == 0 && delta - duration >= 0.5) {
av_log(NULL, AV_LOG_DEBUG, "Not duplicating %d initial frames\n", (int)lrintf(delta - duration));
delta = duration;
delta0 = 0;
ost->sync_opts = lrint(sync_ipts);
}
case VSYNC_CFR:
// FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c
if (delta < -1.1)
if (frame_drop_threshold && delta < frame_drop_threshold && ost->frame_number) {
nb_frames = 0;
else if (delta > 1.1)
} else if (delta < -1.1)
nb_frames = 0;
else if (delta > 1.1) {
nb_frames = lrintf(delta);
if (delta0 > 1.1)
nb0_frames = lrintf(delta0 - 0.6);
}
break;
case VSYNC_VFR:
if (delta <= -0.6)
@@ -942,28 +995,36 @@ static void do_video_out(AVFormatContext *s,
}
nb_frames = FFMIN(nb_frames, ost->max_frames - ost->frame_number);
if (nb_frames == 0) {
nb0_frames = FFMIN(nb0_frames, nb_frames);
if (nb0_frames == 0 && ost->last_droped) {
nb_frames_drop++;
av_log(NULL, AV_LOG_VERBOSE,
"*** dropping frame %d from stream %d at ts %"PRId64"\n",
ost->frame_number, ost->st->index, in_picture->pts);
return;
} else if (nb_frames > 1) {
ost->frame_number, ost->st->index, ost->last_frame->pts);
}
if (nb_frames > (nb0_frames && ost->last_droped) + (nb_frames > nb0_frames)) {
if (nb_frames > dts_error_threshold * 30) {
av_log(NULL, AV_LOG_ERROR, "%d frame duplication too large, skipping\n", nb_frames - 1);
nb_frames_drop++;
return;
}
nb_frames_dup += nb_frames - 1;
nb_frames_dup += nb_frames - (nb0_frames && ost->last_droped) - (nb_frames > nb0_frames);
av_log(NULL, AV_LOG_VERBOSE, "*** %d dup!\n", nb_frames - 1);
}
ost->last_droped = nb_frames == nb0_frames;
/* duplicates frame if needed */
for (i = 0; i < nb_frames; i++) {
AVFrame *in_picture;
av_init_packet(&pkt);
pkt.data = NULL;
pkt.size = 0;
if (i < nb0_frames && ost->last_frame) {
in_picture = ost->last_frame;
} else
in_picture = next_picture;
in_picture->pts = ost->sync_opts;
#if 1
@@ -978,10 +1039,8 @@ static void do_video_out(AVFormatContext *s,
/* raw pictures are written as AVPicture structure to
avoid any copies. We support temporarily the older
method. */
mux_enc->coded_frame->interlaced_frame = in_picture->interlaced_frame;
mux_enc->coded_frame->top_field_first = in_picture->top_field_first;
if (mux_enc->coded_frame->interlaced_frame)
mux_enc->field_order = mux_enc->coded_frame->top_field_first ? AV_FIELD_TB:AV_FIELD_BT;
if (in_picture->interlaced_frame)
mux_enc->field_order = in_picture->top_field_first ? AV_FIELD_TB:AV_FIELD_BT;
else
mux_enc->field_order = AV_FIELD_PROGRESSIVE;
pkt.data = (uint8_t *)in_picture;
@@ -1007,8 +1066,7 @@ static void do_video_out(AVFormatContext *s,
mux_enc->field_order = AV_FIELD_PROGRESSIVE;
in_picture->quality = enc->global_quality;
if (!enc->me_threshold)
in_picture->pict_type = 0;
in_picture->pict_type = 0;
pts_time = in_picture->pts != AV_NOPTS_VALUE ?
in_picture->pts * av_q2d(enc->time_base) : NAN;
@@ -1102,6 +1160,14 @@ static void do_video_out(AVFormatContext *s,
if (vstats_filename && frame_size)
do_video_stats(ost, frame_size);
}
if (!ost->last_frame)
ost->last_frame = av_frame_alloc();
av_frame_unref(ost->last_frame);
if (next_picture && ost->last_frame)
av_frame_ref(ost->last_frame, next_picture);
else
av_frame_free(&ost->last_frame);
}
static double psnr(double d)
@@ -1127,8 +1193,8 @@ static void do_video_stats(OutputStream *ost, int frame_size)
enc = ost->enc_ctx;
if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
frame_number = ost->st->nb_frames;
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame->quality / (float)FF_QP2LAMBDA);
if (enc->flags&CODEC_FLAG_PSNR)
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number, enc->coded_frame ? enc->coded_frame->quality / (float)FF_QP2LAMBDA : 0);
if (enc->coded_frame && (enc->flags&CODEC_FLAG_PSNR))
fprintf(vstats_file, "PSNR= %6.2f ", psnr(enc->coded_frame->error[0] / (enc->width * enc->height * 255.0 * 255.0)));
fprintf(vstats_file,"f_size= %6d ", frame_size);
@@ -1141,7 +1207,7 @@ static void do_video_stats(OutputStream *ost, int frame_size)
avg_bitrate = (double)(ost->data_size * 8) / ti1 / 1000.0;
fprintf(vstats_file, "s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s ",
(double)ost->data_size / 1024, ti1, bitrate, avg_bitrate);
fprintf(vstats_file, "type= %c\n", av_get_picture_type_char(enc->coded_frame->pict_type));
fprintf(vstats_file, "type= %c\n", enc->coded_frame ? av_get_picture_type_char(enc->coded_frame->pict_type) : 'I');
}
}
@@ -1168,7 +1234,6 @@ static int reap_filters(void)
{
AVFrame *filtered_frame = NULL;
int i;
int64_t frame_pts;
/* Reap all buffers present in the buffer sinks */
for (i = 0; i < nb_output_streams; i++) {
@@ -1188,6 +1253,7 @@ static int reap_filters(void)
filtered_frame = ost->filtered_frame;
while (1) {
double float_pts = AV_NOPTS_VALUE; // this is identical to filtered_frame.pts but with higher precision
ret = av_buffersink_get_frame_flags(filter, filtered_frame,
AV_BUFFERSINK_FLAG_NO_REQUEST);
if (ret < 0) {
@@ -1201,10 +1267,20 @@ static int reap_filters(void)
av_frame_unref(filtered_frame);
continue;
}
frame_pts = AV_NOPTS_VALUE;
if (filtered_frame->pts != AV_NOPTS_VALUE) {
int64_t start_time = (of->start_time == AV_NOPTS_VALUE) ? 0 : of->start_time;
filtered_frame->pts = frame_pts =
AVRational tb = enc->time_base;
int extra_bits = av_clip(29 - av_log2(tb.den), 0, 16);
tb.den <<= extra_bits;
float_pts =
av_rescale_q(filtered_frame->pts, filter->inputs[0]->time_base, tb) -
av_rescale_q(start_time, AV_TIME_BASE_Q, tb);
float_pts /= 1 << extra_bits;
// avoid exact midoints to reduce the chance of rounding differences, this can be removed in case the fps code is changed to work with integers
float_pts += FFSIGN(float_pts) * 1.0 / (1<<17);
filtered_frame->pts =
av_rescale_q(filtered_frame->pts, filter->inputs[0]->time_base, enc->time_base) -
av_rescale_q(start_time, AV_TIME_BASE_Q, enc->time_base);
}
@@ -1213,20 +1289,19 @@ static int reap_filters(void)
switch (filter->inputs[0]->type) {
case AVMEDIA_TYPE_VIDEO:
filtered_frame->pts = frame_pts;
if (!ost->frame_aspect_ratio.num)
enc->sample_aspect_ratio = filtered_frame->sample_aspect_ratio;
if (debug_ts) {
av_log(NULL, AV_LOG_INFO, "filter -> pts:%s pts_time:%s time_base:%d/%d\n",
av_log(NULL, AV_LOG_INFO, "filter -> pts:%s pts_time:%s exact:%f time_base:%d/%d\n",
av_ts2str(filtered_frame->pts), av_ts2timestr(filtered_frame->pts, &enc->time_base),
float_pts,
enc->time_base.num, enc->time_base.den);
}
do_video_out(of->ctx, ost, filtered_frame);
do_video_out(of->ctx, ost, filtered_frame, float_pts);
break;
case AVMEDIA_TYPE_AUDIO:
filtered_frame->pts = frame_pts;
if (!(enc->codec->capabilities & CODEC_CAP_PARAM_CHANGE) &&
enc->channels != av_frame_get_channels(filtered_frame)) {
av_log(NULL, AV_LOG_ERROR,
@@ -1270,7 +1345,6 @@ static void print_final_stats(int64_t total_size)
if (data_size && total_size>0 && total_size >= data_size)
percent = 100.0 * (total_size - data_size) / data_size;
av_log(NULL, AV_LOG_INFO, "\n");
av_log(NULL, AV_LOG_INFO, "video:%1.0fkB audio:%1.0fkB subtitle:%1.0fkB other streams:%1.0fkB global headers:%1.0fkB muxing overhead: ",
video_size / 1024.0,
audio_size / 1024.0,
@@ -1461,10 +1535,12 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
if (av_stream_get_end_pts(ost->st) != AV_NOPTS_VALUE)
pts = FFMAX(pts, av_rescale_q(av_stream_get_end_pts(ost->st),
ost->st->time_base, AV_TIME_BASE_Q));
if (is_last_report)
nb_frames_drop += ost->last_droped;
}
secs = pts / AV_TIME_BASE;
us = pts % AV_TIME_BASE;
secs = FFABS(pts) / AV_TIME_BASE;
us = FFABS(pts) % AV_TIME_BASE;
mins = secs / 60;
secs %= 60;
hours = mins / 60;
@@ -1476,13 +1552,20 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
"size=N/A time=");
else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"size=%8.0fkB time=", total_size / 1024.0);
if (pts < 0)
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "-");
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"%02d:%02d:%02d.%02d ", hours, mins, secs,
(100 * us) / AV_TIME_BASE);
if (bitrate < 0) snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"bitrate=N/A");
else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"bitrate=%6.1fkbits/s", bitrate);
if (bitrate < 0) {
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),"bitrate=N/A");
av_bprintf(&buf_script, "bitrate=N/A\n");
}else{
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),"bitrate=%6.1fkbits/s", bitrate);
av_bprintf(&buf_script, "bitrate=%6.1fkbits/s\n", bitrate);
}
if (total_size < 0) av_bprintf(&buf_script, "total_size=N/A\n");
else av_bprintf(&buf_script, "total_size=%"PRId64"\n", total_size);
av_bprintf(&buf_script, "out_time_ms=%"PRId64"\n", pts);
@@ -1496,10 +1579,11 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
av_bprintf(&buf_script, "drop_frames=%d\n", nb_frames_drop);
if (print_stats || is_last_report) {
const char end = is_last_report ? '\n' : '\r';
if (print_stats==1 && AV_LOG_INFO > av_log_get_level()) {
fprintf(stderr, "%s \r", buf);
fprintf(stderr, "%s %c", buf, end);
} else
av_log(NULL, AV_LOG_INFO, "%s \r", buf);
av_log(NULL, AV_LOG_INFO, "%s %c", buf, end);
fflush(stderr);
}
@@ -1512,8 +1596,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
avio_flush(progress_avio);
av_bprint_finalize(&buf_script, NULL);
if (is_last_report) {
avio_close(progress_avio);
progress_avio = NULL;
avio_closep(&progress_avio);
}
}
@@ -1684,17 +1767,21 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
opkt.duration = av_rescale_q(pkt->duration, ist->st->time_base, ost->st->time_base);
opkt.flags = pkt->flags;
// FIXME remove the following 2 lines they shall be replaced by the bitstream filters
if ( ost->enc_ctx->codec_id != AV_CODEC_ID_H264
&& ost->enc_ctx->codec_id != AV_CODEC_ID_MPEG1VIDEO
&& ost->enc_ctx->codec_id != AV_CODEC_ID_MPEG2VIDEO
&& ost->enc_ctx->codec_id != AV_CODEC_ID_VC1
if ( ost->st->codec->codec_id != AV_CODEC_ID_H264
&& ost->st->codec->codec_id != AV_CODEC_ID_MPEG1VIDEO
&& ost->st->codec->codec_id != AV_CODEC_ID_MPEG2VIDEO
&& ost->st->codec->codec_id != AV_CODEC_ID_VC1
) {
if (av_parser_change(ost->parser, ost->st->codec,
int ret = av_parser_change(ost->parser, ost->st->codec,
&opkt.data, &opkt.size,
pkt->data, pkt->size,
pkt->flags & AV_PKT_FLAG_KEY)) {
pkt->flags & AV_PKT_FLAG_KEY);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL, "av_parser_change failed\n");
exit_program(1);
}
if (ret) {
opkt.buf = av_buffer_create(opkt.data, opkt.size, av_buffer_default_free, NULL, 0);
if (!opkt.buf)
exit_program(1);
@@ -1705,9 +1792,15 @@ static void do_streamcopy(InputStream *ist, OutputStream *ost, const AVPacket *p
}
av_copy_packet_side_data(&opkt, pkt);
if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && (of->ctx->oformat->flags & AVFMT_RAWPICTURE)) {
if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&
ost->st->codec->codec_id == AV_CODEC_ID_RAWVIDEO &&
(of->ctx->oformat->flags & AVFMT_RAWPICTURE)) {
/* store AVPicture in AVPacket, as expected by the output format */
avpicture_fill(&pict, opkt.data, ost->st->codec->pix_fmt, ost->st->codec->width, ost->st->codec->height);
int ret = avpicture_fill(&pict, opkt.data, ost->st->codec->pix_fmt, ost->st->codec->width, ost->st->codec->height);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL, "avpicture_fill failed\n");
exit_program(1);
}
opkt.data = (uint8_t *)&pict;
opkt.size = sizeof(AVPicture);
opkt.flags |= AV_PKT_FLAG_KEY;
@@ -1758,9 +1851,12 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
ret = AVERROR_INVALIDDATA;
}
if (*got_output || ret<0 || pkt->size)
if (*got_output || ret<0)
decode_error_stat[ret<0] ++;
if (ret < 0 && exit_on_error)
exit_program(1);
if (!*got_output || ret < 0) {
if (!pkt->size) {
for (i = 0; i < ist->nb_filters; i++)
@@ -1903,9 +1999,26 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output)
);
}
if (*got_output || ret<0 || pkt->size)
if (*got_output || ret<0)
decode_error_stat[ret<0] ++;
if (ret < 0 && exit_on_error)
exit_program(1);
if (*got_output && ret >= 0) {
if (ist->dec_ctx->width != decoded_frame->width ||
ist->dec_ctx->height != decoded_frame->height ||
ist->dec_ctx->pix_fmt != decoded_frame->format) {
av_log(NULL, AV_LOG_DEBUG, "Frame parameters mismatch context %d,%d,%d != %d,%d,%d\n",
decoded_frame->width,
decoded_frame->height,
decoded_frame->format,
ist->dec_ctx->width,
ist->dec_ctx->height,
ist->dec_ctx->pix_fmt);
}
}
if (!*got_output || ret < 0) {
if (!pkt->size) {
for (i = 0; i < ist->nb_filters; i++)
@@ -2007,9 +2120,12 @@ static int transcode_subtitles(InputStream *ist, AVPacket *pkt, int *got_output)
int i, ret = avcodec_decode_subtitle2(ist->dec_ctx,
&subtitle, got_output, pkt);
if (*got_output || ret<0 || pkt->size)
if (*got_output || ret<0)
decode_error_stat[ret<0] ++;
if (ret < 0 && exit_on_error)
exit_program(1);
if (ret < 0 || !*got_output) {
if (!pkt->size)
sub2video_flush(ist);
@@ -2122,11 +2238,11 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt)
ret = decode_video (ist, &avpkt, &got_output);
if (avpkt.duration) {
duration = av_rescale_q(avpkt.duration, ist->st->time_base, AV_TIME_BASE_Q);
} else if(ist->dec_ctx->time_base.num != 0 && ist->dec_ctx->time_base.den != 0) {
} else if(ist->dec_ctx->framerate.num != 0 && ist->dec_ctx->framerate.den != 0) {
int ticks= av_stream_get_parser(ist->st) ? av_stream_get_parser(ist->st)->repeat_pict+1 : ist->dec_ctx->ticks_per_frame;
duration = ((int64_t)AV_TIME_BASE *
ist->dec_ctx->time_base.num * ticks) /
ist->dec_ctx->time_base.den;
ist->dec_ctx->framerate.den * ticks) /
ist->dec_ctx->framerate.num / ist->dec_ctx->ticks_per_frame;
} else
duration = 0;
@@ -2181,11 +2297,11 @@ static int process_input_packet(InputStream *ist, const AVPacket *pkt)
ist->next_dts = av_rescale_q(next_dts + 1, av_inv_q(ist->framerate), time_base_q);
} else if (pkt->duration) {
ist->next_dts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);
} else if(ist->dec_ctx->time_base.num != 0) {
} else if(ist->dec_ctx->framerate.num != 0) {
int ticks= av_stream_get_parser(ist->st) ? av_stream_get_parser(ist->st)->repeat_pict + 1 : ist->dec_ctx->ticks_per_frame;
ist->next_dts += ((int64_t)AV_TIME_BASE *
ist->dec_ctx->time_base.num * ticks) /
ist->dec_ctx->time_base.den;
ist->dec_ctx->framerate.den * ticks) /
ist->dec_ctx->framerate.num / ist->dec_ctx->ticks_per_frame;
}
break;
}
@@ -2208,16 +2324,38 @@ static void print_sdp(void)
{
char sdp[16384];
int i;
int j;
AVIOContext *sdp_pb;
AVFormatContext **avc = av_malloc_array(nb_output_files, sizeof(*avc));
if (!avc)
exit_program(1);
for (i = 0; i < nb_output_files; i++)
avc[i] = output_files[i]->ctx;
for (i = 0, j = 0; i < nb_output_files; i++) {
if (!strcmp(output_files[i]->ctx->oformat->name, "rtp")) {
avc[j] = output_files[i]->ctx;
j++;
}
}
av_sdp_create(avc, nb_output_files, sdp, sizeof(sdp));
printf("SDP:\n%s\n", sdp);
fflush(stdout);
if (!j)
goto fail;
av_sdp_create(avc, j, sdp, sizeof(sdp));
if (!sdp_filename) {
printf("SDP:\n%s\n", sdp);
fflush(stdout);
} else {
if (avio_open2(&sdp_pb, sdp_filename, AVIO_FLAG_WRITE, &int_cb, NULL) < 0) {
av_log(NULL, AV_LOG_ERROR, "Failed to open sdp file '%s'\n", sdp_filename);
} else {
avio_printf(sdp_pb, "SDP:\n%s", sdp);
avio_closep(&sdp_pb);
av_freep(&sdp_filename);
}
}
fail:
av_freep(&avc);
}
@@ -2463,7 +2601,7 @@ static int transcode_init(void)
AVFormatContext *oc;
OutputStream *ost;
InputStream *ist;
char error[1024];
char error[1024] = {0};
int want_sdp = 1;
for (i = 0; i < nb_filtergraphs; i++) {
@@ -2562,11 +2700,13 @@ static int transcode_init(void)
enc_ctx->rc_max_rate = dec_ctx->rc_max_rate;
enc_ctx->rc_buffer_size = dec_ctx->rc_buffer_size;
enc_ctx->field_order = dec_ctx->field_order;
enc_ctx->extradata = av_mallocz(extra_size);
if (!enc_ctx->extradata) {
return AVERROR(ENOMEM);
if (dec_ctx->extradata_size) {
enc_ctx->extradata = av_mallocz(extra_size);
if (!enc_ctx->extradata) {
return AVERROR(ENOMEM);
}
memcpy(enc_ctx->extradata, dec_ctx->extradata, dec_ctx->extradata_size);
}
memcpy(enc_ctx->extradata, dec_ctx->extradata, dec_ctx->extradata_size);
enc_ctx->extradata_size= dec_ctx->extradata_size;
enc_ctx->bits_per_coded_sample = dec_ctx->bits_per_coded_sample;
@@ -2621,6 +2761,26 @@ static int transcode_init(void)
av_reduce(&enc_ctx->time_base.num, &enc_ctx->time_base.den,
enc_ctx->time_base.num, enc_ctx->time_base.den, INT_MAX);
if (ist->st->nb_side_data) {
ost->st->side_data = av_realloc_array(NULL, ist->st->nb_side_data,
sizeof(*ist->st->side_data));
if (!ost->st->side_data)
return AVERROR(ENOMEM);
for (j = 0; j < ist->st->nb_side_data; j++) {
const AVPacketSideData *sd_src = &ist->st->side_data[j];
AVPacketSideData *sd_dst = &ost->st->side_data[j];
sd_dst->data = av_malloc(sd_src->size);
if (!sd_dst->data)
return AVERROR(ENOMEM);
memcpy(sd_dst->data, sd_src->data, sd_src->size);
sd_dst->size = sd_src->size;
sd_dst->type = sd_src->type;
ost->st->nb_side_data++;
}
}
ost->parser = av_parser_init(enc_ctx->codec_id);
switch (enc_ctx->codec_type) {
@@ -2635,7 +2795,10 @@ static int transcode_init(void)
enc_ctx->frame_size = dec_ctx->frame_size;
enc_ctx->audio_service_type = dec_ctx->audio_service_type;
enc_ctx->block_align = dec_ctx->block_align;
enc_ctx->initial_padding = dec_ctx->delay;
#if FF_API_AUDIOENC_DELAY
enc_ctx->delay = dec_ctx->delay;
#endif
if((enc_ctx->block_align == 1 || enc_ctx->block_align == 1152 || enc_ctx->block_align == 576) && enc_ctx->codec_id == AV_CODEC_ID_MP3)
enc_ctx->block_align= 0;
if(enc_ctx->codec_id == AV_CODEC_ID_AC3)
@@ -2659,6 +2822,7 @@ static int transcode_init(void)
sar = dec_ctx->sample_aspect_ratio;
ost->st->sample_aspect_ratio = enc_ctx->sample_aspect_ratio = sar;
ost->st->avg_frame_rate = ist->st->avg_frame_rate;
ost->st->r_frame_rate = ist->st->r_frame_rate;
break;
case AVMEDIA_TYPE_SUBTITLE:
enc_ctx->width = dec_ctx->width;
@@ -2719,6 +2883,7 @@ static int transcode_init(void)
int idx = av_find_nearest_q_idx(ost->frame_rate, ost->enc->supported_framerates);
ost->frame_rate = ost->enc->supported_framerates[idx];
}
// reduce frame rate for mpeg4 to be within the spec limits
if (enc_ctx->codec_id == AV_CODEC_ID_MPEG4) {
av_reduce(&ost->frame_rate.num, &ost->frame_rate.den,
ost->frame_rate.num, ost->frame_rate.den, 65535);
@@ -2803,6 +2968,8 @@ static int transcode_init(void)
enc_ctx->height = input_streams[ost->source_index]->st->codec->height;
}
break;
case AVMEDIA_TYPE_DATA:
break;
default:
abort();
break;
@@ -2841,6 +3008,37 @@ static int transcode_init(void)
}
}
}
if (ost->disposition) {
static const AVOption opts[] = {
{ "disposition" , NULL, 0, AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT64_MIN, INT64_MAX, .unit = "flags" },
{ "default" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DEFAULT }, .unit = "flags" },
{ "dub" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DUB }, .unit = "flags" },
{ "original" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_ORIGINAL }, .unit = "flags" },
{ "comment" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_COMMENT }, .unit = "flags" },
{ "lyrics" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_LYRICS }, .unit = "flags" },
{ "karaoke" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_KARAOKE }, .unit = "flags" },
{ "forced" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_FORCED }, .unit = "flags" },
{ "hearing_impaired" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_HEARING_IMPAIRED }, .unit = "flags" },
{ "visual_impaired" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_VISUAL_IMPAIRED }, .unit = "flags" },
{ "clean_effects" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_CLEAN_EFFECTS }, .unit = "flags" },
{ "captions" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_CAPTIONS }, .unit = "flags" },
{ "descriptions" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DESCRIPTIONS }, .unit = "flags" },
{ "metadata" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_METADATA }, .unit = "flags" },
{ NULL },
};
static const AVClass class = {
.class_name = "",
.item_name = av_default_item_name,
.option = opts,
.version = LIBAVUTIL_VERSION_INT,
};
const AVClass *pclass = &class;
ret = av_opt_eval_flags(&pclass, &opts[0], ost->disposition, &ost->st->disposition);
if (ret < 0)
goto dump_format;
}
}
/* open each encoder */
@@ -2882,10 +3080,11 @@ static int transcode_init(void)
av_log(NULL, AV_LOG_WARNING, "The bitrate parameter is set too low."
" It takes bits/s as argument, not kbits/s\n");
} else {
if (av_opt_set_dict(ost->enc_ctx, &ost->encoder_opts) < 0) {
ret = av_opt_set_dict(ost->enc_ctx, &ost->encoder_opts);
if (ret < 0) {
av_log(NULL, AV_LOG_FATAL,
"Error setting up codec context options.\n");
exit_program(1);
return ret;
}
}
@@ -3035,7 +3234,7 @@ static int transcode_init(void)
return ret;
}
if (want_sdp) {
if (sdp_filename || want_sdp) {
print_sdp();
}
@@ -3085,9 +3284,9 @@ static OutputStream *choose_output(void)
OutputStream *ost = output_streams[i];
int64_t opts = av_rescale_q(ost->st->cur_dts, ost->st->time_base,
AV_TIME_BASE_Q);
if (!ost->unavailable && !ost->finished && opts < opts_min) {
if (!ost->finished && opts < opts_min) {
opts_min = opts;
ost_min = ost;
ost_min = ost->unavailable ? NULL : ost;
}
}
return ost_min;
@@ -3194,6 +3393,7 @@ static int check_keyboard_interaction(int64_t cur_time)
static void *input_thread(void *arg)
{
InputFile *f = arg;
unsigned flags = f->non_blocking ? AV_THREAD_MESSAGE_NONBLOCK : 0;
int ret = 0;
while (1) {
@@ -3209,7 +3409,15 @@ static void *input_thread(void *arg)
break;
}
av_dup_packet(&pkt);
ret = av_thread_message_queue_send(f->in_thread_queue, &pkt, 0);
ret = av_thread_message_queue_send(f->in_thread_queue, &pkt, flags);
if (flags && ret == AVERROR(EAGAIN)) {
flags = 0;
ret = av_thread_message_queue_send(f->in_thread_queue, &pkt, flags);
av_log(f->ctx, AV_LOG_WARNING,
"Thread message queue blocking; consider raising the "
"thread_queue_size option (current value: %d)\n",
f->thread_queue_size);
}
if (ret < 0) {
if (ret != AVERROR_EOF)
av_log(f->ctx, AV_LOG_ERROR,
@@ -3258,7 +3466,7 @@ static int init_input_threads(void)
strcmp(f->ctx->iformat->name, "lavfi"))
f->non_blocking = 1;
ret = av_thread_message_queue_alloc(&f->in_thread_queue,
8, sizeof(AVPacket));
f->thread_queue_size, sizeof(AVPacket));
if (ret < 0)
return ret;
@@ -3465,13 +3673,14 @@ static int process_input(int file_index)
if (pkt.dts != AV_NOPTS_VALUE)
pkt.dts *= ist->ts_scale;
if (pkt.dts != AV_NOPTS_VALUE && ist->next_dts == AV_NOPTS_VALUE && !copy_ts
if ((ist->dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO ||
ist->dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) &&
pkt.dts != AV_NOPTS_VALUE && ist->next_dts == AV_NOPTS_VALUE && !copy_ts
&& (is->iformat->flags & AVFMT_TS_DISCONT) && ifile->last_ts != AV_NOPTS_VALUE) {
int64_t pkt_dts = av_rescale_q(pkt.dts, ist->st->time_base, AV_TIME_BASE_Q);
int64_t delta = pkt_dts - ifile->last_ts;
if(delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
(delta > 1LL*dts_delta_threshold*AV_TIME_BASE &&
ist->dec_ctx->codec_type != AVMEDIA_TYPE_SUBTITLE)){
if (delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
delta > 1LL*dts_delta_threshold*AV_TIME_BASE){
ifile->ts_offset -= delta;
av_log(NULL, AV_LOG_DEBUG,
"Inter stream timestamp discontinuity %"PRId64", new offset= %"PRId64"\n",
@@ -3482,14 +3691,15 @@ static int process_input(int file_index)
}
}
if (pkt.dts != AV_NOPTS_VALUE && ist->next_dts != AV_NOPTS_VALUE &&
if ((ist->dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO ||
ist->dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) &&
pkt.dts != AV_NOPTS_VALUE && ist->next_dts != AV_NOPTS_VALUE &&
!copy_ts) {
int64_t pkt_dts = av_rescale_q(pkt.dts, ist->st->time_base, AV_TIME_BASE_Q);
int64_t delta = pkt_dts - ist->next_dts;
if (is->iformat->flags & AVFMT_TS_DISCONT) {
if (delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
(delta > 1LL*dts_delta_threshold*AV_TIME_BASE &&
ist->dec_ctx->codec_type != AVMEDIA_TYPE_SUBTITLE) ||
delta > 1LL*dts_delta_threshold*AV_TIME_BASE ||
pkt_dts + AV_TIME_BASE/10 < FFMAX(ist->pts, ist->dts)) {
ifile->ts_offset -= delta;
av_log(NULL, AV_LOG_DEBUG,
@@ -3501,7 +3711,7 @@ static int process_input(int file_index)
}
} else {
if ( delta < -1LL*dts_error_threshold*AV_TIME_BASE ||
(delta > 1LL*dts_error_threshold*AV_TIME_BASE && ist->dec_ctx->codec_type != AVMEDIA_TYPE_SUBTITLE)) {
delta > 1LL*dts_error_threshold*AV_TIME_BASE) {
av_log(NULL, AV_LOG_WARNING, "DTS %"PRId64", next:%"PRId64" st:%d invalid dropping\n", pkt.dts, ist->next_dts, pkt.stream_index);
pkt.dts = AV_NOPTS_VALUE;
}
@@ -3509,7 +3719,7 @@ static int process_input(int file_index)
int64_t pkt_pts = av_rescale_q(pkt.pts, ist->st->time_base, AV_TIME_BASE_Q);
delta = pkt_pts - ist->next_dts;
if ( delta < -1LL*dts_error_threshold*AV_TIME_BASE ||
(delta > 1LL*dts_error_threshold*AV_TIME_BASE && ist->dec_ctx->codec_type != AVMEDIA_TYPE_SUBTITLE)) {
delta > 1LL*dts_error_threshold*AV_TIME_BASE) {
av_log(NULL, AV_LOG_WARNING, "PTS %"PRId64", next:%"PRId64" invalid dropping st:%d\n", pkt.pts, ist->next_dts, pkt.stream_index);
pkt.pts = AV_NOPTS_VALUE;
}
@@ -3749,9 +3959,11 @@ static int transcode(void)
}
av_freep(&ost->forced_kf_pts);
av_freep(&ost->apad);
av_freep(&ost->disposition);
av_dict_free(&ost->encoder_opts);
av_dict_free(&ost->swr_opts);
av_dict_free(&ost->resample_opts);
av_dict_free(&ost->bsf_args);
}
}
}
@@ -3773,7 +3985,7 @@ static int64_t getutime(void)
GetProcessTimes(proc, &c, &e, &k, &u);
return ((int64_t) u.dwHighDateTime << 32 | u.dwLowDateTime) / 10;
#else
return av_gettime();
return av_gettime_relative();
#endif
}

View File

@@ -111,6 +111,7 @@ typedef struct OptionsContext {
int64_t input_ts_offset;
int rate_emu;
int accurate_seek;
int thread_queue_size;
SpecifierOpt *ts_scale;
int nb_ts_scale;
@@ -206,6 +207,8 @@ typedef struct OptionsContext {
int nb_apad;
SpecifierOpt *discard;
int nb_discard;
SpecifierOpt *disposition;
int nb_disposition;
} OptionsContext;
typedef struct InputFilter {
@@ -348,6 +351,7 @@ typedef struct InputFile {
pthread_t thread; /* thread reading from this file */
int non_blocking; /* reading packets from the thread should not block */
int joined; /* the thread has been joined */
int thread_queue_size; /* maximum number of queued packets */
#endif
} InputFile;
@@ -388,6 +392,8 @@ typedef struct OutputStream {
AVCodec *enc;
int64_t max_frames;
AVFrame *filtered_frame;
AVFrame *last_frame;
int last_droped;
/* video only */
AVRational frame_rate;
@@ -420,6 +426,7 @@ typedef struct OutputStream {
AVDictionary *encoder_opts;
AVDictionary *swr_opts;
AVDictionary *resample_opts;
AVDictionary *bsf_args;
char *apad;
OSTFinished finished; /* no more packets should be written for this stream */
int unavailable; /* true if the steram is unavailable (possibly temporarily) */
@@ -427,6 +434,7 @@ typedef struct OutputStream {
const char *attachment_filename;
int copy_initial_nonkeyframes;
int copy_prior_start;
char *disposition;
int keep_pix_fmt;
@@ -467,6 +475,7 @@ extern FilterGraph **filtergraphs;
extern int nb_filtergraphs;
extern char *vstats_filename;
extern char *sdp_filename;
extern float audio_drift_threshold;
extern float dts_delta_threshold;
@@ -475,12 +484,14 @@ extern float dts_error_threshold;
extern int audio_volume;
extern int audio_sync_method;
extern int video_sync_method;
extern float frame_drop_threshold;
extern int do_benchmark;
extern int do_benchmark_all;
extern int do_deinterlace;
extern int do_hex_dump;
extern int do_pkt_dump;
extern int copy_ts;
extern int start_at_zero;
extern int copy_tb;
extern int debug_ts;
extern int exit_on_error;
@@ -490,6 +501,7 @@ extern int stdin_interaction;
extern int frame_bits_per_raw_sample;
extern AVIOContext *progress_avio;
extern float max_error_rate;
extern int vdpau_api_ver;
extern const AVIOInterruptCB int_cb;

View File

@@ -52,6 +52,7 @@ DEFINE_GUID(DXVA2_ModeH264_F, 0x1b81be69, 0xa0c7,0x11d3,0xb9,0x84,0x00,0
DEFINE_GUID(DXVADDI_Intel_ModeH264_E, 0x604F8E68, 0x4951,0x4C54,0x88,0xFE,0xAB,0xD2,0x5C,0x15,0xB3,0xD6);
DEFINE_GUID(DXVA2_ModeVC1_D, 0x1b81beA3, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA2_ModeVC1_D2010, 0x1b81beA4, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(DXVA2_ModeHEVC_VLD_Main, 0x5b11d51b, 0x2f4c,0x4452,0xbc,0xc3,0x09,0xf2,0xa1,0x16,0x0c,0xc0);
DEFINE_GUID(DXVA2_NoEncrypt, 0x1b81beD0, 0xa0c7,0x11d3,0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5);
DEFINE_GUID(GUID_NULL, 0x00000000, 0x0000,0x0000,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
@@ -80,6 +81,9 @@ static const dxva2_mode dxva2_modes[] = {
{ &DXVA2_ModeVC1_D, AV_CODEC_ID_VC1 },
{ &DXVA2_ModeVC1_D, AV_CODEC_ID_WMV3 },
/* HEVC/H.265 */
{ &DXVA2_ModeHEVC_VLD_Main, AV_CODEC_ID_HEVC },
{ NULL, 0 },
};
@@ -526,6 +530,10 @@ static int dxva2_create_decoder(AVCodecContext *s)
but it causes issues for H.264 on certain AMD GPUs..... */
if (s->codec_id == AV_CODEC_ID_MPEG2VIDEO)
surface_alignment = 32;
/* the HEVC DXVA2 spec asks for 128 pixel aligned surfaces to ensure
all coding features have enough room to work with */
else if (s->codec_id == AV_CODEC_ID_HEVC)
surface_alignment = 128;
else
surface_alignment = 16;
@@ -533,7 +541,7 @@ static int dxva2_create_decoder(AVCodecContext *s)
ctx->num_surfaces = 4;
/* add surfaces based on number of possible refs */
if (s->codec_id == AV_CODEC_ID_H264)
if (s->codec_id == AV_CODEC_ID_H264 || s->codec_id == AV_CODEC_ID_HEVC)
ctx->num_surfaces += 16;
else
ctx->num_surfaces += 2;

View File

@@ -383,9 +383,8 @@ static int configure_output_video_filter(FilterGraph *fg, OutputFilter *ofilter,
snprintf(name, sizeof(name), "pixel format for output stream %d:%d",
ost->file_index, ost->index);
ret = avfilter_graph_create_filter(&filter,
avfilter_get_by_name("format"),
"format", pix_fmts, NULL,
fg->graph);
avfilter_get_by_name("format"),
"format", pix_fmts, NULL, fg->graph);
av_freep(&pix_fmts);
if (ret < 0)
return ret;
@@ -620,6 +619,7 @@ static int sub2video_prepare(InputStream *ist)
ist->sub2video.frame = av_frame_alloc();
if (!ist->sub2video.frame)
return AVERROR(ENOMEM);
ist->sub2video.last_pts = INT64_MIN;
return 0;
}
@@ -637,6 +637,7 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
AVBPrint args;
char name[255];
int ret, pad_idx = 0;
int64_t tsoffset = 0;
if (ist->dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_ERROR, "Cannot connect video filter to audio input\n");
@@ -711,8 +712,14 @@ static int configure_input_video_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
if (copy_ts) {
tsoffset = f->start_time == AV_NOPTS_VALUE ? 0 : f->start_time;
if (!start_at_zero && f->ctx->start_time != AV_NOPTS_VALUE)
tsoffset += f->ctx->start_time;
}
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
AV_NOPTS_VALUE : tsoffset, f->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;
@@ -731,6 +738,7 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
AVBPrint args;
char name[255];
int ret, pad_idx = 0;
int64_t tsoffset = 0;
if (ist->dec_ctx->codec_type != AVMEDIA_TYPE_AUDIO) {
av_log(NULL, AV_LOG_ERROR, "Cannot connect audio filter to non audio input\n");
@@ -813,8 +821,14 @@ static int configure_input_audio_filter(FilterGraph *fg, InputFilter *ifilter,
snprintf(name, sizeof(name), "trim for input stream %d:%d",
ist->file_index, ist->st->index);
if (copy_ts) {
tsoffset = f->start_time == AV_NOPTS_VALUE ? 0 : f->start_time;
if (!start_at_zero && f->ctx->start_time != AV_NOPTS_VALUE)
tsoffset += f->ctx->start_time;
}
ret = insert_trim(((f->start_time == AV_NOPTS_VALUE) || !f->accurate_seek) ?
AV_NOPTS_VALUE : 0, f->recording_time, &last_filter, &pad_idx, name);
AV_NOPTS_VALUE : tsoffset, f->recording_time,
&last_filter, &pad_idx, name);
if (ret < 0)
return ret;

View File

@@ -77,6 +77,7 @@ const HWAccel hwaccels[] = {
};
char *vstats_filename;
char *sdp_filename;
float audio_drift_threshold = 0.1;
float dts_delta_threshold = 10;
@@ -85,12 +86,14 @@ float dts_error_threshold = 3600*30;
int audio_volume = 256;
int audio_sync_method = 0;
int video_sync_method = VSYNC_AUTO;
float frame_drop_threshold = 0;
int do_deinterlace = 0;
int do_benchmark = 0;
int do_benchmark_all = 0;
int do_hex_dump = 0;
int do_pkt_dump = 0;
int copy_ts = 0;
int start_at_zero = 0;
int copy_tb = -1;
int debug_ts = 0;
int exit_on_error = 0;
@@ -230,6 +233,8 @@ static int opt_map(void *optctx, const char *opt, const char *arg)
arg++;
}
map = av_strdup(arg);
if (!map)
return AVERROR(ENOMEM);
/* parse sync stream first, just pick first matching stream */
if (sync = strchr(map, ',')) {
@@ -378,6 +383,13 @@ static int opt_map_channel(void *optctx, const char *opt, const char *arg)
return 0;
}
static int opt_sdp_file(void *optctx, const char *opt, const char *arg)
{
av_free(sdp_filename);
sdp_filename = av_strdup(arg);
return 0;
}
/**
* Parse a metadata specifier passed as 'arg' parameter.
* @param arg metadata string to parse
@@ -508,7 +520,8 @@ static int opt_recording_timestamp(void *optctx, const char *opt, const char *ar
char buf[128];
int64_t recording_timestamp = parse_time_or_die(opt, arg, 0) / 1E6;
struct tm time = *gmtime((time_t*)&recording_timestamp);
strftime(buf, sizeof(buf), "creation_time=%FT%T%z", &time);
if (!strftime(buf, sizeof(buf), "creation_time=%Y-%m-%dT%H:%M:%S%z", &time))
return -1;
parse_option(o, "metadata", buf, options);
av_log(NULL, AV_LOG_WARNING, "%s is deprecated, set the 'creation_time' metadata "
@@ -702,7 +715,7 @@ static void add_input_streams(OptionsContext *o, AVFormatContext *ic)
MATCH_PER_STREAM_OPT(fix_sub_duration, i, ist->fix_sub_duration, ic, st);
MATCH_PER_STREAM_OPT(canvas_sizes, str, canvas_size, ic, st);
if (canvas_size &&
av_parse_video_size(&dec->width, &dec->height, canvas_size) < 0) {
av_parse_video_size(&ist->dec_ctx->width, &ist->dec_ctx->height, canvas_size) < 0) {
av_log(NULL, AV_LOG_FATAL, "Invalid canvas size: %s.\n", canvas_size);
exit_program(1);
}
@@ -792,6 +805,8 @@ static int open_input_file(OptionsContext *o, const char *filename)
char * video_codec_name = NULL;
char * audio_codec_name = NULL;
char *subtitle_codec_name = NULL;
char * data_codec_name = NULL;
int scan_all_pmts_set = 0;
if (o->format) {
if (!(file_iformat = av_find_input_format(o->format))) {
@@ -844,6 +859,7 @@ static int open_input_file(OptionsContext *o, const char *filename)
MATCH_PER_TYPE_OPT(codec_names, str, video_codec_name, ic, "v");
MATCH_PER_TYPE_OPT(codec_names, str, audio_codec_name, ic, "a");
MATCH_PER_TYPE_OPT(codec_names, str, subtitle_codec_name, ic, "s");
MATCH_PER_TYPE_OPT(codec_names, str, data_codec_name, ic, "d");
ic->video_codec_id = video_codec_name ?
find_codec_or_die(video_codec_name , AVMEDIA_TYPE_VIDEO , 0)->id : AV_CODEC_ID_NONE;
@@ -851,6 +867,8 @@ static int open_input_file(OptionsContext *o, const char *filename)
find_codec_or_die(audio_codec_name , AVMEDIA_TYPE_AUDIO , 0)->id : AV_CODEC_ID_NONE;
ic->subtitle_codec_id= subtitle_codec_name ?
find_codec_or_die(subtitle_codec_name, AVMEDIA_TYPE_SUBTITLE, 0)->id : AV_CODEC_ID_NONE;
ic->data_codec_id = data_codec_name ?
find_codec_or_die(data_codec_name, AVMEDIA_TYPE_DATA, 0)->id : AV_CODEC_ID_NONE;
if (video_codec_name)
av_format_set_video_codec (ic, find_codec_or_die(video_codec_name , AVMEDIA_TYPE_VIDEO , 0));
@@ -858,16 +876,24 @@ static int open_input_file(OptionsContext *o, const char *filename)
av_format_set_audio_codec (ic, find_codec_or_die(audio_codec_name , AVMEDIA_TYPE_AUDIO , 0));
if (subtitle_codec_name)
av_format_set_subtitle_codec(ic, find_codec_or_die(subtitle_codec_name, AVMEDIA_TYPE_SUBTITLE, 0));
if (data_codec_name)
av_format_set_data_codec(ic, find_codec_or_die(data_codec_name, AVMEDIA_TYPE_DATA, 0));
ic->flags |= AVFMT_FLAG_NONBLOCK;
ic->interrupt_callback = int_cb;
if (!av_dict_get(o->g->format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE)) {
av_dict_set(&o->g->format_opts, "scan_all_pmts", "1", AV_DICT_DONT_OVERWRITE);
scan_all_pmts_set = 1;
}
/* open the input file with generic avformat function */
err = avformat_open_input(&ic, filename, file_iformat, &o->g->format_opts);
if (err < 0) {
print_error(filename, err);
exit_program(1);
}
if (scan_all_pmts_set)
av_dict_set(&o->g->format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE);
remove_avoptions(&o->g->format_opts, o->g->codec_opts);
assert_avoptions(o->g->format_opts);
@@ -921,10 +947,13 @@ static int open_input_file(OptionsContext *o, const char *filename)
f->start_time = o->start_time;
f->recording_time = o->recording_time;
f->input_ts_offset = o->input_ts_offset;
f->ts_offset = o->input_ts_offset - (copy_ts ? 0 : timestamp);
f->ts_offset = o->input_ts_offset - (copy_ts ? (start_at_zero && ic->start_time != AV_NOPTS_VALUE ? ic->start_time : 0) : timestamp);
f->nb_streams = ic->nb_streams;
f->rate_emu = o->rate_emu;
f->accurate_seek = o->accurate_seek;
#if HAVE_PTHREADS
f->thread_queue_size = o->thread_queue_size > 0 ? o->thread_queue_size : 8;
#endif
/* check if all codec options have been used */
unused_opts = strip_specifiers(o->g->codec_opts);
@@ -1102,7 +1131,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
av_dict_set(&ost->encoder_opts, buf, arg, AV_DICT_DONT_OVERWRITE);
av_free(buf);
} while (!s->eof_reached);
avio_close(s);
avio_closep(&s);
}
if (ret) {
av_log(NULL, AV_LOG_FATAL,
@@ -1129,8 +1158,11 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
MATCH_PER_STREAM_OPT(bitstream_filters, str, bsf, oc, st);
while (bsf) {
char *arg = NULL;
if (next = strchr(bsf, ','))
*next++ = 0;
if (arg = strchr(bsf, '='))
*arg++ = 0;
if (!(bsfc = av_bitstream_filter_init(bsf))) {
av_log(NULL, AV_LOG_FATAL, "Unknown bitstream filter %s\n", bsf);
exit_program(1);
@@ -1139,6 +1171,7 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
bsfc_prev->next = bsfc;
else
ost->bitstream_filters = bsfc;
av_dict_set(&ost->bsf_args, bsfc->filter->name, arg, 0);
bsfc_prev = bsfc;
bsf = next;
@@ -1158,6 +1191,9 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e
ost->enc_ctx->global_quality = FF_QP2LAMBDA * qscale;
}
MATCH_PER_STREAM_OPT(disposition, str, ost->disposition, oc, st);
ost->disposition = av_strdup(ost->disposition);
if (oc->oformat->flags & AVFMT_GLOBALHEADER)
ost->enc_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
@@ -1276,6 +1312,8 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
av_log(NULL, AV_LOG_FATAL, "Invalid framerate value: %s\n", frame_rate);
exit_program(1);
}
if (frame_rate && video_sync_method == VSYNC_PASSTHROUGH)
av_log(NULL, AV_LOG_ERROR, "Using -vsync 0 and -r can produce invalid output files\n");
MATCH_PER_STREAM_OPT(frame_aspect_ratios, str, frame_aspect_ratio, oc, st);
if (frame_aspect_ratio) {
@@ -1356,10 +1394,13 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
av_log(NULL, AV_LOG_FATAL, "error parsing rc_override\n");
exit_program(1);
}
/* FIXME realloc failure */
video_enc->rc_override =
av_realloc(video_enc->rc_override,
sizeof(RcOverride) * (i + 1));
av_realloc_array(video_enc->rc_override,
i + 1, sizeof(RcOverride));
if (!video_enc->rc_override) {
av_log(NULL, AV_LOG_FATAL, "Could not (re)allocate memory for rc_override.\n");
exit_program(1);
}
video_enc->rc_override[i].start_frame = start;
video_enc->rc_override[i].end_frame = end;
if (q > 0) {
@@ -1620,27 +1661,36 @@ static int read_ffserver_streams(OptionsContext *o, AVFormatContext *s, const ch
AVStream *st;
OutputStream *ost;
AVCodec *codec;
AVCodecContext *avctx;
const char *enc_config;
codec = avcodec_find_encoder(ic->streams[i]->codec->codec_id);
if (!codec) {
av_log(s, AV_LOG_ERROR, "no encoder found for codec id %i\n", ic->streams[i]->codec->codec_id);
return AVERROR(EINVAL);
}
if (codec->type == AVMEDIA_TYPE_AUDIO)
opt_audio_codec(o, "c:a", codec->name);
else if (codec->type == AVMEDIA_TYPE_VIDEO)
opt_video_codec(o, "c:v", codec->name);
ost = new_output_stream(o, s, codec->type, -1);
st = ost->st;
avctx = st->codec;
ost->enc = codec;
// FIXME: a more elegant solution is needed
memcpy(st, ic->streams[i], sizeof(AVStream));
st->cur_dts = 0;
st->info = av_malloc(sizeof(*st->info));
memcpy(st->info, ic->streams[i]->info, sizeof(*st->info));
st->codec= avctx;
avcodec_copy_context(st->codec, ic->streams[i]->codec);
avcodec_get_context_defaults3(st->codec, codec);
enc_config = av_stream_get_recommended_encoder_configuration(ic->streams[i]);
if (enc_config) {
AVDictionary *opts = NULL;
av_dict_parse_string(&opts, enc_config, "=", ",", 0);
av_opt_set_dict2(st->codec, &opts, AV_OPT_SEARCH_CHILDREN);
av_dict_free(&opts);
}
if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO && !ost->stream_copy)
choose_sample_fmt(st, codec);
else if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO && !ost->stream_copy)
choose_pixel_fmt(st, st->codec, codec, st->codec->pix_fmt);
avcodec_copy_context(ost->enc_ctx, st->codec);
if (enc_config)
av_dict_parse_string(&ost->encoder_opts, enc_config, "=", ",", 0);
}
avformat_close_input(&ic);
@@ -1728,8 +1778,8 @@ static int open_output_file(OptionsContext *o, const char *filename)
if (o->stop_time != INT64_MAX && o->recording_time == INT64_MAX) {
int64_t start_time = o->start_time == AV_NOPTS_VALUE ? 0 : o->start_time;
if (o->stop_time <= start_time) {
av_log(NULL, AV_LOG_WARNING, "-to value smaller than -ss; ignoring -to.\n");
o->stop_time = INT64_MAX;
av_log(NULL, AV_LOG_ERROR, "-to value smaller than -ss; aborting.\n");
exit_program(1);
} else {
o->recording_time = o->stop_time - start_time;
}
@@ -1891,7 +1941,15 @@ static int open_output_file(OptionsContext *o, const char *filename)
}
}
}
/* do something with data? */
/* Data only if codec id match */
if (!o->data_disable ) {
enum AVCodecID codec_id = av_guess_codec(oc->oformat, NULL, filename, NULL, AVMEDIA_TYPE_DATA);
for (i = 0; codec_id != AV_CODEC_ID_NONE && i < nb_input_streams; i++) {
if (input_streams[i]->st->codec->codec_type == AVMEDIA_TYPE_DATA
&& input_streams[i]->st->codec->codec_id == codec_id )
new_data_stream(o, oc, i);
}
}
} else {
for (i = 0; i < o->nb_stream_maps; i++) {
StreamMap *map = &o->stream_maps[i];
@@ -1982,7 +2040,7 @@ loop_end:
p = strrchr(o->attachments[i], '/');
av_dict_set(&ost->st->metadata, "filename", (p && *p) ? p + 1 : o->attachments[i], AV_DICT_DONT_OVERWRITE);
avio_close(pb);
avio_closep(&pb);
}
for (i = nb_output_streams - oc->nb_streams; i < nb_output_streams; i++) { //for all streams of this output file
@@ -2224,9 +2282,9 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
opt_default(NULL, "g", norm == PAL ? "15" : "18");
opt_default(NULL, "b:v", "1150000");
opt_default(NULL, "maxrate", "1150000");
opt_default(NULL, "minrate", "1150000");
opt_default(NULL, "bufsize", "327680"); // 40*1024*8;
opt_default(NULL, "maxrate:v", "1150000");
opt_default(NULL, "minrate:v", "1150000");
opt_default(NULL, "bufsize:v", "327680"); // 40*1024*8;
opt_default(NULL, "b:a", "224000");
parse_option(o, "ar", "44100", options);
@@ -2253,9 +2311,9 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
opt_default(NULL, "g", norm == PAL ? "15" : "18");
opt_default(NULL, "b:v", "2040000");
opt_default(NULL, "maxrate", "2516000");
opt_default(NULL, "minrate", "0"); // 1145000;
opt_default(NULL, "bufsize", "1835008"); // 224*1024*8;
opt_default(NULL, "maxrate:v", "2516000");
opt_default(NULL, "minrate:v", "0"); // 1145000;
opt_default(NULL, "bufsize:v", "1835008"); // 224*1024*8;
opt_default(NULL, "scan_offset", "1");
opt_default(NULL, "b:a", "224000");
@@ -2275,9 +2333,9 @@ static int opt_target(void *optctx, const char *opt, const char *arg)
opt_default(NULL, "g", norm == PAL ? "15" : "18");
opt_default(NULL, "b:v", "6000000");
opt_default(NULL, "maxrate", "9000000");
opt_default(NULL, "minrate", "0"); // 1500000;
opt_default(NULL, "bufsize", "1835008"); // 224*1024*8;
opt_default(NULL, "maxrate:v", "9000000");
opt_default(NULL, "minrate:v", "0"); // 1500000;
opt_default(NULL, "bufsize:v", "1835008"); // 224*1024*8;
opt_default(NULL, "packetsize", "2048"); // from www.mpucoder.com: DVD sectors contain 2048 bytes of data, this is also the size of one pack.
opt_default(NULL, "muxrate", "10080000"); // from mplex project: data_rate = 1260000. mux_rate = data_rate * 8
@@ -2321,6 +2379,9 @@ static int opt_vstats(void *optctx, const char *opt, const char *arg)
time_t today2 = time(NULL);
struct tm *today = localtime(&today2);
if (!today)
return AVERROR(errno);
snprintf(filename, sizeof(filename), "vstats_%02d%02d%02d.log", today->tm_hour, today->tm_min,
today->tm_sec);
return opt_vstats_file(NULL, opt, filename);
@@ -2801,13 +2862,13 @@ const OptionDef options[] = {
{ "itsscale", HAS_ARG | OPT_DOUBLE | OPT_SPEC |
OPT_EXPERT | OPT_INPUT, { .off = OFFSET(ts_scale) },
"set the input ts scale", "scale" },
{ "timestamp", HAS_ARG | OPT_PERFILE, { .func_arg = opt_recording_timestamp },
{ "timestamp", HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_recording_timestamp },
"set the recording timestamp ('now' to set the current time)", "time" },
{ "metadata", HAS_ARG | OPT_STRING | OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(metadata) },
"add metadata", "string=string" },
{ "dframes", HAS_ARG | OPT_PERFILE | OPT_EXPERT |
OPT_OUTPUT, { .func_arg = opt_data_frames },
"set the number of data frames to record", "number" },
"set the number of data frames to output", "number" },
{ "benchmark", OPT_BOOL | OPT_EXPERT, { &do_benchmark },
"add timings for benchmarking" },
{ "benchmark_all", OPT_BOOL | OPT_EXPERT, { &do_benchmark_all },
@@ -2830,12 +2891,16 @@ const OptionDef options[] = {
" \"dv\", \"dv50\", \"pal-vcd\", \"ntsc-svcd\", ...)", "type" },
{ "vsync", HAS_ARG | OPT_EXPERT, { opt_vsync },
"video sync method", "" },
{ "frame_drop_threshold", HAS_ARG | OPT_FLOAT | OPT_EXPERT, { &frame_drop_threshold },
"frame drop threshold", "" },
{ "async", HAS_ARG | OPT_INT | OPT_EXPERT, { &audio_sync_method },
"audio sync method", "" },
{ "adrift_threshold", HAS_ARG | OPT_FLOAT | OPT_EXPERT, { &audio_drift_threshold },
"audio drift threshold", "threshold" },
{ "copyts", OPT_BOOL | OPT_EXPERT, { &copy_ts },
"copy timestamps" },
{ "start_at_zero", OPT_BOOL | OPT_EXPERT, { &start_at_zero },
"shift input timestamps to start at 0 when using copyts" },
{ "copytb", HAS_ARG | OPT_INT | OPT_EXPERT, { &copy_tb },
"copy input stream time base when stream copying", "mode" },
{ "shortest", OPT_BOOL | OPT_EXPERT | OPT_OFFSET |
@@ -2856,7 +2921,7 @@ const OptionDef options[] = {
{ "copypriorss", OPT_INT | HAS_ARG | OPT_EXPERT | OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(copy_prior_start) },
"copy or discard frames before start time" },
{ "frames", OPT_INT64 | HAS_ARG | OPT_SPEC | OPT_OUTPUT, { .off = OFFSET(max_frames) },
"set the number of frames to record", "number" },
"set the number of frames to output", "number" },
{ "tag", OPT_STRING | HAS_ARG | OPT_SPEC |
OPT_EXPERT | OPT_OUTPUT | OPT_INPUT, { .off = OFFSET(codec_tags) },
"force codec tag/fourcc", "fourcc/tag" },
@@ -2895,10 +2960,16 @@ const OptionDef options[] = {
{ "discard", OPT_STRING | HAS_ARG | OPT_SPEC |
OPT_INPUT, { .off = OFFSET(discard) },
"discard", "" },
{ "disposition", OPT_STRING | HAS_ARG | OPT_SPEC |
OPT_OUTPUT, { .off = OFFSET(disposition) },
"disposition", "" },
{ "thread_queue_size", HAS_ARG | OPT_INT | OPT_OFFSET | OPT_EXPERT | OPT_INPUT,
{ .off = OFFSET(thread_queue_size) },
"set the maximum number of queued packets from the demuxer" },
/* video options */
{ "vframes", OPT_VIDEO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_video_frames },
"set the number of video frames to record", "number" },
"set the number of video frames to output", "number" },
{ "r", OPT_VIDEO | HAS_ARG | OPT_STRING | OPT_SPEC |
OPT_INPUT | OPT_OUTPUT, { .off = OFFSET(frame_rates) },
"set frame rate (Hz value, fraction or abbreviation)", "rate" },
@@ -2980,10 +3051,13 @@ const OptionDef options[] = {
{ "hwaccel_device", OPT_VIDEO | OPT_STRING | HAS_ARG | OPT_EXPERT |
OPT_SPEC | OPT_INPUT, { .off = OFFSET(hwaccel_devices) },
"select a device for HW acceleration" "devicename" },
#if HAVE_VDPAU_X11
{ "vdpau_api_ver", HAS_ARG | OPT_INT | OPT_EXPERT, { &vdpau_api_ver }, "" },
#endif
/* audio options */
{ "aframes", OPT_AUDIO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_audio_frames },
"set the number of audio frames to record", "number" },
"set the number of audio frames to output", "number" },
{ "aq", OPT_AUDIO | HAS_ARG | OPT_PERFILE | OPT_OUTPUT, { .func_arg = opt_audio_qscale },
"set audio quality (codec-specific)", "quality", },
{ "ar", OPT_AUDIO | HAS_ARG | OPT_INT | OPT_SPEC |
@@ -3039,6 +3113,8 @@ const OptionDef options[] = {
"set the initial demux-decode delay", "seconds" },
{ "override_ffserver", OPT_BOOL | OPT_EXPERT | OPT_OUTPUT, { &override_ffserver },
"override the options from ffserver", "" },
{ "sdp_file", HAS_ARG | OPT_EXPERT | OPT_OUTPUT, { opt_sdp_file },
"specify a file in which to print sdp information", "file" },
{ "bsf", HAS_ARG | OPT_STRING | OPT_SPEC | OPT_EXPERT | OPT_OUTPUT, { .off = OFFSET(bitstream_filters) },
"A comma-separated list of bitstream filters", "bitstream_filters" },

View File

@@ -77,6 +77,8 @@ static int vda_retrieve_data(AVCodecContext *s, AVFrame *frame)
frame->width, frame->height);
ret = av_frame_copy_props(vda->tmp_frame, frame);
CVPixelBufferUnlockBaseAddress(pixbuf, kCVPixelBufferLock_ReadOnly);
if (ret < 0)
return ret;

View File

@@ -42,9 +42,11 @@ typedef struct VDPAUContext {
VdpGetErrorString *get_error_string;
VdpGetInformationString *get_information_string;
VdpDeviceDestroy *device_destroy;
#if 1 // for ffmpegs older vdpau API, not the oldest though
VdpDecoderCreate *decoder_create;
VdpDecoderDestroy *decoder_destroy;
VdpDecoderRender *decoder_render;
#endif
VdpVideoSurfaceCreate *video_surface_create;
VdpVideoSurfaceDestroy *video_surface_destroy;
VdpVideoSurfaceGetBitsYCbCr *video_surface_get_bits;
@@ -57,6 +59,8 @@ typedef struct VDPAUContext {
VdpYCbCrFormat vdpau_format;
} VDPAUContext;
int vdpau_api_ver = 2;
static void vdpau_uninit(AVCodecContext *s)
{
InputStream *ist = s->opaque;
@@ -96,9 +100,14 @@ static int vdpau_get_buffer(AVCodecContext *s, AVFrame *frame, int flags)
VDPAUContext *ctx = ist->hwaccel_ctx;
VdpVideoSurface *surface;
VdpStatus err;
VdpChromaType chroma;
uint32_t width, height;
av_assert0(frame->format == AV_PIX_FMT_VDPAU);
if (av_vdpau_get_surface_parameters(s, &chroma, &width, &height))
return AVERROR(ENOSYS);
surface = av_malloc(sizeof(*surface));
if (!surface)
return AVERROR(ENOMEM);
@@ -114,8 +123,8 @@ static int vdpau_get_buffer(AVCodecContext *s, AVFrame *frame, int flags)
// properly we should keep a pool of surfaces instead of creating
// them anew for each frame, but since we don't care about speed
// much in this code, we don't bother
err = ctx->video_surface_create(ctx->device, VDP_CHROMA_TYPE_420,
frame->width, frame->height, surface);
err = ctx->video_surface_create(ctx->device, chroma, width, height,
surface);
if (err != VDP_STATUS_OK) {
av_log(NULL, AV_LOG_ERROR, "Error allocating a VDPAU video surface: %s\n",
ctx->get_error_string(err));
@@ -239,9 +248,11 @@ do {
GET_CALLBACK(VDP_FUNC_ID_GET_ERROR_STRING, get_error_string);
GET_CALLBACK(VDP_FUNC_ID_GET_INFORMATION_STRING, get_information_string);
GET_CALLBACK(VDP_FUNC_ID_DEVICE_DESTROY, device_destroy);
GET_CALLBACK(VDP_FUNC_ID_DECODER_CREATE, decoder_create);
GET_CALLBACK(VDP_FUNC_ID_DECODER_DESTROY, decoder_destroy);
GET_CALLBACK(VDP_FUNC_ID_DECODER_RENDER, decoder_render);
if (vdpau_api_ver == 1) {
GET_CALLBACK(VDP_FUNC_ID_DECODER_CREATE, decoder_create);
GET_CALLBACK(VDP_FUNC_ID_DECODER_DESTROY, decoder_destroy);
GET_CALLBACK(VDP_FUNC_ID_DECODER_RENDER, decoder_render);
}
GET_CALLBACK(VDP_FUNC_ID_VIDEO_SURFACE_CREATE, video_surface_create);
GET_CALLBACK(VDP_FUNC_ID_VIDEO_SURFACE_DESTROY, video_surface_destroy);
GET_CALLBACK(VDP_FUNC_ID_VIDEO_SURFACE_GET_BITS_Y_CB_CR, video_surface_get_bits);
@@ -270,12 +281,16 @@ do {
ctx->vdpau_format = vdpau_formats[i][0];
ctx->pix_fmt = vdpau_formats[i][1];
vdpau_ctx = av_vdpau_alloc_context();
if (!vdpau_ctx)
goto fail;
vdpau_ctx->render = ctx->decoder_render;
if (vdpau_api_ver == 1) {
vdpau_ctx = av_vdpau_alloc_context();
if (!vdpau_ctx)
goto fail;
vdpau_ctx->render = ctx->decoder_render;
s->hwaccel_context = vdpau_ctx;
s->hwaccel_context = vdpau_ctx;
} else
if (av_vdpau_bind_context(s, ctx->device, ctx->get_proc_address, 0))
goto fail;
ctx->get_information_string(&vendor);
av_log(NULL, AV_LOG_VERBOSE, "Using VDPAU -- %s -- on X11 display %s, "
@@ -291,7 +306,7 @@ fail:
return AVERROR(EINVAL);
}
int vdpau_init(AVCodecContext *s)
static int vdpau_old_init(AVCodecContext *s)
{
InputStream *ist = s->opaque;
int loglevel = (ist->hwaccel_id == HWACCEL_AUTO) ? AV_LOG_VERBOSE : AV_LOG_ERROR;
@@ -333,3 +348,22 @@ int vdpau_init(AVCodecContext *s)
return 0;
}
int vdpau_init(AVCodecContext *s)
{
InputStream *ist = s->opaque;
if (vdpau_api_ver == 1)
return vdpau_old_init(s);
if (!ist->hwaccel_ctx) {
int ret = vdpau_alloc(s);
if (ret < 0)
return ret;
}
ist->hwaccel_get_buffer = vdpau_get_buffer;
ist->hwaccel_retrieve_data = vdpau_retrieve_data;
return 0;
}

1202
ffplay.c

File diff suppressed because it is too large Load Diff

134
ffprobe.c
View File

@@ -66,6 +66,9 @@ static int do_show_stream_disposition = 0;
static int do_show_data = 0;
static int do_show_program_version = 0;
static int do_show_library_versions = 0;
static int do_show_pixel_formats = 0;
static int do_show_pixel_format_flags = 0;
static int do_show_pixel_format_components = 0;
static int do_show_chapter_tags = 0;
static int do_show_format_tags = 0;
@@ -83,7 +86,7 @@ static char *print_format;
static char *stream_specifier;
static char *show_data_hash;
typedef struct {
typedef struct ReadInterval {
int id; ///< identifier
int64_t start, end; ///< start, end in second/AV_TIME_BASE units
int has_start, has_end;
@@ -132,6 +135,11 @@ typedef enum {
SECTION_ID_PACKET,
SECTION_ID_PACKETS,
SECTION_ID_PACKETS_AND_FRAMES,
SECTION_ID_PIXEL_FORMAT,
SECTION_ID_PIXEL_FORMAT_FLAGS,
SECTION_ID_PIXEL_FORMAT_COMPONENT,
SECTION_ID_PIXEL_FORMAT_COMPONENTS,
SECTION_ID_PIXEL_FORMATS,
SECTION_ID_PROGRAM_STREAM_DISPOSITION,
SECTION_ID_PROGRAM_STREAM_TAGS,
SECTION_ID_PROGRAM,
@@ -165,6 +173,11 @@ 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_PIXEL_FORMATS] = { SECTION_ID_PIXEL_FORMATS, "pixel_formats", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PIXEL_FORMAT, -1 } },
[SECTION_ID_PIXEL_FORMAT] = { SECTION_ID_PIXEL_FORMAT, "pixel_format", 0, { SECTION_ID_PIXEL_FORMAT_FLAGS, SECTION_ID_PIXEL_FORMAT_COMPONENTS, -1 } },
[SECTION_ID_PIXEL_FORMAT_FLAGS] = { SECTION_ID_PIXEL_FORMAT_FLAGS, "flags", 0, { -1 }, .unique_name = "pixel_format_flags" },
[SECTION_ID_PIXEL_FORMAT_COMPONENTS] = { SECTION_ID_PIXEL_FORMAT_COMPONENTS, "components", SECTION_FLAG_IS_ARRAY, {SECTION_ID_PIXEL_FORMAT_COMPONENT, -1 }, .unique_name = "pixel_format_components" },
[SECTION_ID_PIXEL_FORMAT_COMPONENT] = { SECTION_ID_PIXEL_FORMAT_COMPONENT, "component", 0, { -1 } },
[SECTION_ID_PROGRAM_STREAM_DISPOSITION] = { SECTION_ID_PROGRAM_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "program_stream_disposition" },
[SECTION_ID_PROGRAM_STREAM_TAGS] = { SECTION_ID_PROGRAM_STREAM_TAGS, "tags", SECTION_FLAG_HAS_VARIABLE_FIELDS, { -1 }, .element_name = "tag", .unique_name = "program_stream_tags" },
[SECTION_ID_PROGRAM] = { SECTION_ID_PROGRAM, "program", 0, { SECTION_ID_PROGRAM_TAGS, SECTION_ID_PROGRAM_STREAMS, -1 } },
@@ -175,7 +188,8 @@ static struct section sections[] = {
[SECTION_ID_PROGRAMS] = { SECTION_ID_PROGRAMS, "programs", SECTION_FLAG_IS_ARRAY, { SECTION_ID_PROGRAM, -1 } },
[SECTION_ID_ROOT] = { SECTION_ID_ROOT, "root", SECTION_FLAG_IS_WRAPPER,
{ SECTION_ID_CHAPTERS, SECTION_ID_FORMAT, SECTION_ID_FRAMES, SECTION_ID_PROGRAMS, SECTION_ID_STREAMS,
SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS, -1} },
SECTION_ID_PACKETS, SECTION_ID_ERROR, SECTION_ID_PROGRAM_VERSION, SECTION_ID_LIBRARY_VERSIONS,
SECTION_ID_PIXEL_FORMATS, -1} },
[SECTION_ID_STREAMS] = { SECTION_ID_STREAMS, "streams", SECTION_FLAG_IS_ARRAY, { SECTION_ID_STREAM, -1 } },
[SECTION_ID_STREAM] = { SECTION_ID_STREAM, "stream", 0, { SECTION_ID_STREAM_DISPOSITION, SECTION_ID_STREAM_TAGS, -1 } },
[SECTION_ID_STREAM_DISPOSITION] = { SECTION_ID_STREAM_DISPOSITION, "disposition", 0, { -1 }, .unique_name = "stream_disposition" },
@@ -324,7 +338,7 @@ struct WriterContext {
unsigned int nb_section_frame; ///< number of the frame section in case we are in "packets_and_frames" section
unsigned int nb_section_packet_frame; ///< nb_section_packet or nb_section_frame according if is_packets_and_frames
StringValidation string_validation;
int string_validation;
char *string_validation_replacement;
unsigned int string_validation_utf8_flags;
};
@@ -1178,7 +1192,7 @@ static const Writer flat_writer = {
/* INI format output */
typedef struct {
typedef struct INIContext {
const AVClass *class;
int hierarchical;
} INIContext;
@@ -1282,7 +1296,7 @@ static const Writer ini_writer = {
/* JSON output */
typedef struct {
typedef struct JSONContext {
const AVClass *class;
int indent_level;
int compact;
@@ -1444,7 +1458,7 @@ static const Writer json_writer = {
/* XML output */
typedef struct {
typedef struct XMLContext {
const AVClass *class;
int within_tag;
int indent_level;
@@ -2098,12 +2112,28 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
else print_str_opt("pix_fmt", "unknown");
print_int("level", dec_ctx->level);
if (dec_ctx->color_range != AVCOL_RANGE_UNSPECIFIED)
print_str ("color_range", dec_ctx->color_range == AVCOL_RANGE_MPEG ? "tv": "pc");
print_str ("color_range", av_color_range_name(dec_ctx->color_range));
else
print_str_opt("color_range", "N/A");
s = av_get_colorspace_name(dec_ctx->colorspace);
if (s) print_str ("color_space", s);
else print_str_opt("color_space", "unknown");
if (dec_ctx->color_trc != AVCOL_TRC_UNSPECIFIED)
print_str("color_transfer", av_color_transfer_name(dec_ctx->color_trc));
else
print_str_opt("color_transfer", av_color_transfer_name(dec_ctx->color_trc));
if (dec_ctx->color_primaries != AVCOL_PRI_UNSPECIFIED)
print_str("color_primaries", av_color_primaries_name(dec_ctx->color_primaries));
else
print_str_opt("color_primaries", av_color_primaries_name(dec_ctx->color_primaries));
if (dec_ctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED)
print_str("chroma_location", av_chroma_location_name(dec_ctx->chroma_sample_location));
else
print_str_opt("chroma_location", av_chroma_location_name(dec_ctx->chroma_sample_location));
if (dec_ctx->timecode_frame_start >= 0) {
char tcbuf[AV_TIMECODE_STR_SIZE];
av_timecode_make_mpeg_tc_string(tcbuf, dec_ctx->timecode_frame_start);
@@ -2111,6 +2141,7 @@ static int show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_id
} else {
print_str_opt("timecode", "N/A");
}
print_int("refs", dec_ctx->refs);
break;
case AVMEDIA_TYPE_AUDIO:
@@ -2356,12 +2387,20 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
AVFormatContext *fmt_ctx = NULL;
AVDictionaryEntry *t;
AVDictionary **opts;
int scan_all_pmts_set = 0;
if (!av_dict_get(format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE)) {
av_dict_set(&format_opts, "scan_all_pmts", "1", AV_DICT_DONT_OVERWRITE);
scan_all_pmts_set = 1;
}
if ((err = avformat_open_input(&fmt_ctx, filename,
iformat, &format_opts)) < 0) {
print_error(filename, err);
return err;
}
*fmt_ctx_ptr = fmt_ctx;
if (scan_all_pmts_set)
av_dict_set(&format_opts, "scan_all_pmts", NULL, AV_DICT_MATCH_CASE);
if ((t = av_dict_get(format_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
av_log(NULL, AV_LOG_ERROR, "Option %s not found.\n", t->key);
return AVERROR_OPTION_NOT_FOUND;
@@ -2371,14 +2410,17 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
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;
}
err = avformat_find_stream_info(fmt_ctx, opts);
for (i = 0; i < orig_nb_streams; i++)
av_dict_free(&opts[i]);
av_freep(&opts);
if (err < 0) {
print_error(filename, err);
return err;
}
av_dump_format(fmt_ctx, 0, filename, 0);
/* bind a decoder to each input stream */
@@ -2428,7 +2470,7 @@ static void close_input_file(AVFormatContext **ctx_ptr)
static int probe_file(WriterContext *wctx, const char *filename)
{
AVFormatContext *fmt_ctx;
AVFormatContext *fmt_ctx = NULL;
int ret, i;
int section_id;
@@ -2437,7 +2479,7 @@ static int probe_file(WriterContext *wctx, const char *filename)
ret = open_input_file(&fmt_ctx, filename);
if (ret < 0)
return ret;
goto end;
#define CHECK_END if (ret < 0) goto end
@@ -2495,7 +2537,8 @@ static int probe_file(WriterContext *wctx, const char *filename)
}
end:
close_input_file(&fmt_ctx);
if (fmt_ctx)
close_input_file(&fmt_ctx);
av_freep(&nb_streams_frames);
av_freep(&nb_streams_packets);
av_freep(&selected_streams);
@@ -2519,8 +2562,6 @@ static void ffprobe_show_program_version(WriterContext *w)
print_str("version", FFMPEG_VERSION);
print_fmt("copyright", "Copyright (c) %d-%d the FFmpeg developers",
program_birth_year, CONFIG_THIS_YEAR);
print_str("build_date", __DATE__);
print_str("build_time", __TIME__);
print_str("compiler_ident", CC_IDENT);
print_str("configuration", FFMPEG_CONFIGURATION);
writer_print_section_footer(w);
@@ -2557,6 +2598,58 @@ static void ffprobe_show_library_versions(WriterContext *w)
writer_print_section_footer(w);
}
#define PRINT_PIX_FMT_FLAG(flagname, name) \
do { \
print_int(name, !!(pixdesc->flags & AV_PIX_FMT_FLAG_##flagname)); \
} while (0)
static void ffprobe_show_pixel_formats(WriterContext *w)
{
const AVPixFmtDescriptor *pixdesc = NULL;
int i, n;
writer_print_section_header(w, SECTION_ID_PIXEL_FORMATS);
while (pixdesc = av_pix_fmt_desc_next(pixdesc)) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT);
print_str("name", pixdesc->name);
print_int("nb_components", pixdesc->nb_components);
if ((pixdesc->nb_components >= 3) && !(pixdesc->flags & AV_PIX_FMT_FLAG_RGB)) {
print_int ("log2_chroma_w", pixdesc->log2_chroma_w);
print_int ("log2_chroma_h", pixdesc->log2_chroma_h);
} else {
print_str_opt("log2_chroma_w", "N/A");
print_str_opt("log2_chroma_h", "N/A");
}
n = av_get_bits_per_pixel(pixdesc);
if (n) print_int ("bits_per_pixel", n);
else print_str_opt("bits_per_pixel", "N/A");
if (do_show_pixel_format_flags) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT_FLAGS);
PRINT_PIX_FMT_FLAG(BE, "big_endian");
PRINT_PIX_FMT_FLAG(PAL, "palette");
PRINT_PIX_FMT_FLAG(BITSTREAM, "bitstream");
PRINT_PIX_FMT_FLAG(HWACCEL, "hwaccel");
PRINT_PIX_FMT_FLAG(PLANAR, "planar");
PRINT_PIX_FMT_FLAG(RGB, "rgb");
PRINT_PIX_FMT_FLAG(PSEUDOPAL, "pseudopal");
PRINT_PIX_FMT_FLAG(ALPHA, "alpha");
writer_print_section_footer(w);
}
if (do_show_pixel_format_components && (pixdesc->nb_components > 0)) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT_COMPONENTS);
for (i = 0; i < pixdesc->nb_components; i++) {
writer_print_section_header(w, SECTION_ID_PIXEL_FORMAT_COMPONENT);
print_int("index", i + 1);
print_int("bit_depth", pixdesc->comp[i].depth_minus1 + 1);
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
writer_print_section_footer(w);
}
static int opt_format(void *optctx, const char *opt, const char *arg)
{
iformat = av_find_input_format(arg);
@@ -2890,6 +2983,7 @@ DEFINE_OPT_SHOW_SECTION(format, FORMAT);
DEFINE_OPT_SHOW_SECTION(frames, FRAMES);
DEFINE_OPT_SHOW_SECTION(library_versions, LIBRARY_VERSIONS);
DEFINE_OPT_SHOW_SECTION(packets, PACKETS);
DEFINE_OPT_SHOW_SECTION(pixel_formats, PIXEL_FORMATS);
DEFINE_OPT_SHOW_SECTION(program_version, PROGRAM_VERSION);
DEFINE_OPT_SHOW_SECTION(streams, STREAMS);
DEFINE_OPT_SHOW_SECTION(programs, PROGRAMS);
@@ -2928,6 +3022,7 @@ static const OptionDef real_options[] = {
{ "show_program_version", 0, {(void*)&opt_show_program_version}, "show ffprobe version" },
{ "show_library_versions", 0, {(void*)&opt_show_library_versions}, "show library versions" },
{ "show_versions", 0, {(void*)&opt_show_versions}, "show program and library versions" },
{ "show_pixel_formats", 0, {(void*)&opt_show_pixel_formats}, "show pixel format descriptions" },
{ "show_private_data", OPT_BOOL, {(void*)&show_private_data}, "show private data" },
{ "private", OPT_BOOL, {(void*)&show_private_data}, "same as show_private_data" },
{ "bitexact", OPT_BOOL, {&do_bitexact}, "force bitexact output" },
@@ -2984,6 +3079,9 @@ int main(int argc, char **argv)
SET_DO_SHOW(FRAMES, frames);
SET_DO_SHOW(LIBRARY_VERSIONS, library_versions);
SET_DO_SHOW(PACKETS, packets);
SET_DO_SHOW(PIXEL_FORMATS, pixel_formats);
SET_DO_SHOW(PIXEL_FORMAT_FLAGS, pixel_format_flags);
SET_DO_SHOW(PIXEL_FORMAT_COMPONENTS, pixel_format_components);
SET_DO_SHOW(PROGRAM_VERSION, program_version);
SET_DO_SHOW(PROGRAMS, programs);
SET_DO_SHOW(STREAMS, streams);
@@ -3048,10 +3146,12 @@ int main(int argc, char **argv)
ffprobe_show_program_version(wctx);
if (do_show_library_versions)
ffprobe_show_library_versions(wctx);
if (do_show_pixel_formats)
ffprobe_show_pixel_formats(wctx);
if (!input_filename &&
((do_show_format || do_show_programs || do_show_streams || do_show_chapters || do_show_packets || do_show_error) ||
(!do_show_program_version && !do_show_library_versions))) {
(!do_show_program_version && !do_show_library_versions && !do_show_pixel_formats))) {
show_usage();
av_log(NULL, AV_LOG_ERROR, "You have to specify one input file.\n");
av_log(NULL, AV_LOG_ERROR, "Use -h to get full help or, even better, run 'man %s'.\n", program_name);

2005
ffserver.c

File diff suppressed because it is too large Load Diff

1313
ffserver_config.c Normal file

File diff suppressed because it is too large Load Diff

133
ffserver_config.h Normal file
View File

@@ -0,0 +1,133 @@
/*
* Copyright (c) 2000, 2001, 2002 Fabrice Bellard
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef FFSERVER_CONFIG_H
#define FFSERVER_CONFIG_H
#include "libavutil/dict.h"
#include "libavformat/avformat.h"
#include "libavformat/network.h"
#define FFSERVER_MAX_STREAMS 20
/* each generated stream is described here */
enum FFServerStreamType {
STREAM_TYPE_LIVE,
STREAM_TYPE_STATUS,
STREAM_TYPE_REDIRECT,
};
enum FFServerIPAddressAction {
IP_ALLOW = 1,
IP_DENY,
};
typedef struct FFServerIPAddressACL {
struct FFServerIPAddressACL *next;
enum FFServerIPAddressAction action;
/* These are in host order */
struct in_addr first;
struct in_addr last;
} FFServerIPAddressACL;
/* description of each stream of the ffserver.conf file */
typedef struct FFServerStream {
enum FFServerStreamType stream_type;
char filename[1024]; /* stream filename */
struct FFServerStream *feed; /* feed we are using (can be null if coming from file) */
AVDictionary *in_opts; /* input parameters */
AVDictionary *metadata; /* metadata to set on the stream */
AVInputFormat *ifmt; /* if non NULL, force input format */
AVOutputFormat *fmt;
FFServerIPAddressACL *acl;
char dynamic_acl[1024];
int nb_streams;
int prebuffer; /* Number of milliseconds early to start */
int64_t max_time; /* Number of milliseconds to run */
int send_on_key;
AVStream *streams[FFSERVER_MAX_STREAMS];
int feed_streams[FFSERVER_MAX_STREAMS]; /* index of streams in the feed */
char feed_filename[1024]; /* file name of the feed storage, or
input file name for a stream */
pid_t pid; /* Of ffmpeg process */
time_t pid_start; /* Of ffmpeg process */
char **child_argv;
struct FFServerStream *next;
unsigned bandwidth; /* bandwidth, in kbits/s */
/* RTSP options */
char *rtsp_option;
/* multicast specific */
int is_multicast;
struct in_addr multicast_ip;
int multicast_port; /* first port used for multicast */
int multicast_ttl;
int loop; /* if true, send the stream in loops (only meaningful if file) */
/* feed specific */
int feed_opened; /* true if someone is writing to the feed */
int is_feed; /* true if it is a feed */
int readonly; /* True if writing is prohibited to the file */
int truncate; /* True if feeder connection truncate the feed file */
int conns_served;
int64_t bytes_served;
int64_t feed_max_size; /* maximum storage size, zero means unlimited */
int64_t feed_write_index; /* current write position in feed (it wraps around) */
int64_t feed_size; /* current size of feed */
struct FFServerStream *next_feed;
} FFServerStream;
typedef struct FFServerConfig {
char *filename;
FFServerStream *first_feed; /* contains only feeds */
FFServerStream *first_stream; /* contains all streams, including feeds */
unsigned int nb_max_http_connections;
unsigned int nb_max_connections;
uint64_t max_bandwidth;
int debug;
char logfilename[1024];
struct sockaddr_in http_addr;
struct sockaddr_in rtsp_addr;
int errors;
int warnings;
int use_defaults;
// Following variables MUST NOT be used outside configuration parsing code.
enum AVCodecID guessed_audio_codec_id;
enum AVCodecID guessed_video_codec_id;
AVDictionary *video_opts; /* AVOptions for video encoder */
AVDictionary *audio_opts; /* AVOptions for audio encoder */
AVCodecContext *dummy_actx; /* Used internally to test audio AVOptions. */
AVCodecContext *dummy_vctx; /* Used internally to test video AVOptions. */
int no_audio;
int no_video;
int line_num;
int stream_use_defaults;
} FFServerConfig;
void ffserver_get_arg(char *buf, int buf_size, const char **pp);
void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed,
FFServerIPAddressACL *ext_acl,
const char *p, const char *filename, int line_num);
int ffserver_parse_ffconfig(const char *filename, FFServerConfig *config);
void ffserver_free_child_args(void *argsp);
#endif /* FFSERVER_CONFIG_H */

View File

@@ -38,15 +38,15 @@ static av_cold int zero12v_decode_init(AVCodecContext *avctx)
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 = data;
uint16_t *y, *u, *v;
const uint8_t *line_end, *src = avpkt->data;
int stride = avctx->width * 8 / 3;
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;
}
@@ -67,45 +67,45 @@ static int zero12v_decode_frame(AVCodecContext *avctx, void *data,
pic->pict_type = AV_PICTURE_TYPE_I;
pic->key_frame = 1;
y = (uint16_t *)pic->data[0];
u = (uint16_t *)pic->data[1];
v = (uint16_t *)pic->data[2];
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]);
while (line++ < avctx->height) {
while (1) {
uint32_t t = AV_RL32(src);
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;
@@ -113,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;
@@ -129,18 +122,21 @@ 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;

View File

@@ -339,21 +339,25 @@ static inline void mcdc(uint16_t *dst, const uint16_t *src, int log2w,
}
}
static int decode_p_block(FourXContext *f, uint16_t *dst, uint16_t *src,
static int decode_p_block(FourXContext *f, uint16_t *dst, const uint16_t *src,
int log2w, int log2h, int stride)
{
const int index = size2index[log2h][log2w];
const int h = 1 << log2h;
int code = get_vlc2(&f->gb,
block_type_vlc[1 - (f->version > 1)][index].table,
BLOCK_TYPE_VLC_BITS, 1);
uint16_t *start = f->last_frame_buffer;
uint16_t *end = start + stride * (f->avctx->height - h + 1) - (1 << log2w);
int ret;
int scale = 1;
int index, h, code, ret, scale = 1;
uint16_t *start, *end;
unsigned dc = 0;
av_assert0(code >= 0 && code <= 6 && log2w >= 0);
av_assert0(log2w >= 0 && log2h >= 0);
index = size2index[log2h][log2w];
av_assert0(index >= 0);
h = 1 << log2h;
code = get_vlc2(&f->gb, block_type_vlc[1 - (f->version > 1)][index].table,
BLOCK_TYPE_VLC_BITS, 1);
av_assert0(code >= 0 && code <= 6);
start = f->last_frame_buffer;
end = start + stride * (f->avctx->height - h + 1) - (1 << log2w);
if (code == 1) {
log2h--;

View File

@@ -7,10 +7,12 @@ HEADERS = avcodec.h \
dv_profile.h \
dxva2.h \
old_codec_ids.h \
qsv.h \
vaapi.h \
vda.h \
vdpau.h \
version.h \
vorbis_parser.h \
xvmc.h \
OBJS = allcodecs.o \
@@ -22,15 +24,17 @@ OBJS = allcodecs.o \
bitstream_filter.o \
codec_desc.o \
dv_profile.o \
fmtconvert.o \
imgconvert.o \
mathtables.o \
options.o \
parser.o \
qsv_api.o \
raw.o \
resample.o \
resample2.o \
utils.o \
vorbis_parser.o \
xiph.o \
# subsystems
OBJS-$(CONFIG_AANDCTTABLES) += aandcttab.o
@@ -51,6 +55,7 @@ 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_FMTCONVERT) += fmtconvert.o
OBJS-$(CONFIG_GOLOMB) += golomb.o
OBJS-$(CONFIG_H263DSP) += h263dsp.o
OBJS-$(CONFIG_H264CHROMA) += h264chroma.o
@@ -63,6 +68,7 @@ OBJS-$(CONFIG_HUFFYUVDSP) += huffyuvdsp.o
OBJS-$(CONFIG_HUFFYUVENCDSP) += huffyuvencdsp.o
OBJS-$(CONFIG_IDCTDSP) += idctdsp.o simple_idct.o jrevdct.o
OBJS-$(CONFIG_IIRFILTER) += iirfilter.o
OBJS-$(CONFIG_IMDCT15) += imdct15.o
OBJS-$(CONFIG_INTRAX8) += intrax8.o intrax8dsp.o
OBJS-$(CONFIG_LIBXVID) += libxvid_rc.o
OBJS-$(CONFIG_LLAUDDSP) += lossless_audiodsp.o
@@ -70,7 +76,7 @@ OBJS-$(CONFIG_LLVIDDSP) += lossless_videodsp.o
OBJS-$(CONFIG_LPC) += lpc.o
OBJS-$(CONFIG_LSP) += lsp.o
OBJS-$(CONFIG_MDCT) += mdct_fixed.o mdct_float.o mdct_fixed_32.o
OBJS-$(CONFIG_ME_CMP) += me_cmp.o dsputil_compat.o
OBJS-$(CONFIG_ME_CMP) += me_cmp.o
OBJS-$(CONFIG_MPEG_ER) += mpeg_er.o
OBJS-$(CONFIG_MPEGAUDIO) += mpegaudio.o mpegaudiodata.o \
mpegaudiodecheader.o
@@ -85,6 +91,7 @@ OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
mpegvideoencdsp.o
OBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
OBJS-$(CONFIG_QPELDSP) += qpeldsp.o
OBJS-$(CONFIG_QSV) += qsv.o
OBJS-$(CONFIG_RANGECODER) += rangecoder.o
RDFT-OBJS-$(CONFIG_HARDCODED_TABLES) += sin_tables.o
OBJS-$(CONFIG_RDFT) += rdft.o $(RDFT-OBJS-yes)
@@ -133,6 +140,7 @@ OBJS-$(CONFIG_AMV_ENCODER) += mjpegenc.o mjpeg.o mjpegenc_common.o \
OBJS-$(CONFIG_ANM_DECODER) += anm.o
OBJS-$(CONFIG_ANSI_DECODER) += ansi.o cga_data.o
OBJS-$(CONFIG_APE_DECODER) += apedec.o
OBJS-$(CONFIG_APNG_DECODER) += png.o pngdec.o pngdsp.o
OBJS-$(CONFIG_SSA_DECODER) += assdec.o ass.o ass_split.o
OBJS-$(CONFIG_SSA_ENCODER) += assenc.o ass.o
OBJS-$(CONFIG_ASS_DECODER) += assdec.o ass.o ass_split.o
@@ -169,6 +177,7 @@ OBJS-$(CONFIG_BRENDER_PIX_DECODER) += brenderpix.o
OBJS-$(CONFIG_C93_DECODER) += c93.o
OBJS-$(CONFIG_CAVS_DECODER) += cavs.o cavsdec.o cavsdsp.o \
cavsdata.o mpeg12data.o
OBJS-$(CONFIG_CCAPTION_DECODER) += ccaption_dec.o
OBJS-$(CONFIG_CDGRAPHICS_DECODER) += cdgraphics.o
OBJS-$(CONFIG_CDXL_DECODER) += cdxl.o
OBJS-$(CONFIG_CINEPAK_DECODER) += cinepak.o
@@ -183,8 +192,9 @@ 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 \
dcadata.o dca_exss.o \
synth_filter.o
OBJS-$(CONFIG_DCA_ENCODER) += dcaenc.o dca.o
OBJS-$(CONFIG_DCA_ENCODER) += dcaenc.o dca.o dcadata.o
OBJS-$(CONFIG_DIRAC_DECODER) += diracdec.o dirac.o diracdsp.o \
dirac_arith.o mpeg12data.o dirac_dwt.o
OBJS-$(CONFIG_DFA_DECODER) += dfa.o
@@ -198,6 +208,7 @@ OBJS-$(CONFIG_DSD_LSBF_PLANAR_DECODER) += dsddec.o
OBJS-$(CONFIG_DSD_MSBF_PLANAR_DECODER) += dsddec.o
OBJS-$(CONFIG_DSICINAUDIO_DECODER) += dsicinaudio.o
OBJS-$(CONFIG_DSICINVIDEO_DECODER) += dsicinvideo.o
OBJS-$(CONFIG_DSS_SP_DECODER) += dss_sp.o
OBJS-$(CONFIG_DVBSUB_DECODER) += dvbsubdec.o
OBJS-$(CONFIG_DVBSUB_ENCODER) += dvbsub.o
OBJS-$(CONFIG_DVDSUB_DECODER) += dvdsubdec.o
@@ -206,7 +217,7 @@ OBJS-$(CONFIG_DVVIDEO_DECODER) += dvdec.o dv.o dvdata.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dvenc.o dv.o dvdata.o
OBJS-$(CONFIG_DXA_DECODER) += dxa.o
OBJS-$(CONFIG_DXTORY_DECODER) += dxtory.o
OBJS-$(CONFIG_EAC3_DECODER) += eac3dec.o eac3_data.o
OBJS-$(CONFIG_EAC3_DECODER) += eac3_data.o
OBJS-$(CONFIG_EAC3_ENCODER) += eac3enc.o eac3_data.o
OBJS-$(CONFIG_EACMV_DECODER) += eacmv.o
OBJS-$(CONFIG_EAMAD_DECODER) += eamad.o eaidct.o mpeg12.o \
@@ -256,10 +267,12 @@ OBJS-$(CONFIG_H264_DECODER) += h264.o h264_cabac.o h264_cavlc.o \
h264_mb.o h264_picture.o h264_ps.o \
h264_refs.o h264_sei.o h264_slice.o
OBJS-$(CONFIG_H264_VDA_DECODER) += vda_h264_dec.o
OBJS-$(CONFIG_H264_QSV_DECODER) += qsv_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
OBJS-$(CONFIG_HNM4_VIDEO_DECODER) += hnm4video.o
OBJS-$(CONFIG_HQX_DECODER) += hqx.o hqxvlc.o
OBJS-$(CONFIG_HUFFYUV_DECODER) += huffyuv.o huffyuvdec.o
OBJS-$(CONFIG_HUFFYUV_ENCODER) += huffyuv.o huffyuvenc.o
OBJS-$(CONFIG_IDCIN_DECODER) += idcinvideo.o
@@ -276,7 +289,7 @@ OBJS-$(CONFIG_INTERPLAY_VIDEO_DECODER) += interplayvideo.o
OBJS-$(CONFIG_JACOSUB_DECODER) += jacosubdec.o ass.o
OBJS-$(CONFIG_JPEG2000_ENCODER) += j2kenc.o mqcenc.o mqc.o jpeg2000.o \
jpeg2000dwt.o
OBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dec.o jpeg2000.o \
OBJS-$(CONFIG_JPEG2000_DECODER) += jpeg2000dec.o jpeg2000.o jpeg2000dsp.o \
jpeg2000dwt.o mqcdec.o mqc.o
OBJS-$(CONFIG_JPEGLS_DECODER) += jpeglsdec.o jpegls.o
OBJS-$(CONFIG_JPEGLS_ENCODER) += jpeglsenc.o jpegls.o
@@ -343,10 +356,10 @@ OBJS-$(CONFIG_MXPEG_DECODER) += mxpegdec.o
OBJS-$(CONFIG_NELLYMOSER_DECODER) += nellymoserdec.o nellymoser.o
OBJS-$(CONFIG_NELLYMOSER_ENCODER) += nellymoserenc.o nellymoser.o
OBJS-$(CONFIG_NUV_DECODER) += nuv.o rtjpeg.o
OBJS-$(CONFIG_NVENC_ENCODER) += nvenc.o
OBJS-$(CONFIG_ON2AVC_DECODER) += on2avc.o on2avcdata.o
OBJS-$(CONFIG_OPUS_DECODER) += opusdec.o opus.o opus_celt.o \
opus_imdct.o opus_silk.o \
vorbis_data.o
opus_silk.o vorbis_data.o
OBJS-$(CONFIG_PAF_AUDIO_DECODER) += pafaudio.o
OBJS-$(CONFIG_PAF_VIDEO_DECODER) += pafvideo.o
OBJS-$(CONFIG_PAM_DECODER) += pnmdec.o pnm.o
@@ -429,6 +442,7 @@ OBJS-$(CONFIG_SONIC_LS_ENCODER) += sonic.o
OBJS-$(CONFIG_SP5X_DECODER) += sp5xdec.o
OBJS-$(CONFIG_SRT_DECODER) += srtdec.o ass.o
OBJS-$(CONFIG_SRT_ENCODER) += srtenc.o ass_split.o
OBJS-$(CONFIG_STL_DECODER) += textdec.o ass.o
OBJS-$(CONFIG_SUBRIP_DECODER) += srtdec.o ass.o
OBJS-$(CONFIG_SUBRIP_ENCODER) += srtenc.o ass_split.o
OBJS-$(CONFIG_SUBVIEWER1_DECODER) += textdec.o ass.o
@@ -444,7 +458,6 @@ OBJS-$(CONFIG_TAK_DECODER) += takdec.o tak.o
OBJS-$(CONFIG_TARGA_DECODER) += targa.o
OBJS-$(CONFIG_TARGA_ENCODER) += targaenc.o rle.o
OBJS-$(CONFIG_TARGA_Y216_DECODER) += targa_y216dec.o
OBJS-$(CONFIG_THEORA_DECODER) += xiph.o
OBJS-$(CONFIG_TIERTEXSEQVIDEO_DECODER) += tiertexseqv.o
OBJS-$(CONFIG_TIFF_DECODER) += tiff.o lzw.o faxcompr.o tiff_data.o tiff_common.o
OBJS-$(CONFIG_TIFF_ENCODER) += tiffenc.o rle.o lzwenc.o tiff_data.o
@@ -473,7 +486,9 @@ OBJS-$(CONFIG_V410_ENCODER) += v410enc.o
OBJS-$(CONFIG_V210X_DECODER) += v210x.o
OBJS-$(CONFIG_VB_DECODER) += vb.o
OBJS-$(CONFIG_VBLE_DECODER) += vble.o
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1.o vc1data.o vc1dsp.o \
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1_block.o vc1_loopfilter.o \
vc1_mc.o vc1_pred.o vc1.o vc1data.o \
vc1dsp.o \
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
wmv2dsp.o
OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o
@@ -481,7 +496,7 @@ OBJS-$(CONFIG_VMDAUDIO_DECODER) += vmdaudio.o
OBJS-$(CONFIG_VMDVIDEO_DECODER) += vmdvideo.o
OBJS-$(CONFIG_VMNC_DECODER) += vmnc.o
OBJS-$(CONFIG_VORBIS_DECODER) += vorbisdec.o vorbisdsp.o vorbis.o \
vorbis_data.o xiph.o
vorbis_data.o
OBJS-$(CONFIG_VORBIS_ENCODER) += vorbisenc.o vorbis.o \
vorbis_data.o
OBJS-$(CONFIG_VP3_DECODER) += vp3.o
@@ -611,8 +626,8 @@ OBJS-$(CONFIG_ADPCM_EA_R1_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_R2_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_R3_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_EA_XAS_DECODER) += adpcm.o adpcm_data.o
OBJS-$(CONFIG_ADPCM_G722_DECODER) += g722.o g722dec.o
OBJS-$(CONFIG_ADPCM_G722_ENCODER) += g722.o g722enc.o
OBJS-$(CONFIG_ADPCM_G722_DECODER) += g722.o g722dsp.o g722dec.o
OBJS-$(CONFIG_ADPCM_G722_ENCODER) += g722.o g722dsp.o g722enc.o
OBJS-$(CONFIG_ADPCM_G726_DECODER) += g726.o
OBJS-$(CONFIG_ADPCM_G726_ENCODER) += g726.o
OBJS-$(CONFIG_ADPCM_G726LE_DECODER) += g726.o
@@ -651,42 +666,41 @@ OBJS-$(CONFIG_VAAPI) += vaapi.o
OBJS-$(CONFIG_VDA) += vda.o
OBJS-$(CONFIG_VDPAU) += vdpau.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_H263_VAAPI_HWACCEL) += vaapi_mpeg4.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_HEVC_DXVA2_HWACCEL) += dxva2_hevc.o
OBJS-$(CONFIG_MPEG1_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG1_XVMC_HWACCEL) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG2_DXVA2_HWACCEL) += dxva2_mpeg2.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG2_VAAPI_HWACCEL) += vaapi_mpeg2.o
OBJS-$(CONFIG_MPEG2_VDPAU_HWACCEL) += vdpau_mpeg12.o
OBJS-$(CONFIG_MPEG2_XVMC_HWACCEL) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.o vaapi_mpeg.o
OBJS-$(CONFIG_MPEG4_VAAPI_HWACCEL) += vaapi_mpeg4.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_VAAPI_HWACCEL) += vaapi_vc1.o
OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
# libavformat dependencies
OBJS-$(CONFIG_ADTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_CAF_DEMUXER) += mpeg4audio.o mpegaudiodata.o \
ac3tab.o
OBJS-$(CONFIG_FLAC_DEMUXER) += flac.o flacdata.o vorbis_data.o \
vorbis_parser.o xiph.o
OBJS-$(CONFIG_FLAC_DEMUXER) += flac.o flacdata.o vorbis_data.o
OBJS-$(CONFIG_FLAC_MUXER) += flac.o flacdata.o vorbis_data.o
OBJS-$(CONFIG_FLV_DEMUXER) += mpeg4audio.o
OBJS-$(CONFIG_GXF_DEMUXER) += mpeg12data.o
OBJS-$(CONFIG_IFF_DEMUXER) += iff.o
OBJS-$(CONFIG_ISMV_MUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_LATM_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += xiph.o mpeg4audio.o vorbis_data.o \
OBJS-$(CONFIG_MATROSKA_AUDIO_MUXER) += mpeg4audio.o vorbis_data.o \
flac.o flacdata.o
OBJS-$(CONFIG_MATROSKA_DEMUXER) += mpeg4audio.o mpegaudiodata.o \
vorbis_parser.o xiph.o
OBJS-$(CONFIG_MATROSKA_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_MATROSKA_MUXER) += mpeg4audio.o mpegaudiodata.o \
flac.o flacdata.o vorbis_data.o xiph.o
flac.o flacdata.o vorbis_data.o
OBJS-$(CONFIG_MP2_MUXER) += mpegaudiodata.o mpegaudiodecheader.o
OBJS-$(CONFIG_MP3_MUXER) += mpegaudiodata.o mpegaudiodecheader.o
OBJS-$(CONFIG_MOV_DEMUXER) += mpeg4audio.o mpegaudiodata.o ac3tab.o
@@ -695,21 +709,20 @@ OBJS-$(CONFIG_MPEGTS_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_MPEGTS_DEMUXER) += mpeg4audio.o mpegaudiodata.o
OBJS-$(CONFIG_MXF_MUXER) += dnxhddata.o
OBJS-$(CONFIG_NUT_MUXER) += mpegaudiodata.o
OBJS-$(CONFIG_OGA_MUXER) += xiph.o flac.o flacdata.o
OBJS-$(CONFIG_OGG_DEMUXER) += xiph.o flac.o flacdata.o \
mpeg12data.o vorbis_parser.o \
OBJS-$(CONFIG_NUT_DEMUXER) += mpegaudiodata.o mpeg4audio.o
OBJS-$(CONFIG_OGA_MUXER) += flac.o flacdata.o
OBJS-$(CONFIG_OGG_DEMUXER) += mpeg12data.o \
dirac.o vorbis_data.o
OBJS-$(CONFIG_OGG_MUXER) += xiph.o flac.o flacdata.o \
OBJS-$(CONFIG_OGG_MUXER) += flac.o flacdata.o \
vorbis_data.o
OBJS-$(CONFIG_RTP_MUXER) += mpeg4audio.o xiph.o
OBJS-$(CONFIG_RTP_MUXER) += mpeg4audio.o
OBJS-$(CONFIG_RTPDEC) += mjpeg.o
OBJS-$(CONFIG_SPDIF_DEMUXER) += aacadtsdec.o mpeg4audio.o
OBJS-$(CONFIG_SPDIF_MUXER) += dca.o
OBJS-$(CONFIG_TAK_DEMUXER) += tak.o
OBJS-$(CONFIG_WEBM_MUXER) += mpeg4audio.o mpegaudiodata.o \
xiph.o flac.o flacdata.o \
flac.o flacdata.o \
vorbis_data.o
OBJS-$(CONFIG_WEBM_DASH_MANIFEST_DEMUXER) += vorbis_parser.o xiph.o
OBJS-$(CONFIG_WTV_DEMUXER) += mpeg4audio.o mpegaudiodata.o
# libavfilter dependencies
@@ -731,6 +744,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o mpegaudiodecheader.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o
OBJS-$(CONFIG_LIBOPENH264_ENCODER) += libopenh264enc.o
OBJS-$(CONFIG_LIBOPENJPEG_DECODER) += libopenjpegdec.o
OBJS-$(CONFIG_LIBOPENJPEG_ENCODER) += libopenjpegenc.o
OBJS-$(CONFIG_LIBOPUS_DECODER) += libopusdec.o libopus.o \
@@ -753,7 +767,7 @@ OBJS-$(CONFIG_LIBVO_AACENC_ENCODER) += libvo-aacenc.o mpeg4audio.o
OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o
OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o
OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \
vorbis_data.o vorbis_parser.o xiph.o
vorbis_data.o
OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o libvpx.o
@@ -806,10 +820,7 @@ OBJS-$(CONFIG_PNM_PARSER) += pnm_parser.o pnm.o
OBJS-$(CONFIG_RV30_PARSER) += rv34_parser.o
OBJS-$(CONFIG_RV40_PARSER) += rv34_parser.o
OBJS-$(CONFIG_TAK_PARSER) += tak_parser.o tak.o
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o vc1.o vc1data.o vc1dsp.o \
msmpeg4.o msmpeg4data.o mpeg4video.o \
h263.o
OBJS-$(CONFIG_VORBIS_PARSER) += vorbis_parser.o xiph.o
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o
OBJS-$(CONFIG_VP3_PARSER) += vp3_parser.o
OBJS-$(CONFIG_VP8_PARSER) += vp8_parser.o
OBJS-$(CONFIG_VP9_PARSER) += vp9_parser.o
@@ -846,17 +857,22 @@ SKIPHEADERS += %_tablegen.h \
libutvideo.h \
old_codec_ids.h \
tableprint.h \
tableprint_vlc.h \
$(ARCH)/vp56_arith.h \
SKIPHEADERS-$(CONFIG_DXVA2) += dxva2.h dxva2_internal.h
SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER) += libschroedinger.h
SKIPHEADERS-$(CONFIG_LIBUTVIDEO) += libutvideo.h
SKIPHEADERS-$(CONFIG_QSV) += qsv.h qsv_internal.h
SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_internal.h
SKIPHEADERS-$(CONFIG_VDA) += vda.h vda_internal.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
TESTPROGS = imgconvert \
options \
avfft \
TESTPROGS-$(CONFIG_CABAC) += cabac
TESTPROGS-$(CONFIG_FFT) += fft fft-fixed fft-fixed32

View File

@@ -28,6 +28,7 @@
#include "a64tables.h"
#include "elbg.h"
#include "internal.h"
#include "libavutil/avassert.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
@@ -65,7 +66,7 @@ static const int mc_colors[5]={0x0,0xb,0xc,0xf,0x1};
//static const int mc_colors[5]={0x0,0x8,0xa,0xf,0x7};
//static const int mc_colors[5]={0x0,0x9,0x8,0xa,0x3};
static void to_meta_with_crop(AVCodecContext *avctx, AVFrame *p, int *dest)
static void to_meta_with_crop(AVCodecContext *avctx, const AVFrame *p, int *dest)
{
int blockx, blocky, x, y;
int luma = 0;
@@ -78,9 +79,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;
}
@@ -186,7 +191,6 @@ 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_freep(&c->mc_meta_charset);
av_freep(&c->mc_best_cb);
av_freep(&c->mc_charset);
@@ -220,7 +224,7 @@ static av_cold int a64multi_encode_init(AVCodecContext *avctx)
a64_palette[mc_colors[a]][2] * 0.11;
}
if (!(c->mc_meta_charset = av_malloc_array(c->mc_lifetime, 32000 * sizeof(int))) ||
if (!(c->mc_meta_charset = av_mallocz_array(c->mc_lifetime, 32000 * sizeof(int))) ||
!(c->mc_best_cb = av_malloc(CHARSET_CHARS * 32 * sizeof(int))) ||
!(c->mc_charmap = av_mallocz_array(c->mc_lifetime, 1000 * sizeof(int))) ||
!(c->mc_colram = av_mallocz(CHARSET_CHARS * sizeof(uint8_t))) ||
@@ -238,14 +242,6 @@ static av_cold int a64multi_encode_init(AVCodecContext *avctx)
AV_WB32(avctx->extradata, c->mc_lifetime);
AV_WB32(avctx->extradata + 16, INTERLACED);
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)
avctx->codec_tag = AV_RL32("a64m");
@@ -270,10 +266,9 @@ static void a64_compress_colram(unsigned char *buf, int *charmap, uint8_t *colra
}
static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
const AVFrame *pict, int *got_packet)
const AVFrame *p, int *got_packet)
{
A64Context *c = avctx->priv_data;
AVFrame *const p = avctx->coded_frame;
int frame;
int x, y;
@@ -304,7 +299,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
/* no data, means end encoding asap */
if (!pict) {
if (!p) {
/* all done, end encoding */
if (!c->mc_lifetime) return 0;
/* no more frames in queue, prepare to flush remaining frames */
@@ -317,13 +312,10 @@ 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;
p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame = 1;
to_meta_with_crop(avctx, p, meta + 32000 * c->mc_frame_counter);
c->mc_frame_counter++;
if (c->next_pts == AV_NOPTS_VALUE)
c->next_pts = pict->pts;
c->next_pts = p->pts;
/* lifetime is not reached so wait for next frame first */
return 0;
}
@@ -334,14 +326,20 @@ 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;
/* calc optimal new charset + charmaps */
avpriv_init_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
avpriv_do_elbg (meta, 32, 1000 * c->mc_lifetime, best_cb, CHARSET_CHARS, 50, charmap, &c->randctx);
ret = avpriv_init_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb,
CHARSET_CHARS, 50, charmap, &c->randctx);
if (ret < 0)
return ret;
ret = avpriv_do_elbg(meta, 32, 1000 * c->mc_lifetime, best_cb,
CHARSET_CHARS, 50, charmap, &c->randctx);
if (ret < 0)
return ret;
/* create colorram map and a c64 readable charset */
render_charset(avctx, charset, colram);
@@ -351,6 +349,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
/* advance pointers */
buf += charset_size;
req_size += charset_size;
}
/* write x frames to buf */
@@ -387,6 +386,7 @@ static int a64multi_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
pkt->pts = pkt->dts = c->next_pts;
c->next_pts = AV_NOPTS_VALUE;
av_assert0(pkt->size >= req_size);
pkt->size = req_size;
pkt->flags |= AV_PKT_FLAG_KEY;
*got_packet = !!req_size;

View File

@@ -32,10 +32,10 @@
#include "libavutil/float_dsp.h"
#include "avcodec.h"
#include "imdct15.h"
#include "fft.h"
#include "mpeg4audio.h"
#include "sbr.h"
#include "fmtconvert.h"
#include <stdint.h>
@@ -233,7 +233,8 @@ typedef struct SingleChannelElement {
float sf[120]; ///< scalefactors
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, pcoeffs)[1024]; ///< coefficients for IMDCT, pristine
DECLARE_ALIGNED(32, float, coeffs)[1024]; ///< coefficients for IMDCT, maybe processed
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
@@ -245,6 +246,7 @@ typedef struct SingleChannelElement {
* channel element - generic struct for SCE/CPE/CCE/LFE
*/
typedef struct ChannelElement {
int present;
// CPE specific
int common_window; ///< Set if channels share a common 'IndividualChannelStream' in bitstream.
int ms_mode; ///< Signals mid/side stereo flags coding mode (used by encoder)
@@ -274,6 +276,7 @@ struct AACContext {
ChannelElement *che[4][MAX_ELEM_ID];
ChannelElement *tag_che_map[4][MAX_ELEM_ID];
int tags_mapped;
int warned_remapping_once;
/** @} */
/**
@@ -292,8 +295,8 @@ struct AACContext {
FFTContext mdct_small;
FFTContext mdct_ld;
FFTContext mdct_ltp;
FmtConvertContext fmt_conv;
AVFloatDSPContext fdsp;
IMDCT15Context *mdct480;
AVFloatDSPContext *fdsp;
int random_state;
/** @} */

View File

@@ -90,6 +90,10 @@ static int aac_adtstoasc_filter(AVBitStreamFilterContext *bsfc,
av_free(avctx->extradata);
avctx->extradata_size = 2 + pce_size;
avctx->extradata = av_mallocz(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
if (!avctx->extradata) {
avctx->extradata_size = 0;
return AVERROR(ENOMEM);
}
init_put_bits(&pb, avctx->extradata, avctx->extradata_size);
put_bits(&pb, 5, hdr.object_type);

View File

@@ -161,7 +161,7 @@ static av_always_inline float quantize_and_encode_band_cost_template(
di = t - CLIPPED_ESCAPE;
curbits += 21;
} else {
int c = av_clip(quant(t, Q), 0, 8191);
int c = av_clip_uintp2(quant(t, Q), 13);
di = t - c*cbrtf(c)*IQ;
curbits += av_log2(c)*2 - 4 + 1;
}
@@ -191,7 +191,7 @@ static av_always_inline float quantize_and_encode_band_cost_template(
if (BT_ESC) {
for (j = 0; j < 2; j++) {
if (ff_aac_codebook_vectors[cb-1][curidx*2+j] == 64.0f) {
int coef = av_clip(quant(fabsf(in[i+j]), Q), 0, 8191);
int coef = av_clip_uintp2(quant(fabsf(in[i+j]), Q), 13);
int len = av_log2(coef);
put_bits(pb, len - 4 + 1, (1 << (len - 4 + 1)) - 2);
@@ -1069,10 +1069,10 @@ static void search_for_ms(AACEncContext *s, ChannelElement *cpe,
float minthr = FFMIN(band0->threshold, band1->threshold);
float maxthr = FFMAX(band0->threshold, band1->threshold);
for (i = 0; i < sce0->ics.swb_sizes[g]; i++) {
M[i] = (sce0->coeffs[start+w2*128+i]
+ sce1->coeffs[start+w2*128+i]) * 0.5;
M[i] = (sce0->pcoeffs[start+w2*128+i]
+ sce1->pcoeffs[start+w2*128+i]) * 0.5;
S[i] = M[i]
- sce1->coeffs[start+w2*128+i];
- sce1->pcoeffs[start+w2*128+i];
}
abs_pow34_v(L34, sce0->coeffs+start+w2*128, sce0->ics.swb_sizes[g]);
abs_pow34_v(R34, sce1->coeffs+start+w2*128, sce0->ics.swb_sizes[g]);

View File

@@ -87,7 +87,7 @@
#include "internal.h"
#include "get_bits.h"
#include "fft.h"
#include "fmtconvert.h"
#include "imdct15.h"
#include "lpc.h"
#include "kbdwin.h"
#include "sinewin.h"
@@ -102,7 +102,6 @@
#include "aacadtsdec.h"
#include "libavutil/intfloat.h"
#include <assert.h>
#include <errno.h>
#include <math.h>
#include <stdint.h>
@@ -425,7 +424,7 @@ static uint64_t sniff_channel_order(uint8_t (*layout_map)[3], int tags)
* Save current output configuration if and only if it has been locked.
*/
static void push_output_configuration(AACContext *ac) {
if (ac->oc[1].status == OC_LOCKED) {
if (ac->oc[1].status == OC_LOCKED || ac->oc[0].status == OC_NONE) {
ac->oc[0] = ac->oc[1];
}
ac->oc[1].status = OC_NONE;
@@ -621,6 +620,12 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id)
* If we seem to have encountered such a stream, transfer
* the LFE[0] element to the SCE[1]'s mapping */
if (ac->tags_mapped == tags_per_config[ac->oc[1].m4ac.chan_config] - 1 && (type == TYPE_LFE || type == TYPE_SCE)) {
if (!ac->warned_remapping_once && (type != TYPE_LFE || elem_id != 0)) {
av_log(ac->avctx, AV_LOG_WARNING,
"This stream seems to incorrectly report its last channel as %s[%d], mapping to LFE[0]\n",
type == TYPE_SCE ? "SCE" : "LFE", elem_id);
ac->warned_remapping_once++;
}
ac->tags_mapped++;
return ac->tag_che_map[type][elem_id] = ac->che[TYPE_LFE][0];
}
@@ -630,6 +635,22 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id)
return ac->tag_che_map[TYPE_CPE][elem_id] = ac->che[TYPE_CPE][1];
}
case 4:
/* Some streams incorrectly code 4.0 audio as
* SCE[0] CPE[0] LFE[0]
* instead of
* SCE[0] CPE[0] SCE[1].
* If we seem to have encountered such a stream, transfer
* the SCE[1] element to the LFE[0]'s mapping */
if (ac->tags_mapped == tags_per_config[ac->oc[1].m4ac.chan_config] - 1 && (type == TYPE_LFE || type == TYPE_SCE)) {
if (!ac->warned_remapping_once && (type != TYPE_SCE || elem_id != 1)) {
av_log(ac->avctx, AV_LOG_WARNING,
"This stream seems to incorrectly report its last channel as %s[%d], mapping to SCE[1]\n",
type == TYPE_SCE ? "SCE" : "LFE", elem_id);
ac->warned_remapping_once++;
}
ac->tags_mapped++;
return ac->tag_che_map[type][elem_id] = ac->che[TYPE_SCE][1];
}
if (ac->tags_mapped == 2 &&
ac->oc[1].m4ac.chan_config == 4 &&
type == TYPE_SCE) {
@@ -681,6 +702,7 @@ static void decode_channel_map(uint8_t layout_map[][3],
syn_ele = TYPE_LFE;
break;
default:
// AAC_CHANNEL_OFF has no channel map
av_assert0(0);
}
layout_map[0][0] = syn_ele;
@@ -778,6 +800,7 @@ static int decode_ga_specific_config(AACContext *ac, AVCodecContext *avctx,
avpriv_request_sample(avctx, "960/120 MDCT window");
return AVERROR_PATCHWELCOME;
}
m4ac->frame_length_short = 0;
if (get_bits1(gb)) // dependsOnCoreCoder
skip_bits(gb, 14); // coreCoderDelay
@@ -855,11 +878,7 @@ static int decode_eld_specific_config(AACContext *ac, AVCodecContext *avctx,
m4ac->ps = 0;
m4ac->sbr = 0;
if (get_bits1(gb)) { // frameLengthFlag
avpriv_request_sample(avctx, "960/120 MDCT window");
return AVERROR_PATCHWELCOME;
}
m4ac->frame_length_short = get_bits1(gb);
res_flags = get_bits(gb, 3);
if (res_flags) {
avpriv_report_missing_feature(avctx,
@@ -881,7 +900,7 @@ static int decode_eld_specific_config(AACContext *ac, AVCodecContext *avctx,
if (len == 15 + 255)
len += get_bits(gb, 16);
if (get_bits_left(gb) < len * 8 + 4) {
av_log(ac->avctx, AV_LOG_ERROR, overread_err);
av_log(avctx, AV_LOG_ERROR, overread_err);
return AVERROR_INVALIDDATA;
}
skip_bits_long(gb, 8 * len);
@@ -1113,8 +1132,10 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
ff_aac_sbr_init();
ff_fmt_convert_init(&ac->fmt_conv, avctx);
avpriv_float_dsp_init(&ac->fdsp, avctx->flags & CODEC_FLAG_BITEXACT);
ac->fdsp = avpriv_float_dsp_alloc(avctx->flags & CODEC_FLAG_BITEXACT);
if (!ac->fdsp) {
return AVERROR(ENOMEM);
}
ac->random_state = 0x1f2e3d4c;
@@ -1134,6 +1155,10 @@ static av_cold int aac_decode_init(AVCodecContext *avctx)
ff_mdct_init(&ac->mdct_ld, 10, 1, 1.0 / (32768.0 * 512.0));
ff_mdct_init(&ac->mdct_small, 8, 1, 1.0 / (32768.0 * 128.0));
ff_mdct_init(&ac->mdct_ltp, 11, 0, -2.0 * 32768.0);
ret = ff_imdct15_init(&ac->mdct480, 5);
if (ret < 0)
return ret;
// window initialization
ff_kbd_window_init(ff_aac_kbd_long_1024, 4.0, 1024);
ff_kbd_window_init(ff_aac_kbd_short_128, 6.0, 128);
@@ -1205,11 +1230,14 @@ static void decode_ltp(LongTermPrediction *ltp,
static int decode_ics_info(AACContext *ac, IndividualChannelStream *ics,
GetBitContext *gb)
{
int aot = ac->oc[1].m4ac.object_type;
const MPEG4AudioConfig *const m4ac = &ac->oc[1].m4ac;
const int aot = m4ac->object_type;
const int sampling_index = m4ac->sampling_index;
if (aot != AOT_ER_AAC_ELD) {
if (get_bits1(gb)) {
av_log(ac->avctx, AV_LOG_ERROR, "Reserved bit set.\n");
return AVERROR_INVALIDDATA;
if (ac->avctx->err_recognition & AV_EF_BITSTREAM)
return AVERROR_INVALIDDATA;
}
ics->window_sequence[1] = ics->window_sequence[0];
ics->window_sequence[0] = get_bits(gb, 2);
@@ -1238,23 +1266,29 @@ static int decode_ics_info(AACContext *ac, IndividualChannelStream *ics,
}
}
ics->num_windows = 8;
ics->swb_offset = ff_swb_offset_128[ac->oc[1].m4ac.sampling_index];
ics->num_swb = ff_aac_num_swb_128[ac->oc[1].m4ac.sampling_index];
ics->tns_max_bands = ff_tns_max_bands_128[ac->oc[1].m4ac.sampling_index];
ics->swb_offset = ff_swb_offset_128[sampling_index];
ics->num_swb = ff_aac_num_swb_128[sampling_index];
ics->tns_max_bands = ff_tns_max_bands_128[sampling_index];
ics->predictor_present = 0;
} else {
ics->max_sfb = get_bits(gb, 6);
ics->num_windows = 1;
ics->max_sfb = get_bits(gb, 6);
ics->num_windows = 1;
if (aot == AOT_ER_AAC_LD || aot == AOT_ER_AAC_ELD) {
ics->swb_offset = ff_swb_offset_512[ac->oc[1].m4ac.sampling_index];
ics->num_swb = ff_aac_num_swb_512[ac->oc[1].m4ac.sampling_index];
ics->tns_max_bands = ff_tns_max_bands_512[ac->oc[1].m4ac.sampling_index];
if (m4ac->frame_length_short) {
ics->swb_offset = ff_swb_offset_480[sampling_index];
ics->num_swb = ff_aac_num_swb_480[sampling_index];
ics->tns_max_bands = ff_tns_max_bands_480[sampling_index];
} else {
ics->swb_offset = ff_swb_offset_512[sampling_index];
ics->num_swb = ff_aac_num_swb_512[sampling_index];
ics->tns_max_bands = ff_tns_max_bands_512[sampling_index];
}
if (!ics->num_swb || !ics->swb_offset)
return AVERROR_BUG;
} else {
ics->swb_offset = ff_swb_offset_1024[ac->oc[1].m4ac.sampling_index];
ics->num_swb = ff_aac_num_swb_1024[ac->oc[1].m4ac.sampling_index];
ics->tns_max_bands = ff_tns_max_bands_1024[ac->oc[1].m4ac.sampling_index];
ics->swb_offset = ff_swb_offset_1024[sampling_index];
ics->num_swb = ff_aac_num_swb_1024[sampling_index];
ics->tns_max_bands = ff_tns_max_bands_1024[sampling_index];
}
if (aot != AOT_ER_AAC_ELD) {
ics->predictor_present = get_bits1(gb);
@@ -1490,13 +1524,12 @@ static void decode_mid_side_stereo(ChannelElement *cpe, GetBitContext *gb,
int ms_present)
{
int idx;
int max_idx = cpe->ch[0].ics.num_window_groups * cpe->ch[0].ics.max_sfb;
if (ms_present == 1) {
for (idx = 0;
idx < cpe->ch[0].ics.num_window_groups * cpe->ch[0].ics.max_sfb;
idx++)
for (idx = 0; idx < max_idx; idx++)
cpe->ms_mask[idx] = get_bits1(gb);
} else if (ms_present == 2) {
memset(cpe->ms_mask, 1, sizeof(cpe->ms_mask[0]) * cpe->ch[0].ics.num_window_groups * cpe->ch[0].ics.max_sfb);
memset(cpe->ms_mask, 1, max_idx * sizeof(cpe->ms_mask[0]));
}
}
@@ -1618,9 +1651,9 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024],
cfo[k] = ac->random_state;
}
band_energy = ac->fdsp.scalarproduct_float(cfo, cfo, off_len);
band_energy = ac->fdsp->scalarproduct_float(cfo, cfo, off_len);
scale = sf[idx] / sqrtf(band_energy);
ac->fdsp.vector_fmul_scalar(cfo, cfo, scale, off_len);
ac->fdsp->vector_fmul_scalar(cfo, cfo, scale, off_len);
}
} else {
const float *vq = ff_aac_codebook_vector_vals[cbt_m1];
@@ -1766,7 +1799,7 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024],
}
} while (len -= 2);
ac->fdsp.vector_fmul_scalar(cfo, cfo, sf[idx], off_len);
ac->fdsp->vector_fmul_scalar(cfo, cfo, sf[idx], off_len);
}
}
@@ -1979,7 +2012,7 @@ static void apply_mid_side_stereo(AACContext *ac, ChannelElement *cpe)
cpe->ch[0].band_type[idx] < NOISE_BT &&
cpe->ch[1].band_type[idx] < NOISE_BT) {
for (group = 0; group < ics->group_len[g]; group++) {
ac->fdsp.butterflies_float(ch0 + group * 128 + offsets[i],
ac->fdsp->butterflies_float(ch0 + group * 128 + offsets[i],
ch1 + group * 128 + offsets[i],
offsets[i+1] - offsets[i]);
}
@@ -2018,7 +2051,7 @@ static void apply_intensity_stereo(AACContext *ac,
c *= 1 - 2 * cpe->ms_mask[idx];
scale = c * sce1->sf[idx];
for (group = 0; group < ics->group_len[g]; group++)
ac->fdsp.vector_fmul_scalar(coef1 + group * 128 + offsets[i],
ac->fdsp->vector_fmul_scalar(coef1 + group * 128 + offsets[i],
coef0 + group * 128 + offsets[i],
scale,
offsets[i + 1] - offsets[i]);
@@ -2268,7 +2301,12 @@ static int decode_extension_payload(AACContext *ac, GetBitContext *gb, int cnt,
{
int crc_flag = 0;
int res = cnt;
switch (get_bits(gb, 4)) { // extension type
int type = get_bits(gb, 4);
if (ac->avctx->debug & FF_DEBUG_STARTCODE)
av_log(ac->avctx, AV_LOG_DEBUG, "extension type: %d len:%d\n", type, cnt);
switch (type) { // extension type
case EXT_SBR_DATA_CRC:
crc_flag++;
case EXT_SBR_DATA:
@@ -2381,15 +2419,15 @@ static void windowing_and_mdct_ltp(AACContext *ac, float *out,
const float *swindow_prev = ics->use_kb_window[1] ? ff_aac_kbd_short_128 : ff_sine_128;
if (ics->window_sequence[0] != LONG_STOP_SEQUENCE) {
ac->fdsp.vector_fmul(in, in, lwindow_prev, 1024);
ac->fdsp->vector_fmul(in, in, lwindow_prev, 1024);
} else {
memset(in, 0, 448 * sizeof(float));
ac->fdsp.vector_fmul(in + 448, in + 448, swindow_prev, 128);
ac->fdsp->vector_fmul(in + 448, in + 448, swindow_prev, 128);
}
if (ics->window_sequence[0] != LONG_START_SEQUENCE) {
ac->fdsp.vector_fmul_reverse(in + 1024, in + 1024, lwindow, 1024);
ac->fdsp->vector_fmul_reverse(in + 1024, in + 1024, lwindow, 1024);
} else {
ac->fdsp.vector_fmul_reverse(in + 1024 + 448, in + 1024 + 448, swindow, 128);
ac->fdsp->vector_fmul_reverse(in + 1024 + 448, in + 1024 + 448, swindow, 128);
memset(in + 1024 + 576, 0, 448 * sizeof(float));
}
ac->mdct_ltp.mdct_calc(&ac->mdct_ltp, out, in);
@@ -2442,17 +2480,17 @@ static void update_ltp(AACContext *ac, SingleChannelElement *sce)
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
memcpy(saved_ltp, saved, 512 * sizeof(float));
memset(saved_ltp + 576, 0, 448 * sizeof(float));
ac->fdsp.vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
ac->fdsp->vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
for (i = 0; i < 64; i++)
saved_ltp[i + 512] = ac->buf_mdct[1023 - i] * swindow[63 - i];
} else if (ics->window_sequence[0] == LONG_START_SEQUENCE) {
memcpy(saved_ltp, ac->buf_mdct + 512, 448 * sizeof(float));
memset(saved_ltp + 576, 0, 448 * sizeof(float));
ac->fdsp.vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
ac->fdsp->vector_fmul_reverse(saved_ltp + 448, ac->buf_mdct + 960, &swindow[64], 64);
for (i = 0; i < 64; i++)
saved_ltp[i + 512] = ac->buf_mdct[1023 - i] * swindow[63 - i];
} else { // LONG_STOP or ONLY_LONG
ac->fdsp.vector_fmul_reverse(saved_ltp, ac->buf_mdct + 512, &lwindow[512], 512);
ac->fdsp->vector_fmul_reverse(saved_ltp, ac->buf_mdct + 512, &lwindow[512], 512);
for (i = 0; i < 512; i++)
saved_ltp[i + 512] = ac->buf_mdct[1023 - i] * lwindow[511 - i];
}
@@ -2493,19 +2531,19 @@ static void imdct_and_windowing(AACContext *ac, SingleChannelElement *sce)
*/
if ((ics->window_sequence[1] == ONLY_LONG_SEQUENCE || ics->window_sequence[1] == LONG_STOP_SEQUENCE) &&
(ics->window_sequence[0] == ONLY_LONG_SEQUENCE || ics->window_sequence[0] == LONG_START_SEQUENCE)) {
ac->fdsp.vector_fmul_window( out, saved, buf, lwindow_prev, 512);
ac->fdsp->vector_fmul_window( out, saved, buf, lwindow_prev, 512);
} else {
memcpy( out, saved, 448 * sizeof(float));
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
ac->fdsp.vector_fmul_window(out + 448 + 0*128, saved + 448, buf + 0*128, swindow_prev, 64);
ac->fdsp.vector_fmul_window(out + 448 + 1*128, buf + 0*128 + 64, buf + 1*128, swindow, 64);
ac->fdsp.vector_fmul_window(out + 448 + 2*128, buf + 1*128 + 64, buf + 2*128, swindow, 64);
ac->fdsp.vector_fmul_window(out + 448 + 3*128, buf + 2*128 + 64, buf + 3*128, swindow, 64);
ac->fdsp.vector_fmul_window(temp, buf + 3*128 + 64, buf + 4*128, swindow, 64);
ac->fdsp->vector_fmul_window(out + 448 + 0*128, saved + 448, buf + 0*128, swindow_prev, 64);
ac->fdsp->vector_fmul_window(out + 448 + 1*128, buf + 0*128 + 64, buf + 1*128, swindow, 64);
ac->fdsp->vector_fmul_window(out + 448 + 2*128, buf + 1*128 + 64, buf + 2*128, swindow, 64);
ac->fdsp->vector_fmul_window(out + 448 + 3*128, buf + 2*128 + 64, buf + 3*128, swindow, 64);
ac->fdsp->vector_fmul_window(temp, buf + 3*128 + 64, buf + 4*128, swindow, 64);
memcpy( out + 448 + 4*128, temp, 64 * sizeof(float));
} else {
ac->fdsp.vector_fmul_window(out + 448, saved + 448, buf, swindow_prev, 64);
ac->fdsp->vector_fmul_window(out + 448, saved + 448, buf, swindow_prev, 64);
memcpy( out + 576, buf + 64, 448 * sizeof(float));
}
}
@@ -2513,9 +2551,9 @@ static void imdct_and_windowing(AACContext *ac, SingleChannelElement *sce)
// buffer update
if (ics->window_sequence[0] == EIGHT_SHORT_SEQUENCE) {
memcpy( saved, temp + 64, 64 * sizeof(float));
ac->fdsp.vector_fmul_window(saved + 64, buf + 4*128 + 64, buf + 5*128, swindow, 64);
ac->fdsp.vector_fmul_window(saved + 192, buf + 5*128 + 64, buf + 6*128, swindow, 64);
ac->fdsp.vector_fmul_window(saved + 320, buf + 6*128 + 64, buf + 7*128, swindow, 64);
ac->fdsp->vector_fmul_window(saved + 64, buf + 4*128 + 64, buf + 5*128, swindow, 64);
ac->fdsp->vector_fmul_window(saved + 192, buf + 5*128 + 64, buf + 6*128, swindow, 64);
ac->fdsp->vector_fmul_window(saved + 320, buf + 6*128 + 64, buf + 7*128, swindow, 64);
memcpy( saved + 448, buf + 7*128 + 64, 64 * sizeof(float));
} else if (ics->window_sequence[0] == LONG_START_SEQUENCE) {
memcpy( saved, buf + 512, 448 * sizeof(float));
@@ -2540,10 +2578,10 @@ static void imdct_and_windowing_ld(AACContext *ac, SingleChannelElement *sce)
if (ics->use_kb_window[1]) {
// AAC LD uses a low overlap sine window instead of a KBD window
memcpy(out, saved, 192 * sizeof(float));
ac->fdsp.vector_fmul_window(out + 192, saved + 192, buf, ff_sine_128, 64);
ac->fdsp->vector_fmul_window(out + 192, saved + 192, buf, ff_sine_128, 64);
memcpy( out + 320, buf + 64, 192 * sizeof(float));
} else {
ac->fdsp.vector_fmul_window(out, saved, buf, ff_sine_512, 256);
ac->fdsp->vector_fmul_window(out, saved, buf, ff_sine_512, 256);
}
// buffer update
@@ -2555,12 +2593,13 @@ static void imdct_and_windowing_eld(AACContext *ac, SingleChannelElement *sce)
float *in = sce->coeffs;
float *out = sce->ret;
float *saved = sce->saved;
const float *const window = ff_aac_eld_window;
float *buf = ac->buf_mdct;
int i;
const int n = 512;
const int n = ac->oc[1].m4ac.frame_length_short ? 480 : 512;
const int n2 = n >> 1;
const int n4 = n >> 2;
const float *const window = n == 480 ? ff_aac_eld_window_480 :
ff_aac_eld_window_512;
// Inverse transform, mapped to the conventional IMDCT by
// Chivukula, R.K.; Reznik, Y.A.; Devarajan, V.,
@@ -2572,7 +2611,10 @@ static void imdct_and_windowing_eld(AACContext *ac, SingleChannelElement *sce)
temp = in[i ]; in[i ] = -in[n - 1 - i]; in[n - 1 - i] = temp;
temp = -in[i + 1]; in[i + 1] = in[n - 2 - i]; in[n - 2 - i] = temp;
}
ac->mdct.imdct_half(&ac->mdct_ld, buf, in);
if (n == 480)
ac->mdct480->imdct_half(ac->mdct480, buf, in, 1, -1.f/(16*1024*960));
else
ac->mdct.imdct_half(&ac->mdct_ld, buf, in);
for (i = 0; i < n; i+=2) {
buf[i] = -buf[i];
}
@@ -2716,7 +2758,7 @@ static void spectral_to_sample(AACContext *ac)
for (type = 3; type >= 0; type--) {
for (i = 0; i < MAX_ELEM_ID; i++) {
ChannelElement *che = ac->che[type][i];
if (che) {
if (che && che->present) {
if (type <= TYPE_CPE)
apply_channel_coupling(ac, che, type, i, BEFORE_TNS, apply_dependent_coupling);
if (ac->oc[1].m4ac.object_type == AOT_AAC_LTP) {
@@ -2748,6 +2790,9 @@ static void spectral_to_sample(AACContext *ac)
}
if (type <= TYPE_CCE)
apply_channel_coupling(ac, che, type, i, AFTER_IMDCT, apply_independent_coupling);
che->present = 0;
} else if (che) {
av_log(ac->avctx, AV_LOG_VERBOSE, "ChannelElement %d.%d missing \n", type, i);
}
}
}
@@ -2802,6 +2847,7 @@ static int parse_adts_frame_header(AACContext *ac, GetBitContext *gb)
ac->oc[1].m4ac.sample_rate = hdr_info.sample_rate;
ac->oc[1].m4ac.sampling_index = hdr_info.sampling_index;
ac->oc[1].m4ac.object_type = hdr_info.object_type;
ac->oc[1].m4ac.frame_length_short = 0;
if (ac->oc[0].status != OC_LOCKED ||
ac->oc[0].m4ac.chan_config != hdr_info.chan_config ||
ac->oc[0].m4ac.sample_rate != hdr_info.sample_rate) {
@@ -2818,11 +2864,12 @@ static int aac_decode_er_frame(AVCodecContext *avctx, void *data,
int *got_frame_ptr, GetBitContext *gb)
{
AACContext *ac = avctx->priv_data;
const MPEG4AudioConfig *const m4ac = &ac->oc[1].m4ac;
ChannelElement *che;
int err, i;
int samples = 1024;
int chan_config = ac->oc[1].m4ac.chan_config;
int aot = ac->oc[1].m4ac.object_type;
int samples = m4ac->frame_length_short ? 960 : 1024;
int chan_config = m4ac->chan_config;
int aot = m4ac->object_type;
if (aot == AOT_ER_AAC_LD || aot == AOT_ER_AAC_ELD)
samples >>= 1;
@@ -2834,13 +2881,13 @@ static int aac_decode_er_frame(AVCodecContext *avctx, void *data,
// The FF_PROFILE_AAC_* defines are all object_type - 1
// This may lead to an undefined profile being signaled
ac->avctx->profile = ac->oc[1].m4ac.object_type - 1;
ac->avctx->profile = aot - 1;
ac->tags_mapped = 0;
if (chan_config < 0 || chan_config >= 8) {
avpriv_request_sample(avctx, "Unknown ER channel configuration %d",
ac->oc[1].m4ac.chan_config);
chan_config);
return AVERROR_INVALIDDATA;
}
for (i = 0; i < tags_per_config[chan_config]; i++) {
@@ -2852,6 +2899,7 @@ static int aac_decode_er_frame(AVCodecContext *avctx, void *data,
elem_type, elem_id);
return AVERROR_INVALIDDATA;
}
che->present = 1;
if (aot != AOT_ER_AAC_ELD)
skip_bits(gb, 4);
switch (elem_type) {
@@ -2915,6 +2963,9 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
while ((elem_type = get_bits(gb, 3)) != TYPE_END) {
elem_id = get_bits(gb, 4);
if (avctx->debug & FF_DEBUG_STARTCODE)
av_log(avctx, AV_LOG_DEBUG, "Elem type:%x id:%x\n", elem_type, elem_id);
if (elem_type < TYPE_DSE) {
if (!(che=get_che(ac, elem_type, elem_id))) {
av_log(ac->avctx, AV_LOG_ERROR, "channel element %d.%d is not allocated\n",
@@ -2923,6 +2974,7 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
goto fail;
}
samples = 1024;
che->present = 1;
}
switch (elem_type) {
@@ -3021,6 +3073,12 @@ static int aac_decode_frame_int(AVCodecContext *avctx, void *data,
AV_WL32(side, 2*AV_RL32(side));
}
if (!ac->frame->data[0] && samples) {
av_log(avctx, AV_LOG_ERROR, "no frame data found\n");
err = AVERROR_INVALIDDATA;
goto fail;
}
*got_frame_ptr = !!samples;
if (samples) {
ac->frame->nb_samples = samples;
@@ -3090,7 +3148,7 @@ static int aac_decode_frame(AVCodecContext *avctx, void *data,
if (INT_MAX / 8 <= buf_size)
return AVERROR_INVALIDDATA;
if ((err = init_get_bits(&gb, buf, buf_size * 8)) < 0)
if ((err = init_get_bits8(&gb, buf, buf_size)) < 0)
return err;
switch (ac->oc[1].m4ac.object_type) {
@@ -3131,6 +3189,8 @@ static av_cold int aac_decode_close(AVCodecContext *avctx)
ff_mdct_end(&ac->mdct_small);
ff_mdct_end(&ac->mdct_ld);
ff_mdct_end(&ac->mdct_ltp);
ff_imdct15_uninit(&ac->mdct480);
av_freep(&ac->fdsp);
return 0;
}
@@ -3388,7 +3448,17 @@ static int latm_decode_frame(AVCodecContext *avctx, void *out,
return AVERROR_INVALIDDATA;
}
if ((err = aac_decode_frame_int(avctx, out, got_frame_ptr, &gb, avpkt)) < 0)
switch (latmctx->aac_ctx.oc[1].m4ac.object_type) {
case AOT_ER_AAC_LC:
case AOT_ER_AAC_LTP:
case AOT_ER_AAC_LD:
case AOT_ER_AAC_ELD:
err = aac_decode_er_frame(avctx, out, got_frame_ptr, &gb);
break;
default:
err = aac_decode_frame_int(avctx, out, got_frame_ptr, &gb, avpkt);
}
if (err < 0)
return err;
return muxlength;
@@ -3440,6 +3510,18 @@ static const AVClass aac_decoder_class = {
.version = LIBAVUTIL_VERSION_INT,
};
static const AVProfile profiles[] = {
{ FF_PROFILE_AAC_MAIN, "Main" },
{ FF_PROFILE_AAC_LOW, "LC" },
{ FF_PROFILE_AAC_SSR, "SSR" },
{ FF_PROFILE_AAC_LTP, "LTP" },
{ FF_PROFILE_AAC_HE, "HE-AAC" },
{ FF_PROFILE_AAC_HE_V2, "HE-AACv2" },
{ FF_PROFILE_AAC_LD, "LD" },
{ FF_PROFILE_AAC_ELD, "ELD" },
{ FF_PROFILE_UNKNOWN },
};
AVCodec ff_aac_decoder = {
.name = "aac",
.long_name = NULL_IF_CONFIG_SMALL("AAC (Advanced Audio Coding)"),
@@ -3456,6 +3538,7 @@ AVCodec ff_aac_decoder = {
.channel_layouts = aac_channel_layout,
.flush = flush,
.priv_class = &aac_decoder_class,
.profiles = profiles,
};
/*
@@ -3478,4 +3561,5 @@ AVCodec ff_aac_latm_decoder = {
.capabilities = CODEC_CAP_CHANNEL_CONF | CODEC_CAP_DR1,
.channel_layouts = aac_channel_layout,
.flush = flush,
.profiles = profiles,
};

Some files were not shown because too many files have changed in this diff Show More