aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/utils.c
Commit message (Collapse)AuthorAgeFilesLines
...
| * lavc: pad last audio frame with silence when needed.Anton Khirnov2012-05-091-0/+64
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-081-74/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: rtmp: Support 'rtmp_live', an option which specifies if the media is a live stream. av_samples_fill_array: Mark unmodified function argument as const. lagarith: add YUY2 decoding support Support decoding unaligned rgb24 lagarith. dv: Split profile handling code into a separate file. flvenc: use AVFormatContext, not AVCodecContext for logging. mov: Remove write-only variable in mov_read_chan(). fate: Change the probe-format refs to match the final text format committed. fate: Add avprobe as a make dependency Add probe fate tests to test for regressions in detecting media types. fate: Add oneline comparison method qdm2: clip array indices returned by qdm2_get_vlc(). avplay: properly close/reopen AVAudioResampleContext on channel layout change avcodec: do not needlessly set packet size to 0 in avcodec_encode_audio2() avcodec: for audio encoding, reset output packet when it is not valid avcodec: refactor avcodec_encode_audio2() to merge common branches avcodec: remove fallbacks for AVCodec.encode() in avcodec_encode_audio2() Conflicts: ffplay.c libavcodec/Makefile libavcodec/dvdata.c libavcodec/dvdata.h libavcodec/qdm2.c libavcodec/utils.c libavformat/flvenc.c libavformat/mov.c tests/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: do not needlessly set packet size to 0 in avcodec_encode_audio2()Justin Ruggles2012-05-071-1/+0
| | | | | | | | It is already set to 0 by av_free_packet()
| * avcodec: for audio encoding, reset output packet when it is not validJustin Ruggles2012-05-071-1/+4
| |
| * avcodec: refactor avcodec_encode_audio2() to merge common branchesJustin Ruggles2012-05-071-3/+3
| |
| * avcodec: remove fallbacks for AVCodec.encode() in avcodec_encode_audio2()Justin Ruggles2012-05-071-68/+2
| | | | | | | | We no longer have any audio encoders using AVCodec.encode().
* | Add yuva422p pix_fmt.Carl Eugen Hoyos2012-05-081-0/+1
| |
* | lavc/utils: change a few asserts to av_assert0()Michael Niedermayer2012-05-081-3/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-05-071-0/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: libschroedinger: Switch to function names more in line with Libav style. Move code shared between libdirac and libschroedinger to libschroedinger. lavfi: uninline avfilter_copy_buffer_ref_props(). lavf: add missing '*' in a doxy. h264: Remove a commented-out function pointer typedef. txd: Remove write-only variable in txd_decode_frame(). mmvideo.c: Remove unused variable in mm_decode_pal(). build: cosmetics: Add missing end-of-line backslashes to item lists. build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line. libschroedinger: Move a function to avoid a forward declaration. pthread: warn on high thread counts vf_yadif: fix missing error handling for avfilter_poll_frame() avprobe: allow showing only one container/stream property. lavfi: support audio in avfilter_copy_frame_props(). lavfi: avfilter_merge_formats: handle case where inputs are same lavc: add sample rate and channel layout to AVFrame. zerocodec: check if the previous frame is missing doc: clarify check for NULL pointer style Conflicts: doc/APIchanges doc/developer.texi ffprobe.c libavcodec/Makefile libavcodec/avcodec.h libavcodec/libdirac_libschro.c libavcodec/libdirac_libschro.h libavcodec/mmvideo.c libavcodec/txd.c libavcodec/version.h libavcodec/zerocodec.c libavfilter/Makefile libavfilter/avfilter.c libavfilter/version.h libavformat/Makefile libavutil/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: add sample rate and channel layout to AVFrame.Anton Khirnov2012-05-071-0/+4
| | | | | | | | Rationale is the same as for video width/height etc.
* | lavc: implement accessors for some AVFrame fields.Nicolas George2012-05-031-0/+9
| | | | | | | | | | | | | | | | | | Compared to av_opt_ptr, accessors bring: - better performance (negligible); - compile-time type check; - link-time existence check (or at worst, a dynamic linker error instead of a NULL dereference).
* | lavc: add a sample_rate field to AVFrame.Nicolas George2012-04-281-0/+2
| | | | | | | | The field is filled with the codec context information.
* | lavc: add a channel_layout field to AVFrame.Nicolas George2012-04-281-0/+2
| | | | | | | | | | | | The field is filled with the codec context information. FIXME need a minor version bump.
* | lowres2 support.Michael Niedermayer2012-04-221-3/+4
| | | | | | | | | | | | | | | | | | The new lowres support is limited to decoders where lowres decoding is possible in high quality. I was not able to measure any speed difference, but if one is found the 2-3 lines that might affect speed can be made compile time conditional Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-221-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ARM: allow runtime masking of CPU features dsputil: remove unused functions mov: Treat keyframe indexes as 1-origin if starting at non-zero. mov: Take stps entries into consideration also about key_off. Remove lowres video decoding Conflicts: ffmpeg.c ffplay.c libavcodec/arm/vp8dsp_init_arm.c libavcodec/libopenjpegdec.c libavcodec/mjpegdec.c libavcodec/mpegvideo.c libavcodec/utils.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Remove lowres video decodingMans Rullgard2012-04-211-10/+3
| | | | | | | | | | | | | | This feature is complex, of questionable utility, and slows down normal decoding. Signed-off-by: Mans Rullgard <mans@mansr.com>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-181-2/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ppc: drop unused function dct_quantize_altivec() mpegaudiodec: Do not discard mp_decode_frame() return value. matroska: do not set invalid default duration if frame rate is zero mkv: use av_reduce instead of av_d2q for framerate estimation mkv: report average framerate as minimal as well avcodec_string: Favor AVCodecContext.codec over the default codec. cook: Make constants passed to AV_BE2NE32C() unsigned to avoid signed overflow. Conflicts: libavcodec/cook.c libavcodec/ppc/mpegvideo_altivec.c libavcodec/utils.c libavformat/matroskadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec_string: Favor AVCodecContext.codec over the default codec.Alex Converse2012-04-171-1/+3
| | | | | | | | This improves output for formats with more than one AVCodec.
* | Reset pts_correction state on codec flush.Robert Nagy2012-04-181-0/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-091-5/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avconv: use default alignment for audio buffer avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame() avutil: use align == 0 for default alignment in audio sample buffer functions avutil: allow NULL linesize in av_samples_fill_arrays() and av_samples_alloc() avconv: remove OutputStream.picref. avconv: only set SAR once on the decoded frame. avcodec: validate the channel layout vs. channel count for decoders audioconvert: make av_get_channel_layout accept composite names. avutil: add av_get_packed_sample_fmt() and av_get_planar_sample_fmt() Conflicts: doc/APIchanges ffmpeg.c libavcodec/utils.c libavcodec/version.h libavutil/audioconvert.c libavutil/audioconvert.h libavutil/avutil.h libavutil/samplefmt.c libavutil/samplefmt.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: use align == 0 for default alignment in avcodec_fill_audio_frame()Justin Ruggles2012-04-091-2/+2
| | | | | | | | Use default alignment in audio_get_buffer()
| * avcodec: validate the channel layout vs. channel count for decodersJustin Ruggles2012-04-081-0/+9
| | | | | | | | | | Set avctx->channel_layout to 0 if the channel count does not match avctx->channels.
| * avcodec_encode_{audio,video}: only reallocate output packet when it has ↵Anton Khirnov2012-03-281-2/+2
| | | | | | | | | | | | | | non-zero size. Otherwise realloc would free it, which would result in double free later.
* | Fix side-data memleak also for audio.Reimar Döffinger2012-04-081-5/+11
| | | | | | | | | | | | | | This uses the same code as in decode_video also in decode_audio. Should fix valgrind FATE failures for nellymoser encode test. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | lavc: check media type of the decoder before calling it.Michael Niedermayer2012-04-011-0/+14
| | | | | | | | | | | | | | | | This fixes a segfault where a video decoder was called from avcodec_decode_audio*(). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-251-5/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avc: Add a function for converting mp4 style extradata to annex b pthread: free progress if buffer allocation failed. lavc/avconv: support changing frame sizes in codecs with frame mt. libavformat: Document who sets the AVStream.id field utvideo: mark output picture as keyframe. sunrast: Add support for negative linesize. vp8: fix update_lf_deltas in libavcodec/vp8.c ralf: read Huffman code lengths without GetBitContext Conflicts: ffmpeg.c libavcodec/sunrastenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc/avconv: support changing frame sizes in codecs with frame mt.Ronald S. Bultje2012-03-241-5/+4
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | pthread/mpegvideo: detect and block attempts to init frames after setup.Michael Niedermayer2012-03-241-0/+5
| | | | | | | | | | | | | | This fixes race conditions that ultimately lead to memory corruption. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc: limit realloc() on encoding to the libav compatibility API.Michael Niedermayer2012-03-221-2/+6
| | | | | | | | | | | | Neither the old nor new need it. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc: Redesign the internal encoding API.Michael Niedermayer2012-03-221-6/+54
| | | | | | | | | | | | | | The new API allows (optionally and on by default) using a internal buffer to encode, avoiding the need to allocate large buffers or risking failure on too small buffers. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec_encode_audio2: use ff_alloc_packet2()Michael Niedermayer2012-03-221-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc: add ff_alloc_packet2().Michael Niedermayer2012-03-221-4/+16
| | | | | | | | | | | | | | This contains a AVCodecContext thus allowing us to prevent the error message duplication Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec_encode_audio2: add missing padding to realloc()Michael Niedermayer2012-03-221-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-211-1/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (27 commits) avconv: free packet in write_frame() when discarding due to frame number limit FATE: use +/- flag option syntax for vp8 emu-edge tests lavf: make av_interleave_packet_per_dts() private. lavf: deprecate av_read_packet(). oggdec: output correct timestamps for Vorbis avconv: pass input stream timestamps to audio encoders lavc: shrink encoded audio packet size after encoding. xa: set correct bit rate xa: do not set bit_rate, block_align, or bits_per_coded_sample xa: fix end-of-file handling xa: fix timestamp calculation bink: fix typo in FFALIGN() argument bink: align plane width to 8 when calculating bundle sizes doc: pass -Idoc texi2html and texi2pod doc: texi2pod: add -I flag movenc: Add a min_frag_duration option rtsp: Set the default delay to 0.1 s for the RTSP/SDP/RTP demuxers libavformat: Set the default for the max_delay option to -1 Generate manpages for AV{Format,Codec}Context AVOptions. doc/avconv: remove entries for AVOptions. ... Conflicts: doc/Makefile doc/ffmpeg.texi doc/muxers.texi ffmpeg.c libavcodec/Makefile libavcodec/options.c libavcodec/vp8.c libavformat/options.c tests/fate/demux.mak tests/ref/fate/truemotion1-15 tests/ref/fate/truemotion1-24 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: shrink encoded audio packet size after encoding.Justin Ruggles2012-03-201-1/+8
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-201-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (35 commits) fix space type in Changelog ZeroCodec Decoder RealAudio Lossless decoder rtpenc: Use AVFormatContext.packet_size instead of a private option url: Document the expected behaviour of url_read libavformat: Use AVFormatContext.probesize in init_input docs: Fix a stray reference to tags in the generic doxy on dicts cosmetics: Align some AVInput/OutputFormat declarations zmbv: check decompress result zmbv: correct indentation adpcm: convert adpcm_thp to bytestream2. adpcm: convert adpcm_yamaha to bytestream2. adpcm: convert adpcm_swf to bytestream2. adpcm: convert adpcm_sbpro to bytestream2. adpcm: convert adpcm_ct to bytestream2. adpcm: convert adpcm_ima_amv/smjpeg to bytestream2. adpcm: convert adpcm_ea_xas to bytestream2. adpcm: convert adpcm_ea_r1/2/3 to bytestream2. adpcm: convert ea_maxis_xa to bytestream2. adpcm: convert adpcm_ea to bytestream2. ... Conflicts: Changelog libavcodec/Makefile libavcodec/adpcm.c libavcodec/allcodecs.c libavcodec/avcodec.h libavcodec/version.h libavcodec/zerocodec.c libavcodec/zmbv.c libavformat/riff.c libavformat/url.h tests/ref/fate/truemotion1-15 tests/ref/fate/truemotion1-24 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * adpcm: fix nb_samples rounding for adpcm_ima_dk3, and update reference.Ronald S. Bultje2012-03-181-1/+1
| |
* | avcodec_encode_audio2: Increase the audio buffer size.Michael Niedermayer2012-03-191-1/+1
| | | | | | | | | | | | Fixes Ticket1104 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/utils: fix three const warnings.Nicolas George2012-03-081-3/+3
| | | | | | | | No change in assembly code produced on x86_64.
* | lavc/utils: fix const correctness of AVClass castMichael Niedermayer2012-03-071-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/utils: remove unused variable from avcodec_encode_video2.Michael Niedermayer2012-03-071-1/+0
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-061-11/+165
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (31 commits) cdxl demux: do not create packets with uninitialized data at EOF. Replace computations of remaining bits with calls to get_bits_left(). amrnb/amrwb: Remove get_bits usage. cosmetics: reindent avformat: do not require a pixel/sample format if there is no decoder avformat: do not fill-in audio packet duration in compute_pkt_fields() lavf: Use av_get_audio_frame_duration() in get_audio_frame_size() dca_parser: parse the sample rate and frame durations libspeexdec: do not set AVCodecContext.frame_size libopencore-amr: do not set AVCodecContext.frame_size alsdec: do not set AVCodecContext.frame_size siff: do not set AVCodecContext.frame_size amr demuxer: do not set AVCodecContext.frame_size. aiffdec: do not set AVCodecContext.frame_size mov: do not set AVCodecContext.frame_size ape: do not set AVCodecContext.frame_size. rdt: remove workaround for infinite loop with aac avformat: do not require frame_size in avformat_find_stream_info() for CELT avformat: do not require frame_size in avformat_find_stream_info() for MP1/2/3 avformat: do not require frame_size in avformat_find_stream_info() for AAC ... Conflicts: doc/APIchanges libavcodec/Makefile libavcodec/avcodec.h libavcodec/h264.c libavcodec/h264_ps.c libavcodec/utils.c libavcodec/version.h libavcodec/x86/dsputil_mmx.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avcodec: add av_get_audio_frame_duration() function.Justin Ruggles2012-03-051-0/+142
| | | | | | | | | | 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.
| * avcodec: add av_get_exact_bits_per_sample() functionJustin Ruggles2012-03-051-11/+23
| | | | | | | | | | | | 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.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-051-10/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (27 commits) cmdutils: use new avcodec_is_decoder/encoder() functions. lavc: make codec_is_decoder/encoder() public. lavc: deprecate AVCodecContext.sub_id. libcdio: add a forgotten AVClass to the private context. swscale: remove "cpu flags" from -sws_flags description. proresenc: give user a possibility to alter some encoding parameters vorbisenc: add output buffer overwrite protection libopencore-amrnbenc: fix end-of-stream handling ra144enc: fix end-of-stream handling nellymoserenc: zero any leftover packet bytes nellymoserenc: use proper MDCT overlap delay qpeg: Use bytestream2 functions to prevent buffer overreads. swscale: make %rep unconditional. vp8: convert simple loopfilter x86 assembly to use named arguments. vp8: convert idct x86 assembly to use named arguments. vp8: convert mc x86 assembly to use named arguments. vp8: convert loopfilter x86 assembly to use cpuflags(). vp8: convert idct/mc x86 assembly to use cpuflags(). swscale: remove now unnecessary hack. x86inc: don't "bake" stack_offset in named arguments. ... Conflicts: cmdutils.c doc/APIchanges libavcodec/mpeg12.c libavcodec/options.c libavcodec/qpeg.c libavcodec/utils.c libavcodec/version.h libavdevice/libcdio.c tests/lavf-regression.sh Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: make codec_is_decoder/encoder() public.Anton Khirnov2012-03-041-9/+9
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-03-041-3/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: tiertexseq: set correct block_align for audio tiertexseq: set audio stream start time to 0 voc/avs: Do not change the sample rate mid-stream. segafilm: use the sample rate as the time base for audio streams ea: fix audio pts psx-str: fix audio pts vqf: set packet duration tta demuxer: set packet duration mpegaudio_parser: do not ignore information from the first parsed frame mpegaudio_parser: be less picky about the start position thp: set audio packet durations avcodec: add a Vorbis parser to get packet duration vorbisdec: read the previous window flag for long windows lavc: free the output packet when encoding failed or produced no output. lavc: preserve avpkt->destruct in ff_alloc_packet(). lavc: clarify the meaning of AVCodecContext.frame_number. mpegts: Pad the packet buffer in handle_packet(). mpegts: Do not call read_sl_header() when no bytes remain in the buffer. Conflicts: libavcodec/mpegaudio_parser.c libavcodec/version.h libavformat/mpegts.c tests/ref/fate/pva-demux Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: free the output packet when encoding failed or produced no output.Anton Khirnov2012-03-031-0/+8
| |
| * lavc: preserve avpkt->destruct in ff_alloc_packet().Anton Khirnov2012-03-031-3/+2
| | | | | | | | | | Also, don't bother with saving/restoring data, av_init_packet doesn't touch it.
* | lavc: unify similar code merged from both branches.Nicolas George2012-03-031-8/+3
| |