Commit Graph

64138 Commits

Author SHA1 Message Date
Anton Khirnov
fd056029f4 lavc: add avcodec_free_context().
Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.

The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.
2014-05-18 10:17:41 +02:00
Anton Khirnov
e1b66778b6 lavc: remove the locking code in avcodec_close()
This function should not modify any global state, so there should be no
reason for any locking.
2014-05-18 10:16:35 +02:00
Michael Niedermayer
17c8a06916 avformat/framehash: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:04:32 +02:00
Michael Niedermayer
9646ea63df avformat/mmf: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:04:20 +02:00
Michael Niedermayer
0421409c52 avformat/matroskaenc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:04:01 +02:00
Michael Niedermayer
fab50573bb avformat/mp3enc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:03:45 +02:00
Michael Niedermayer
d524d424ec avformat/nutenc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:03:28 +02:00
Michael Niedermayer
0323a55cd8 avformat/rtpenc: switch to AVFMT_FLAG_BITEXACT
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 04:02:44 +02:00
Michael Niedermayer
46380e8d26 avformat/aviobuf/ff_get_line: also accept \r as end of line character
Fixes Ticket3108

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 23:49:05 +02:00
Olivier Langlois
0ca0b4c29c ffplay: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 20:28:16 +02:00
Michael Niedermayer
43c18fec6e Merge commit '584f88409062f7a134e7391887899e8e723ab6ff'
* commit '584f88409062f7a134e7391887899e8e723ab6ff':
  riff: Pass block_align to estimate frame duration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 20:22:56 +02:00
Olivier Langlois
f78bc96b7c lavf: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 20:13:33 +02:00
Clément Bœsch
9986e50a6e configure: make vp9 decoder select the parser.
The parser is needed. FATE breaks if not present.
2014-05-17 16:13:42 +02:00
Clément Bœsch
2ca97c7802 configure: make sure pkg-config flags are populated in FT test. 2014-05-17 16:13:42 +02:00
Olivier Langlois
41120e6e40 tools: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 15:51:58 +02:00
Olivier Langlois
b052bccbe4 lavc: Use av_gettime_relative()
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 15:51:49 +02:00
Olivier Langlois
0eec06ed87 lavu: add av_gettime_relative()
These functions are using the POSIX clock_gettime() function with the
CLOCK_MONOTONIC clock id. If these are not present on the targeted
platform, the new functions will fallback on using the original realtime functions
av_gettime() and av_usleep().

Monotonic support can be added on other platforms with their
equivalent native system API eventually if possible.

Whenever time is requested to measure relative time, the monotonic clock,
when available, is superior to the system realtime clock because it is
not affected by discontinuous jumps in the system time

In a future step, offering the flexibility to let the user choose between
rt and monotonic clock for avdevices packets will be investigated.

It is very easy to experience the issues that this patch attempt to address
by rewinding back in the past the system time while ffmpeg is running.

this is breaking the ffmpeg report printing (ffmepg.c:print_report()) and
the the rate emulator functionality (-re) without the patch.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 15:28:03 +02:00
nu774
584f884090 riff: Pass block_align to estimate frame duration
Fix incorrect wSamplesPerBlock(=0) written for ADPCM_IMA_WAV

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-17 15:24:20 +02:00
Michael Niedermayer
a7320c1574 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Fix compilation of libavcodec/x86/hevc_deblock.asm with nasm.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 14:56:01 +02:00
Michael Niedermayer
5b0c7052fb Merge remote-tracking branch 'cus/stable'
* cus/stable:
  ffplay: add support for toggling between multiple video filters with the w key
  ffplay: fix typo in docs
  ffplay: try multiple sample rates if audio open fails
  cmdutils: replace usages of "#ifdef __MINGW32__" with "#ifdef _WIN32" because MSVC only defines _WIN32
  ffplay: fix compilation with Visual Studio
  ffplay: increase AV_SYNC_THRESHOLD_MIN to 0.04

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 14:26:29 +02:00
Clément Bœsch
11e490334e avfilter/edgedetect: reuse already defined ctx. 2014-05-17 14:16:04 +02:00
Marton Balint
a583e2bebe ffplay: add support for toggling between multiple video filters with the w key
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:29 +02:00
Marton Balint
affc41047e ffplay: fix typo in docs
Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:29 +02:00
Marton Balint
0c8d8c0c80 ffplay: try multiple sample rates if audio open fails
Should fix ticket #3509.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:29 +02:00
John Peebles
e11697759d cmdutils: replace usages of "#ifdef __MINGW32__" with "#ifdef _WIN32" because MSVC only defines _WIN32
With the previous patch, this should fix ticket #3580 as well.

Signed-off-by: John Peebles <johnpeeb@gmail.com>
2014-05-17 13:18:29 +02:00
Marton Balint
1fab67b685 ffplay: fix compilation with Visual Studio
Based on a patch by achristensen from trac.ffmpeg.org.

Partially fixes ticket #3580.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:28 +02:00
Marton Balint
ae6fe159f2 ffplay: increase AV_SYNC_THRESHOLD_MIN to 0.04
Less than 0.04 sec delays should not be noticable, and it helps us with 50fps
content where some timing errors can cause a frame dup where it is not really
necessary.

