Ilkka Ollakka
6d1270a0f9
decode_audio3: initialize AVFrame
...
Same fix and issue as in a25d912dca
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-11-01 19:43:05 +01:00
Justin Ruggles
0366664ef9
lavc: check channel count after decoder init
...
Ensures the decoder did not set channel count to an insanely high value
during initialization, which could cause large memory usage when it tries to
get a buffer during decoding.
2012-11-01 11:29:13 -04:00
Justin Ruggles
bb6941af2a
lavc: move SANE_NB_CHANNELS to internal.h and use it in the PCM decoders
2012-11-01 11:29:13 -04:00
Anton Khirnov
1bc64c2814
lavc: initialize output AVFrame before decoding.
...
Avoids memleaks with audio when extended_data is nontrivial and the user
doesn't reset the frame.
Shouldn't have any effect for video for now, but might be useful in the
future.
2012-10-24 08:46:45 +02:00
Justin Ruggles
a5ef830b12
lavc: use the correct API version guard macro for avcodec_encode_audio()
2012-10-23 14:35:27 -04:00
Nathan Caldwell
c854102da7
avcodec: handle AVERROR_EXPERIMENTAL
...
Error out on init if a codec with CODEC_CAP_EXPERIMENTAL is requested
and strict_std_compliance is not FF_COMPLIANCE_EXPERIMENTAL.
Move the check from avconv to avcodec_open2() and return
AVERROR_EXPERIMENTAL accordingly.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 23:03:26 +02:00
Nathan Caldwell
a4aa20fbdb
avcodec: prefer decoders without CODEC_CAP_EXPERIMENTAL
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-21 22:27:58 +02:00
Rafaël Carré
a25d912dca
avcodec_encode_audio(): fix invalid free
...
Since 2bc0de385
, AVFrame needs to be initialized
before calling avcodec_get_frame_defaults().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-10-16 18:49:31 +02:00
Diego Biurrun
52d113ee06
avutil: Rename ff_set_systematic_pal2() ---> avpriv_set_systematic_pal2()
...
Functions used across libraries should have avpriv_ and not ff_ prefixes.
2012-10-13 19:59:20 +02:00
Luca Barbato
6d5600e855
avutil: add yuva422p and yuva444p formats
2012-10-12 15:09:51 +02:00
Anton Khirnov
50ba57e0ce
lavc: do not use av_pix_fmt_descriptors directly.
2012-10-12 12:45:39 +02:00
Janne Grunau
3fbda309e5
avcodec: free extended_data instead address of it
...
Fixes CID732173.
2012-10-09 14:04:46 +02:00
Diego Biurrun
f75f4194d1
Restructure av_log_missing_feature message
...
Some invocations include a verb in the log message, others do not. Yet
av_log_missing_feature expects callers to provide a verb. Change the
function to include a verb instead and update the callers accordingly.
The result is a more natural function API and correct English in the
function invocations.
2012-10-09 11:39:26 +02:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Justin Ruggles
37f701f1c3
avcodec: allow either planar or interleaved sample format when encoding mono
...
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Diego Biurrun
9c6cf7f2c9
avcodec: Drop silly and/or broken printf debug output
2012-10-01 10:24:28 +02:00
Anton Khirnov
12e1e83461
lavc: set channel count from channel layout in avcodec_open2().
...
Some decoders (e.g. nellymoser) only set channel_layout and do not set
channel count.
2012-09-29 09:25:40 +02:00
Diego Biurrun
0ae3ba8daa
avcodec: Drop long-deprecated imgconvert.h header
2012-09-27 12:02:33 +02:00
Anton Khirnov
a42aadabc6
lavc: add avcodec_free_frame().
...
Since an AVFrame now has malloced members (extended_data), it must have
a destructor.
2012-09-24 12:31:24 +02:00
Anton Khirnov
b437cec143
lavc: ensure extended_data is set properly on decoding
2012-09-24 12:31:24 +02:00
Anton Khirnov
2bc0de3858
lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
2012-09-24 12:31:24 +02:00
Anton Khirnov
c084a975aa
lavc: use av_mallocz to allocate AVFrames.
...
Otherwise the frame is uninitialized, so avcodec_get_frame_defaults()
cannot determine whether to free extended_data.
2012-09-24 12:31:24 +02:00
Anton Khirnov
a83499b13b
lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
...
AVFrame is used for both audio and video, so calling the argument 'pic'
is misleading.
2012-09-24 12:31:24 +02:00
Justin Ruggles
0ccf051a9d
avcodec: fix memleak in avcodec_encode_audio2()
...
Ensure that padded_frame is freed before returning when needed.
2012-09-22 09:24:24 -04:00
Luca Barbato
419ffb2390
avcodec: cleanup utils.c
2012-09-18 15:32:52 +02:00
Anton Khirnov
466b39efaf
lavc: replace AVCodecContext.encode with subtitle-specific callback
...
AVCodecContext.encode is currently used only for subtitles, encode2 is
used for audio and video.
2012-09-17 15:48:20 +02:00
Anton Khirnov
9f64c8219a
lavc: add const to private codec class initialization.
...
Silences a warning about discarding const.
2012-09-17 15:48:20 +02:00
Anton Khirnov
0a0f19b577
lavc: add const to AVCodec* function parameters.
2012-08-18 08:48:30 +02:00
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
2012-08-07 16:00:24 +02:00
Martin Storsjö
3641b0489c
Add support for iLBC decoding/encoding via the external library libilbc
...
The library is 3-clause BSD licensed.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:35 +03:00
Diego Biurrun
0c517644b2
avcodec/utils: cast a function argument to shut up a compiler warning
...
libavcodec/utils.c:251: note: expected ‘const uint8_t *’ but argument is of type ‘const short int *’
2012-05-20 15:09:07 +02:00
Anton Khirnov
c22953b8a3
lavc: check that extended_data is properly set in avcodec_encode_audio2().
2012-05-09 17:47:11 +02:00
Anton Khirnov
a5117a2444
lavc: pad last audio frame with silence when needed.
2012-05-09 17:46:54 +02:00
Justin Ruggles
f132248028
avcodec: do not needlessly set packet size to 0 in avcodec_encode_audio2()
...
It is already set to 0 by av_free_packet()
2012-05-07 12:14:05 -04:00
Justin Ruggles
74e10b6204
avcodec: for audio encoding, reset output packet when it is not valid
2012-05-07 12:14:05 -04:00
Justin Ruggles
fa0319b4fd
avcodec: refactor avcodec_encode_audio2() to merge common branches
2012-05-07 12:14:05 -04:00
Justin Ruggles
b461cd4deb
avcodec: remove fallbacks for AVCodec.encode() in avcodec_encode_audio2()
...
We no longer have any audio encoders using AVCodec.encode().
2012-05-07 12:14:04 -04:00
Anton Khirnov
828bd088f3
lavc: add sample rate and channel layout to AVFrame.
...
Rationale is the same as for video width/height etc.
2012-05-07 07:08:03 +02:00
Mans Rullgard
2bcbd98459
Remove lowres video decoding
...
This feature is complex, of questionable utility, and slows down
normal decoding.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-04-21 18:56:19 +01:00
Alex Converse
df8d5eaa14
avcodec_string: Favor AVCodecContext.codec over the default codec.
...
This improves output for formats with more than one AVCodec.
2012-04-17 14:51:23 -07:00
Justin Ruggles
c58846f3a8
avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame()
...
Use default alignment in audio_get_buffer()
2012-04-09 10:20:35 -04:00
Justin Ruggles
1337de0c4b
avcodec: validate the channel layout vs. channel count for decoders
...
Set avctx->channel_layout to 0 if the channel count does not match
avctx->channels.
2012-04-08 18:45:58 -04:00
Anton Khirnov
3c6607eb6f
avcodec_encode_{audio,video}: only reallocate output packet when it has non-zero size.
...
Otherwise realloc would free it, which would result in double free
later.
2012-03-28 09:28:47 +02:00
Ronald S. Bultje
bc1ef85520
lavc/avconv: support changing frame sizes in codecs with frame mt.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-03-24 21:29:16 +01:00
Justin Ruggles
a1977e0103
lavc: shrink encoded audio packet size after encoding.
2012-03-20 14:12:54 -04:00
Ronald S. Bultje
c346f6304c
adpcm: fix nb_samples rounding for adpcm_ima_dk3, and update reference.
2012-03-18 15:25:25 -07:00
Justin Ruggles
9524cf79df
avcodec: add av_get_audio_frame_duration() function.
...
This is a utility function for the user to get the frame duration based on
the codec id, frame size in bytes, and various AVCodecContext parameters.
2012-03-05 13:08:15 -05:00
Justin Ruggles
6699d07480
avcodec: add av_get_exact_bits_per_sample() function
...
This only returns bits per sample when it is exactly correct. That is, the
codec contains only raw samples with no frame headers or padding. This applies
to basically all PCM codecs and a small subset of ADPCM codecs.
2012-03-05 13:08:15 -05:00
Anton Khirnov
44fe77b350
lavc: make codec_is_decoder/encoder() public.
2012-03-04 21:08:52 +01:00
Anton Khirnov
7fb6c9225c
lavc: free the output packet when encoding failed or produced no output.
2012-03-03 06:31:41 +01:00