Janne Grunau
c23c96b638
lavf: add av_stream_get_side_data
2014-05-20 00:43:52 +02:00
Janne Grunau
afe1762654
build: export library dependencies in ${name}_FFLIBS
...
Removes an ugly $(if) to avoid conflicts with $(FFLIBS-) in the
top-level MAkefile.
2014-05-20 00:43:51 +02:00
Janne Grunau
132a5711a2
check: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA)
2014-05-20 00:43:51 +02:00
Martin Storsjö
82fc9f4b38
display: Include mathematics.h for fallback definition of NAN
...
This fixes compilation with MSVC.
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-05-19 18:34:51 +03:00
Vittorio Giovara
853cc025d6
mov: store display matrix in a stream side data
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 13:13:16 +02:00
Vittorio Giovara
bddd8cbf68
Add transformation matrix API.
...
Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.
Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 13:13:10 +02:00
Anton Khirnov
9929b3564c
pthread_frame: simplify the code by using new AVPacket API
...
This also handles side data properly.
2014-05-19 13:12:46 +02:00
Anton Khirnov
cdf58f0599
avpacket: fix copying side data in av_packet_copy_props()
...
Side data count is incremented by by calling av_packet_new_side_data()
in the following loop, setting it explicitly results in the resulting
value being twice what it should be.
CC: libav-stable@libav.org
2014-05-19 13:12:40 +02:00
Anton Khirnov
a312f71090
lavf: deprecate now unused AVStream.pts
2014-05-19 07:14:24 +02:00
Anton Khirnov
ed7922faac
mux: drop one of the hacks comprising compute_pkt_fields2()
...
All encoders should output proper timestamps now.
2014-05-19 07:14:18 +02:00
Anton Khirnov
dc40d88625
avconv: do not use poorly defined and undocumented AVStream.pts
...
Use OutputStream.last_mux_dts as an approximation of 'current' output
time instead.
2014-05-19 07:14:11 +02:00
Anton Khirnov
c9f8809ee4
hevc/intra_pred: simplify neighboring sample derivation
2014-05-19 07:12:55 +02:00
Mickaël Raulet
25bb7eaf9e
hevc/intra_pred: drop unnecessary conditions in loops
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 07:12:47 +02:00
Mickaël Raulet
4c390b1ba9
hevc/intra_pred: optimize EXTEND_()*
...
Process 4 pixels at once.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 07:10:43 +02:00
Anton Khirnov
a1c2b48018
hevc: templatize intra_pred
2014-05-19 07:10:03 +02:00
Mickaël Raulet
04db5794cd
hevc: templatize pred_planar
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-19 07:09:30 +02:00
Anton Khirnov
0ba5299a80
movenc: use the "encoder" metadata tag to write stsd Compressorname
...
This mirrors the demuxer behaviour and avoids accessing
AVCodecContext.codec, which should not be done in muxers.
2014-05-18 20:34:03 +02:00
Anton Khirnov
6656370b85
avconv: set the "encoder" tag when transcoding
2014-05-18 20:33:46 +02:00
Anton Khirnov
d246231e47
wavenc: use codec descriptors to get the codec name
...
Also, return a proper error code.
2014-05-18 20:33:38 +02:00
Anton Khirnov
968a62a9d9
doc/APIchanges: mark the release 10 branch point
2014-05-18 10:53:00 +02:00
Anton Khirnov
33082af756
doc/APIchanges: fill in missing hashes and dates
2014-05-18 10:52:41 +02:00
Anton Khirnov
79f2c426fd
dv: do not set codec timebase
...
It is not supposed to be set from outside of libavcodec.
Set average framerate instead.
2014-05-18 10:24:43 +02:00
Anton Khirnov
93afb6c98d
avconv: set output avg_frame_rate when known
2014-05-18 10:24:36 +02:00
Anton Khirnov
7a5f4f6853
lavf: extend avg_frame_rate documentation.
2014-05-18 10:24:24 +02:00
Anton Khirnov
c3311d472a
avienc: sanitize variable naming in write_header()
...
Do not call an AVCodecContext 'stream', that is highly confusing.
Also, add a local variable for the current AVStream in the loop over all
streams.
2014-05-18 10:24:02 +02:00
Anton Khirnov
ab3fdaa713
yop: only set extradata size after it has been successfully allocated
...
Do not leave a non-zero extradata_size set on failure
2014-05-18 10:22:42 +02:00
Anton Khirnov
b513bf6f69
yuv4mpegdec: do not set coded_frame properties
...
coded_frame is not meant to be changed from outside of lavc, and is not
used for decoding.
Set AVCodecContext.field_order instead.
2014-05-18 10:22:08 +02:00
Anton Khirnov
e4dc1000d7
yuv4mpeg: split the demuxer and muxer into separate files
2014-05-18 10:21:31 +02:00
Anton Khirnov
3ef6c5264b
a64: check that extradata exists before reading from it
2014-05-18 10:20:19 +02:00
Anton Khirnov
b136564909
a64: remove unneeded struct qualifier
2014-05-18 10:19:54 +02:00
Anton Khirnov
d256ed78ff
4xm: allocate extradata properly.
...
Pad it with the required amount of zeros, check for malloc failure.
2014-05-18 10:19:35 +02:00
Anton Khirnov
fd056029f4
lavc: add avcodec_free_context().
...
Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.
The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.
2014-05-18 10:17:41 +02:00
Anton Khirnov
e1b66778b6
lavc: remove the locking code in avcodec_close()
...
This function should not modify any global state, so there should be no
reason for any locking.
2014-05-18 10:16:35 +02:00
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
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
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
Hendrik Leppkes
7c377f0e74
avisynth: set duration of audio streams
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-16 14:41:02 +02:00
Anton Khirnov
4735784f1c
FATE/opus: increase fuzz for the celt tests
...
This seems to be needed on some 32bit arches.
2014-05-16 14:35:20 +02:00
Janne Grunau
d3f5b94762
aarch64: opus NEON iMDCT and FFT
...
Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on
Apple's A7.
2014-05-15 18:17:02 +02:00
Tristan Matthews
7c5ca546a0
configure: fix enable-libopus help string
2014-05-15 18:17:01 +02:00
Janne Grunau
5e2ba41d4b
build: add avresample after avcodec to FFLIBS
...
avcodec might depend on avresample and with --as-needed required symbols
might be get removed if avresample is linked before avcodec.
Fixes link failures of avprobe and avplay on aarch64 with
--enable-neon-clobber-test.
2014-05-15 17:53:55 +02:00
Anton Khirnov
3b2fbe67bd
lavc: properly handle subtitle_header in avcodec_copy_context()
2014-05-15 07:51:39 +02:00
Anton Khirnov
efc7df6c1f
lavc: preserve the original private data in avcodec_copy_context()
...
If a non-NULL codec was passed to avcodec_alloc_context3(), private data
will be already allocated in dest.
2014-05-15 07:51:16 +02:00
Anton Khirnov
c9281a01b7
lavf: drop the zero-sized packets hack
...
There should not be any valid reason anymore for passing completely
empty packets to lavf.
OTOH side data-only packets can be useful.
2014-05-15 07:50:47 +02:00
Anton Khirnov
0c1959b056
lavf: add AVFMT_FLAG_BITEXACT.
...
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.
Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
2014-05-15 07:42:07 +02:00
Anton Khirnov
b70d7a4ac7
lavc: add a native Opus decoder.
...
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.
Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.
Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
2014-05-15 06:49:34 +02:00
Janne Grunau
7e90133f64
build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined
...
Avoids including disabled library Makefiles.
2014-05-14 09:46:43 +02:00
Anton Khirnov
a738540366
lavf: properly document the distinction between flags and ctx_flags
2014-05-14 07:47:56 +02:00
Janne Grunau
449511740f
build: handle library dependencies in configure
...
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
2014-05-13 20:02:01 +02:00
Janne Grunau
9aa4592076
aarch64: assembler in clang-3.4 ignores the division by two
...
Values are positive powers of two, so just replace it with right shift.
2014-05-13 19:44:09 +02:00