Signed-off-by: Marton Balint <cus@passwd.hu>
2014-05-17 13:18:28 +02:00
Carl Eugen Hoyos
ef2713747f Fix compilation of libavcodec/x86/hevc_deblock.asm with nasm.
Suggested-by: Reimar
2014-05-17 12:50:55 +02:00
Carl Eugen Hoyos
4c49d0824a Fix alaw and mulaw muxing in caf.
Fixes ticket #3644.
2014-05-17 11:38:17 +02:00
James Almer
be1fbc02b8 x86/hevc_deblock: use movhps instead of shuffling values
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:40:14 +02:00
James Almer
8aac77fede x86/hevc_deblock: fix label names
Also remove some unnecessary jmps

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:40:08 +02:00
James Almer
521eaea63a x86/hevc_deblock: fix usage of ABS1
The second argument is a temp register for non-SSSE3 cases

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:39:55 +02:00
James Almer
45110d2290 x86/hevc_deblock: merge movs with other instructions
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 05:39:34 +02:00
Michael Niedermayer
aedc1c2ed6 doc/filters: fix typo
Found-by: bloody123
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 04:57:35 +02:00
Michael Niedermayer
be8f96e5eb Merge commit '34e2ce5dde073244ccb2b62f930e96fe612690f7'
* commit '34e2ce5dde073244ccb2b62f930e96fe612690f7':
  hlsenc: Set the default codecs to AAC and H264

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 03:13:05 +02:00
Mickaël Raulet
e2760de605 hevc: fix key_frame as an IRAP
it was always 1 before with ISOBMFF(cherry picked from commit fb1402b1ec78d80acd6ced76bf78d65560965c4c)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-17 01:14:51 +02:00
Martin Storsjö
34e2ce5dde hlsenc: Set the default codecs to AAC and H264
Most HLS implementation only support these codecs.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-17 01:34:16 +03:00
Reynaldo H. Verdejo Pinochet
93cade4825 rtmpproto: info out for unsupported auth vars
Should aid debugging badly formatted URLs

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-05-16 17:31:48 -04:00
Reynaldo H. Verdejo Pinochet
e83aae2839 rtmpproto: avoid setting auth var value if null
Use default values if parsed variable is found not to
have any value. Avoids crashing at strlen for salt/user
on the auth call afterwards and needless NULL assignments
for the rest (default is already NULL for those).

Should fix Coverity Scan issues #966644 and #966645

Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
2014-05-16 17:31:48 -04:00
Michael Niedermayer
627d3b8b73 Merge commit '4d25c2bc76f0a708c2ba470b6bfeb547efe37115'
* commit '4d25c2bc76f0a708c2ba470b6bfeb547efe37115':
  build: Support building using clang-usan and disable-optimization

Change not merged, as it has been fixed differently and this change
would prevent disabling optimizations with ubsan

See: bebce653e5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 22:26:53 +02:00
Michael Niedermayer
eb580d2598 Merge commit '7c377f0e74de8ab57f6baa64f3ec197c82104764'
* commit '7c377f0e74de8ab57f6baa64f3ec197c82104764':
  avisynth: set duration of audio streams

See: ae8e2d7634
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 22:03:10 +02:00
Michael Niedermayer
36f9496924 Merge commit '4735784f1ced27026fbeada5fd31505132e565e9'
* commit '4735784f1ced27026fbeada5fd31505132e565e9':
  FATE/opus: increase fuzz for the celt tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 21:22:25 +02:00
plepere
ef7c4cd001 avcodec/x86/hevc: updated to use x86util macros
Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 21:11:07 +02:00
plepere
de7b89fd43 avcodec/x86/hevc: added DBF assembly functions
Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Ronald S. Bultje
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 21:11:03 +02:00
Katerina Barone-Adesi
4d25c2bc76 build: Support building using clang-usan and disable-optimization
Clang Undefined Behaviour Sanitizer seems to make non-constant constant
expressions, making the compilation fail when they are used within
inline assembly if no optimization is requested.

Add -O1 to the cflags to hide the misbehaviour.

Bug-Id: 683
2014-05-16 19:58:34 +02:00
Michael Niedermayer
7ebf90ff47 avcodec/mpeg12enc: avoid floats in the aspect ratio info setup code
This fixes potential rounding issues with floats, and also
fixes a division by 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 19:42:50 +02:00
Frederic Turmel
b217e1b057 avcodec/mpeg12enc: Favor storing DAR instead of SAR
fixes Ticket 2689

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 17:55:29 +02:00
Michael Niedermayer
77a0df4b5e estimate_timings_from_pts: Execute max 1 iteration extra to find more than 1 duration
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 16:13:36 +02:00
Gaullier Nicolas
68cea1bc8e estimate_timings_from_pts: Try to get the duration for all streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 16:06:55 +02:00
Michael Niedermayer
424599c7cc estimate_timings_from_pts: simplify filesize end check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 15:49:23 +02:00