Anton Khirnov
387bef95d2
lavc: factorise setting buffer type in avcodec_default_get_buffer().
2012-12-04 21:45:23 +01:00
Anton Khirnov
e57c4706e9
lavc: don't reuse audio buffers
...
Any performance gain from this is negligible and not worth the extra
code.
2012-12-04 21:43:53 +01:00
Anton Khirnov
ff953fecff
lavc: set frame properties in ff_get_buffer().
...
There is no point in duplicating this code in every get_buffer()
implementation.
2012-12-04 21:42:44 +01:00
Anton Khirnov
594d4d5df3
lavc: add a wrapper for AVCodecContext.get_buffer().
...
It will be useful in the upcoming transition to refcounted AVFrames.
2012-12-04 21:41:59 +01:00
Luca Barbato
cc085993f4
avcodec: remove ff_is_hwaccel_pix_fmt
...
It is used only in one place and is unlikely it would be needed
elsewhere.
2012-11-13 16:21:47 +01:00
Luca Barbato
c1a02e884a
pixdesc: add av_pix_fmt_get_chroma_sub_sample
...
Deprecate avcodec_get_chroma_sub_sample.
2012-11-13 16:14:55 +01:00
Justin Ruggles
a903f8f087
Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
...
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
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