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
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
Anton Khirnov
a738540366
lavf: properly document the distinction between flags and ctx_flags
2014-05-14 07:47:56 +02:00
Anton Khirnov and Luca Barbato
1839fafa95
avconv: Support VDA hwaccel
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-05-11 15:00:03 +02:00
Anton Khirnov and Luca Barbato
67afcefb35
lavc: Add new VDA hwaccel
...
It leverages the new hwaccel 1.2 features:
- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2014-05-11 15:00:03 +02:00
Anton Khirnov and Luca Barbato
31a46750c7
vda: use hwaccel private data for internal bitstream buffer
2014-05-11 15:00:03 +02:00
Anton Khirnov and Luca Barbato
66e6c8a7b4
lavu: Add a pixel format for new VDA hwaccel
...
The current hwaccel is broken and cannot be fixed in a compatible
way. It will be deprecated and replaced with a new one.
2014-05-11 14:59:59 +02:00
Anton Khirnov and Luca Barbato
dd2d3b766b
lavc: Add hwaccel private data and init/uninit callbacks
2014-05-11 14:59:07 +02:00
Anton Khirnov and Luca Barbato
a871ef0cc9
hwaccel: Rename priv_data_size to frame_priv_data_size
...
This describes more accurately what this field is for.
2014-05-11 14:59:07 +02:00
Anton Khirnov and Luca Barbato
08bb256758
lavc: document which parts of AVHWAccel are private.
2014-05-11 14:59:07 +02:00
Anton Khirnov and Luca Barbato
5c1d7246cd
lavc: set AVCodecContext.hwaccel in ff_get_format()
...
This way each decoder does not have to do the same thing manually.
2014-05-11 14:59:07 +02:00
Anton Khirnov and Luca Barbato
632ad2248e
lavc: Add an internal wrapper around get_format()
...
It will be useful in the following commits.
2014-05-11 14:59:07 +02:00
Anton Khirnov
9580818c5d
avconv: rename OutputStream.opts to OutputStream.encoder_opts
...
This makes it more clear what is this variable for exactly.
2014-05-03 21:44:24 +02:00
Anton Khirnov
01947f07b8
avconv: remove a useless line
...
Doing anything with that field when we are doing streamcopy (so the
encoder is not opened) should have absolutely no effect.
2014-05-03 21:44:10 +02:00
Anton Khirnov
65ed9e7585
avconv: rename 'codec' to 'enc_ctx'
...
This more clearly describes what is the variable used for.
Also, move its declaration into the block where it is actually used.
2014-05-03 21:43:43 +02:00
Anton Khirnov
650a5206a9
avconv: rename 'icodec' to 'dec_ctx'
...
This more clearly describes what is the variable used for.
2014-05-03 21:43:24 +02:00
Anton Khirnov
f3a6ad22c9
avconv: rename InputStream.opts to InputStream.decoder_opts
...
This makes it more clear what is this variable for exactly.
2014-05-03 21:43:05 +02:00
Anton Khirnov
73ed8558a6
avconv: simplify exit_program() by using more local vars
2014-05-03 21:42:02 +02:00
Anton Khirnov
ba71c74017
lavc: deprecate AVCodecContext.codec_name
...
It is undocumented and has no real use.
2014-05-01 09:31:32 +02:00
Anton Khirnov
e7fc9796d8
lavc: do not use AVCodecContext.codec_name in avcodec_string()
...
That field will be deprecated.
2014-05-01 09:26:57 +02:00
Anton Khirnov
ef9732162c
rmdec: do not export anything to AVCodecContext.codec_name
...
That field will be deprecated and the value that is written there is not
particularly useful.
2014-05-01 09:26:51 +02:00
Anton Khirnov
6072184e70
asfenc: use codec descriptors instead of AVCodecs to write codec info
...
Also, stop using AVCodecContext.codec_name as fallback, since it will be
deprecated.
Changes the result of the lavf-asf test (and its associated seektest),
since 'msmpeg4v3' gets written instead of just 'msmpeg4'.
2014-05-01 09:26:20 +02:00
Anton Khirnov
92e4b643df
oggparseskeleton: do not use AVCodecContext.codec_name
...
That field is undocumented, of dubious use, and will be deprecated.
2014-05-01 09:26:02 +02:00
Anton Khirnov
18f2514c40
mov: export stsd Compressorname in metadata
...
Stop using the undocumented to-be-deprecated AVCodecContext.codec_name
field.
2014-05-01 09:25:46 +02:00
Anton Khirnov
a2941c8cb2
lavc: move CODEC_FLAG_MV0 to mpegvideo
2014-05-01 09:24:18 +02:00
Anton Khirnov
6484149158
lavc: make the xvid-specific "gmc" flag a private option of libxvid
2014-05-01 09:24:02 +02:00
Anton Khirnov
b2c31710c9
lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo
2014-05-01 09:23:19 +02:00
Anton Khirnov
5fccedaa67
lavc: deprecate CODEC_FLAG_INPUT_PRESERVED
...
The addition of reference-counted frames makes it pointless.
2014-05-01 09:22:47 +02:00
Anton Khirnov
141fdc763c
matroska: add the Opus mapping
2014-05-01 08:04:33 +02:00
Anton Khirnov
a1aa37dd0b
matroskaenc: write CodecDelay
2014-05-01 08:03:51 +02:00
Anton Khirnov
eb3b5501e8
matroskadec: read the CodecDelay element
2014-04-30 21:00:01 +02:00
Anton Khirnov
9d76dd952f
h264: drop commented out cruft
2014-04-29 14:49:42 +02:00
Anton Khirnov
c1f92d1358
mpegvideo: remove unused MpegEncContext.b4_stride
2014-04-29 14:49:42 +02:00
Anton Khirnov
6a13505c06
mpegvideo: move the MpegEncContext fields used from arm asm to the beginning
...
This should reduce the frequency with which the offsets need to be
updated.
2014-04-29 14:49:42 +02:00
Anton Khirnov
a61c2115fb
configure: rework dxva in avconv handling
...
Move the dxva check after the dependencies have been detected, make sure
the ole32 library exists.
Fixes build on non-Windows.
2014-04-28 23:02:56 +02:00
Anton Khirnov
1eb57e1d9b
lavc: eliminate tb_unreliable()
...
If framerate estimation is enabled, it makes sense to always apply it,
instead of limiting it to a few specific cases.
2014-04-28 11:34:59 +02:00
Anton Khirnov
f9157463db
lavf: do not use the parser duration for video
...
The parser has no way of knowing video duration, and therefore no video
parsers set it.
2014-04-22 07:46:03 +02:00
Anton Khirnov
1ae8198bca
avconv: always reset packet pts after decoding an audio frame
...
Currently, if a decoder sets AVFrame.pts, we'd send the same timestamp
to it twice, which is wrong.
2014-04-22 07:45:49 +02:00
Anton Khirnov
b19a5e5198
lavc: improve AVCodecContext.delay doxy
2014-04-22 07:44:40 +02:00
Anton Khirnov
a4ed995cab
txd: do not set the codec timebase.
...
It is not supposed to be changed from outside of lavc.
Set the stream timebase and average framerate instead.
2014-04-22 07:44:16 +02:00
Anton Khirnov
21d8f4da91
resample: remove an unneeded context variable
2014-04-17 20:08:19 +02:00
Anton Khirnov
ac976ed91e
lavr: allocate the resampling buffer with a positive size
...
This fixes cases where very few input samples (fewer than needed for one
output sample) are passed to lavr at the beginning.
CC:libav-stable@libav.org
2014-04-13 11:21:20 +02:00
Anton Khirnov
13164e479f
FATE: add tests for more resampling modes
2014-04-13 11:20:49 +02:00
Anton Khirnov
f7c5fd8151
resample: implement flushing
2014-04-13 11:15:45 +02:00
Anton Khirnov
254c95cdd1
resample: split linear into its own function
2014-04-11 16:34:02 +02:00
Anton Khirnov
be394968c8
resample: add initial padding explicitly
...
This simplifies the code, since we do not have to deal with a possibly
negative source index anymore.
2014-04-11 16:33:46 +02:00
Anton Khirnov
eed752d61d
resample: drop useless abs()
...
negative sample_index is handled in the block above.
2014-04-11 16:28:11 +02:00
Anton Khirnov
3c84f6b5d2
resample: reindent
2014-04-11 16:27:22 +02:00
Anton Khirnov
f20892eb67
resample: split the nearest neighbour path into a separate function pointer
2014-04-11 16:26:36 +02:00
Anton Khirnov
b9dea23766
resample: fix avresample_get_delay() return value
...
The correct "next" input sample is not the first sample of the
resampling buffer, but the center sample of the filter_length-sized
block at the beginning.
CC:libav-stable@libav.org
2014-04-11 16:21:25 +02:00
Anton Khirnov
9a07fac678
mov: read hydrogenaudio replaygain information
2014-04-10 13:53:32 +02:00
Anton Khirnov
9c21c08fa7
af_ashowinfo: print a more descriptive name for AV_MATRIX_ENCODING_DOLBY
2014-04-04 18:54:47 +02:00
Anton Khirnov
d1780e01b8
avconv: don't warn on multiple frames per packet for codecs that expect it
2014-03-24 06:21:13 +01:00
Anton Khirnov
4754345027
avconv: print verbose per-stream transcoding statistics
2014-03-24 06:20:38 +01:00
Anton Khirnov
a220b07b0f
avconv: split printing the final statistics into a separate function
2014-03-24 06:17:19 +01:00
Anton Khirnov
baeb59d89b
avconv: rewrite output data size tracking
...
Store a variable per OutputStream instead of globals for
audio/video/extradata. This makes the code simpler and cleaner and fixes
2pass with multiple output streams.
2014-03-24 06:17:04 +01:00
Anton Khirnov
f759f66e36
avconv: explicitly report when the muxing overhead is unknown
2014-03-24 06:16:58 +01:00
Anton Khirnov
781d97fd54
avconv: remove unused nb_frames_dup
...
Frame duplication now happens in vf_fps.
2014-03-24 06:16:31 +01:00
Anton Khirnov
b4679ecdbd
{v,a}f_showinfo: print frame side data
2014-03-24 06:14:55 +01:00
Anton Khirnov
15c5a8d22d
mp3dec: export replaygain tags from ID3v2
2014-03-24 06:13:39 +01:00
Anton Khirnov
06c3cd3c01
af_volume: support using replaygain frame side data
2014-03-24 06:07:51 +01:00
Anton Khirnov
d161ae0a37
frame: add a function for removing side data from a frame
2014-03-24 06:07:51 +01:00
Anton Khirnov
59444c76e6
avconv: add stream-global side data to the first demuxed packet
2014-03-24 06:07:51 +01:00
Anton Khirnov
4a0f665143
libavcodec: when decoding, copy replaygain side data to decoded frames
2014-03-24 06:07:51 +01:00
Anton Khirnov
5a7e35dd23
Add replaygain side data type and code for parsing replaygain tags.
2014-03-24 06:07:51 +01:00
Anton Khirnov
25b3258656
lavf: add an AVStream field for exporting stream-global side data
2014-03-24 06:07:51 +01:00
Anton Khirnov
0e2c3ee9a3
lavc: give a typedeffed name to the AVPacket.side_data struct
2014-03-24 06:07:50 +01:00
Anton Khirnov
a84c8af042
FATE: add a test for the ONE_STR mapping mode of the channelmap filter
2014-03-16 07:44:03 +01:00
Anton Khirnov
e843612695
af_channelmap: fix ONE_STR mapping mode
...
get_channel() returns 0 on success
CC:libav-stable@libav.org
2014-03-16 07:43:52 +01:00
Anton Khirnov
e854b8f9f4
Work around broken floating point limits on some systems.
...
The values of {FLT,DBL}_{MAX,MIN} macros on some systems (older musl
libc, some BSD flavours) are not exactly representable, i.e.
(double)DBL_MAX == DBL_MAX is false
This violates (at least some interpretations of) the C99 standard and
breaks code (e.g. in vf_fps) like
double f = DBL_MAX;
[...]
if (f == DBL_MAX) { // f has not been changed yet
[....]
}
2014-03-10 10:27:17 +01:00
Anton Khirnov
713d3f98c8
vf_shuffleplanes: fix the type of the mapping indices
...
They are TYPE_INT AVOptions, so they must be ints
2014-03-06 09:24:53 +01:00
Anton Khirnov
e1f2987b10
FATE: add tests for the shuffleplanes filter
2014-03-05 21:52:03 +01:00
Anton Khirnov
599b81ca9a
lavfi: add shuffleplanes filter
2014-03-05 21:52:02 +01:00
Anton Khirnov
bba2a7cc5f
lavfi: use the correct filter context for logging an error.
2014-03-05 21:52:02 +01:00
Anton Khirnov
d1f9563d50
pthread_frame: flush all threads on flush, not just the first one
...
avcodec_flush_buffers() must release all internally held references
according to its documentation, for which all the threads need to be
flushed.
CC:libav-stable@libav.org
Bug-Id: vlc/9665
2014-02-28 21:55:46 +01:00
Anton Khirnov
bc6461c286
af_compand: replace strtok_r() with av_get_token()
2014-02-28 21:55:46 +01:00
Anton Khirnov
291e49d4e7
af_compand: add a dependency on strtok_r
2014-02-26 21:59:14 +01:00
Anton Khirnov and Diego Biurrun
e7dfaf16a4
libavfilter: example audio filtering program
...
Based on a patch by Andrew Kelley <superjoe30@gmail.com >
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2014-02-25 13:22:10 +01:00
Anton Khirnov
39c2880eea
af_volume: preserve frame properties
2014-02-24 17:32:26 +01:00
Anton Khirnov
dcc7e4bf1d
af_resample: preserve frame properties
2014-02-24 17:30:48 +01:00
Anton Khirnov
67f2a68814
avconv: remove a write-only variable
2014-02-24 17:30:48 +01:00
Anton Khirnov
30517a9f05
Use av_frame_copy() to simplify code where appropriate.
2014-02-24 07:25:07 +01:00
Anton Khirnov
8feac29cc4
lavc: use AVFrame API properly in ff_reget_buffer()
2014-02-24 07:25:07 +01:00
Anton Khirnov
1155fd02ae
frame: add a convenience function for copying AVFrame data
2014-02-24 07:25:07 +01:00
Anton Khirnov
746dca483a
avconv: support forcing codec tags for input streams
2014-02-24 07:25:07 +01:00
Anton Khirnov
1db03a6864
lavr: return an error if a avresample_open() is called on an open context
2014-02-22 20:53:09 +01:00
Anton Khirnov
7e86c27b4e
lavr: add a function for checking whether AVAudioResampleContext is open
2014-02-22 20:52:36 +01:00
Anton Khirnov
c3ecd968f0
AVOptions: add flags for read/read-only options
2014-02-19 21:52:17 +01:00
Anton Khirnov
6bb8720f00
AVOptions: deprecate unused AV_OPT_FLAG_METADATA
...
It was never used since it was added and the things it was intended for
are now exported differently.
2014-02-19 21:52:17 +01:00
Anton Khirnov
ba7dfe5c50
lavfi doxy: add buffer{src,sink}.h to the main lavfi doxy group
2014-02-14 22:02:39 +01:00
Anton Khirnov
f758ea6e99
buffersink: document special error codes returned from av_buffersink_get_frame
2014-02-14 22:02:25 +01:00
Anton Khirnov
77bb0004bb
rpza: limit the number of blocks to the total remaining blocks in the frame
...
Fixes invalid writes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-02-10 15:22:28 +01:00
Anton Khirnov
a46dc49744
rpza: move some variables to the blocks where they are used
2014-02-10 15:22:01 +01:00
Anton Khirnov
c7769df178
rpza: use fixed-width int types
2014-02-10 15:21:35 +01:00
Anton Khirnov
e1218ce914
rpza: switch to bytestream2
2014-02-10 15:18:21 +01:00
Anton Khirnov
394fb56c29
lavf: always unref the packet passed to av_interleaved_write_frame() on error
2014-02-10 15:08:06 +01:00