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>
12 years ago
Diego Biurrun
52d113ee06
avutil: Rename ff_set_systematic_pal2() ---> avpriv_set_systematic_pal2()
Functions used across libraries should have avpriv_ and not ff_ prefixes.
12 years ago
Luca Barbato
6d5600e855
avutil: add yuva422p and yuva444p formats
12 years ago
Anton Khirnov
50ba57e0ce
lavc: do not use av_pix_fmt_descriptors directly.
12 years ago
Janne Grunau
3fbda309e5
avcodec: free extended_data instead address of it
Fixes CID732173.
12 years ago
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.
12 years ago
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
12 years ago
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.
12 years ago
Diego Biurrun
9c6cf7f2c9
avcodec: Drop silly and/or broken printf debug output
12 years ago
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.
12 years ago
Diego Biurrun
0ae3ba8daa
avcodec: Drop long-deprecated imgconvert.h header
12 years ago
Anton Khirnov
a42aadabc6
lavc: add avcodec_free_frame().
Since an AVFrame now has malloced members (extended_data), it must have
a destructor.
12 years ago
Anton Khirnov
b437cec143
lavc: ensure extended_data is set properly on decoding
12 years ago
Anton Khirnov
2bc0de3858
lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
12 years ago
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.
12 years ago
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.
12 years ago
Justin Ruggles
0ccf051a9d
avcodec: fix memleak in avcodec_encode_audio2()
Ensure that padded_frame is freed before returning when needed.
12 years ago
Luca Barbato
419ffb2390
avcodec: cleanup utils.c
12 years ago
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.
12 years ago
Anton Khirnov
9f64c8219a
lavc: add const to private codec class initialization.
Silences a warning about discarding const.
12 years ago
Anton Khirnov
0a0f19b577
lavc: add const to AVCodec* function parameters.
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
12 years ago
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>
13 years ago
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 *’
13 years ago
Anton Khirnov
c22953b8a3
lavc: check that extended_data is properly set in avcodec_encode_audio2().
13 years ago
Anton Khirnov
a5117a2444
lavc: pad last audio frame with silence when needed.
13 years ago
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()
13 years ago
Justin Ruggles
74e10b6204
avcodec: for audio encoding, reset output packet when it is not valid
13 years ago
Justin Ruggles
fa0319b4fd
avcodec: refactor avcodec_encode_audio2() to merge common branches
13 years ago
Justin Ruggles
b461cd4deb
avcodec: remove fallbacks for AVCodec.encode() in avcodec_encode_audio2()
We no longer have any audio encoders using AVCodec.encode().
13 years ago
Anton Khirnov
828bd088f3
lavc: add sample rate and channel layout to AVFrame.
Rationale is the same as for video width/height etc.
13 years ago
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>
13 years ago
Alex Converse
df8d5eaa14
avcodec_string: Favor AVCodecContext.codec over the default codec.
This improves output for formats with more than one AVCodec.
13 years ago
Justin Ruggles
c58846f3a8
avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame()
Use default alignment in audio_get_buffer()
13 years ago
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.
13 years ago
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.
13 years ago
Ronald S. Bultje
bc1ef85520
lavc/avconv: support changing frame sizes in codecs with frame mt.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
13 years ago
Justin Ruggles
a1977e0103
lavc: shrink encoded audio packet size after encoding.
13 years ago
Ronald S. Bultje
c346f6304c
adpcm: fix nb_samples rounding for adpcm_ima_dk3, and update reference.
13 years ago
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.
13 years ago
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.
13 years ago
Anton Khirnov
44fe77b350
lavc: make codec_is_decoder/encoder() public.
13 years ago
Anton Khirnov
7fb6c9225c
lavc: free the output packet when encoding failed or produced no output.
13 years ago
Anton Khirnov
e42e9b0e4d
lavc: preserve avpkt->destruct in ff_alloc_packet().
Also, don't bother with saving/restoring data, av_init_packet doesn't
touch it.
13 years ago
Anton Khirnov
eb727387fd
lavc: shrink encoded video packet size after encoding.
Based on a patch by Nicolas George <nicolas.george <at> normalesup.org>
13 years ago
Diego Biurrun
d10319d87f
avcodec_default_reget_buffer(): fix compilation in DEBUG mode
13 years ago
Anton Khirnov
03ca0a5b30
lavc: merge two if()s with the same condition.
13 years ago
Anton Khirnov
d55fa6f9cb
lavc: factorize setting got_packet_ptr in avcodec_encode_video2()
13 years ago
Anton Khirnov
52953d61ca
lavc: signal no output when a NULL frame is passed to audio encoder without delay
13 years ago
Ronald S. Bultje
87840eeb71
avcodec: disallow reget_buffer() if pix_fmt changed.
13 years ago