Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-21Merge commit '6906b19346ae8a330bfaa1c16ce535be10789723'Michael Niedermayer
* commit '6906b19346ae8a330bfaa1c16ce535be10789723': lavc: add missing files for arm lavc: introduce VideoDSPContext Conflicts: configure libavcodec/arm/dsputil_init_armv5te.c libavcodec/dsputil.c libavcodec/dsputil.h libavcodec/dsputil_template.c libavcodec/h264.c libavcodec/mpegvideo.h libavcodec/mpegvideo_enc.c libavcodec/x86/dsputil_mmx.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-20lavc: introduce VideoDSPContextRonald S. Bultje
Move some functions from dsputil. The idea is that videodsp contains functions that are useful for a large and varied set of video decoders. Currently, it contains emulated_edge_mc() and prefetch(). Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-05Merge commit 'df9b9567518f2840d79a4a96b447ebe1aa326408'Michael Niedermayer
* commit 'df9b9567518f2840d79a4a96b447ebe1aa326408': lavc: fix decode_frame() third parameter semantics for video decoders Conflicts: libavcodec/cscd.c libavcodec/eamad.c libavcodec/ffv1dec.c libavcodec/gifdec.c libavcodec/h264.c libavcodec/iff.c libavcodec/mjpegdec.c libavcodec/pcx.c libavcodec/vp56.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05lavc: fix decode_frame() third parameter semantics for video decodersAnton Khirnov
It's got_frame, not data size
2012-10-28Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: yuv4mpeg: reject unsupported codecs nutenc: K&R formatting cosmetics assdec: fix qsort() callback signature configure: detect sparc64 automatically vp8: fix memset() crossing array boundary h264: fix invalid pointer arithmetic amrwbdec: fix invalid pointer arithmetic Conflicts: libavformat/nutenc.c libavformat/yuv4mpeg.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-27vp8: fix memset() crossing array boundaryMans Rullgard
Indexing across array boundaries is not allowed by C99. Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-13vp8dec: reset loopfilter delta values at keyframesSami Pietilä
while testing a VP8 encoder I found a mismatch between FFMPEG and libvpx VP8 decoders. The reason for this mismatch is that FFMPEG doesn't reset loopfilter delta values at keyframes. Patch that fixes the issue is below. I've verified that the output of ffmpeg after this patch matches libvpx. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer
* commit '716d413c13981da15323c7a3821860536eefdbbb': Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat Conflicts: doc/examples/muxing.c ffmpeg.h ffmpeg_filter.c ffmpeg_opt.c ffplay.c ffprobe.c libavcodec/8bps.c libavcodec/aasc.c libavcodec/aura.c libavcodec/avcodec.h libavcodec/avs.c libavcodec/bfi.c libavcodec/bmp.c libavcodec/bmpenc.c libavcodec/c93.c libavcodec/cscd.c libavcodec/cyuv.c libavcodec/dpx.c libavcodec/dpxenc.c libavcodec/eatgv.c libavcodec/escape124.c libavcodec/ffv1.c libavcodec/flashsv.c libavcodec/fraps.c libavcodec/h264.c libavcodec/huffyuv.c libavcodec/iff.c libavcodec/imgconvert.c libavcodec/indeo3.c libavcodec/kmvc.c libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/ljpegenc.c libavcodec/mjpegdec.c libavcodec/mjpegenc.c libavcodec/motionpixels.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo_enc.c libavcodec/pamenc.c libavcodec/pcxenc.c libavcodec/pgssubdec.c libavcodec/pngdec.c libavcodec/pngenc.c libavcodec/pnm.c libavcodec/pnmdec.c libavcodec/pnmenc.c libavcodec/ptx.c libavcodec/qdrw.c libavcodec/qpeg.c libavcodec/qtrleenc.c libavcodec/raw.c libavcodec/rawdec.c libavcodec/rl2.c libavcodec/sgidec.c libavcodec/sgienc.c libavcodec/snowdec.c libavcodec/snowenc.c libavcodec/sunrast.c libavcodec/targa.c libavcodec/targaenc.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/tmv.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/vb.c libavcodec/vp3.c libavcodec/wnv1.c libavcodec/xl.c libavcodec/xwddec.c libavcodec/xwdenc.c libavcodec/yop.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/drawutils.c libavfilter/formats.c libavfilter/src_movie.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_format.c libavfilter/vf_hflip.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_transpose.c libavfilter/vf_yadif.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/movenc.c libavformat/mxf.h libavformat/utils.c libavformat/yuv4mpeg.c libavutil/imgutils.c libavutil/pixdesc.c libswscale/input.c libswscale/output.c libswscale/swscale_internal.h libswscale/swscale_unscaled.c libswscale/utils.c libswscale/x86/swscale_template.c libswscale/x86/yuv2rgb.c libswscale/x86/yuv2rgb_template.c libswscale/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov
2012-08-10Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: g723.1: fix addition overflow g723.1: simplify and fix multiplication overflow g723.1: deobfuscate an expression g723.1: remove unused #includes ARM: add missing "cc" clobber in av_clipl_int32_arm() rtmp: Factorize the code by adding handle_invoke_error rtmp: Factorize the code by adding handle_invoke_status rtmp: Factorize the code by adding handle_invoke_result libavutil: remove unused av_abort() macro ffmenc: replace if/abort with assert() libavutil: drop offsetof() fallback definition libavutil: drop fallback definitions of INTxx_MIN/MAX configure: Check for a sctp struct instead of just the header configure: suncc: Add -xc99 to dependency flags, required on Solaris doxygen: Fix function parameter names to match the code doc: Drop obsolete shared libs cflags hint to workaround Cygwin gcc bugs swf: Move shared table out of the header file swf: Move swf_audio_codec_tags table to the only place it is used fate: add G.723.1 decoder tests Conflicts: configure doc/platform.texi libavformat/Makefile libavutil/arm/intmath.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-09doxygen: Fix function parameter names to match the codeDiego Biurrun
2012-08-08Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'Michael Niedermayer
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85': Replace all CODEC_ID_* with AV_CODEC_ID_* lavc: add AV prefix to codec ids. Conflicts: doc/APIchanges doc/examples/decoding_encoding.c doc/examples/muxing.c ffmpeg.c ffprobe.c ffserver.c libavcodec/8svx.c libavcodec/avcodec.h libavcodec/dnxhd_parser.c libavcodec/dvdsubdec.c libavcodec/error_resilience.c libavcodec/h263dec.c libavcodec/libvorbisenc.c libavcodec/mjpeg_parser.c libavcodec/mjpegenc.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/pcm.c libavcodec/r210dec.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/version.h libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/v4l2.c libavformat/asfdec.c libavformat/asfenc.c libavformat/avformat.h libavformat/avidec.c libavformat/caf.c libavformat/electronicarts.c libavformat/flacdec.c libavformat/flvdec.c libavformat/flvenc.c libavformat/framecrcenc.c libavformat/img2.c libavformat/img2dec.c libavformat/img2enc.c libavformat/ipmovie.c libavformat/isom.c libavformat/matroska.c libavformat/matroskadec.c libavformat/matroskaenc.c libavformat/mov.c libavformat/movenc.c libavformat/mp3dec.c libavformat/mpeg.c libavformat/mpegts.c libavformat/mxf.c libavformat/mxfdec.c libavformat/mxfenc.c libavformat/nsvdec.c libavformat/nut.c libavformat/oggenc.c libavformat/pmpdec.c libavformat/rawdec.c libavformat/rawenc.c libavformat/riff.c libavformat/sdp.c libavformat/utils.c libavformat/vocenc.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov
2012-07-26Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: libopenjpeg: support YUV and deep RGB pixel formats Fix typo in v410 decoder. vf_yadif: unset cur_buf on the input link. vf_overlay: ensure the overlay frame does not get leaked. vf_overlay: prevent premature freeing of cur_buf Support urlencoded http authentication credentials rtmp: Return an error when the client bandwidth is incorrect rtmp: Return proper error code in handle_server_bw rtmp: Return proper error code in handle_client_bw rtmp: Return proper error codes in handle_chunk_size lavr: x86: add missing vzeroupper in ff_mix_1_to_2_fltp_flt() vp8: Replace x*155/100 by x*101581>>16. vp3: don't use calls to inline asm in yasm code. x86/dsputil: put inline asm under HAVE_INLINE_ASM. dsputil_mmx: fix incorrect assembly code rtmp: Factorize the code by adding handle_invoke rtmp: Factorize the code by adding handle_chunk_size rtmp: Factorize the code by adding handle_ping rtmp: Factorize the code by adding handle_client_bw rtmp: Factorize the code by adding handle_server_bw Conflicts: libavcodec/libopenjpegdec.c libavcodec/x86/dsputil_mmx.c libavfilter/vf_overlay.c libavformat/Makefile libavformat/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-25vp8: Replace x*155/100 by x*101581>>16.Ronald S. Bultje
Idea stolen from webp (by Pascal Massimino) - because it's Cool. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-16Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: configure: Check for CommandLineToArgvW vc1dec: Do not use random pred_flag if motion vector data is skipped vp8: Enclose pthread function calls in ifdefs snow: refactor code to work around a compiler bug in MSVC. vp8: Include the thread headers before using the pthread types configure: Check for getaddrinfo in ws2tcpip.h, too vp8: implement sliced threading vp8: move data from VP8Context->VP8Macroblock vp8: refactor decoding a single mb_row doc: update api changes with the right commit hashes mem: introduce av_malloc_array and av_mallocz_array Conflicts: configure doc/APIchanges libavcodec/vp8.c libavutil/mem.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15vp8: Enclose pthread function calls in ifdefsMartin Storsjö
This fixes building with threads disabled. Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15vp8: Include the thread headers before using the pthread typesMartin Storsjö
This was unnoticed on linux, since stdlib.h apparently includes files declaring the pthread_mutex_t and pthread_cond_t types. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-14vp8: implement sliced threadingDaniel Kang
Testing gives 25-30% gain on HD clips with two threads and up to 50% gain with eight threads. Sliced threading uses more memory than single or frame threading. Frame threading and single threading keep the previous memory layout. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14vp8: move data from VP8Context->VP8MacroblockDaniel Kang
In preparation for sliced threading. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14vp8: refactor decoding a single mb_rowDaniel Kang
This is in preperation for sliced threading. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-05-31Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: fate: Fix fate-ac3-fixed-encode for pre-ssse3 x86 machines http: Pass the proper return code of net IO operations http: Add 'post_data', a new option which sets custom HTTP post data lavfi: amix: check active input count before calling request_samples vp8: move block coeff arithcoder on stack. mp3/ac3 probe: search for PES headers to prevent probing MPEG-PS as MP3. Conflicts: libavformat/ac3dec.c libavformat/mp3dec.c tests/fate/ac3.mak Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-30vp8: move block coeff arithcoder on stack.Ronald S. Bultje
This prevents gcc from assuming that contents of it may have changed between calls to vp56_range_get_prob(), thus preventing countless (and unnecessary) movs. Decoding of sintel trailer goes from (avg+SG) 9.796 +/- 0.003 to 9.635 +/- 0.010.
2012-05-03Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: mpeg12: fixed parsing in some mpeg2 streams Add SMPTE240M transfer characteristics flag. mpegts: Some additional HDMV types and reg descriptors for mpegts motionpixels: Clip YUV values after applying a gradient. jpeg: handle progressive in second field of interlaced. ituh263dec: Implement enough of Annex O (scalability) to fix a FPE. h263: more strictly forbid frame size changes with frame-mt. h264: additional protection against unsupported size/bitdepth changes. tta: prevents overflows for 32bit integers in header. configure: remove malloc_aligned. vp8: update frame size changes on thread context switches. snowdsp: explicitily state instruction size. wmall: fix reconstructing audio with uncoded channels WMAL cosmetics: fix indentation gitignore: add Win32 library suffixes Conflicts: configure libavcodec/h263dec.c libavcodec/h264.c libavcodec/ituh263dec.c libavcodec/mjpegdec.c libavcodec/wmalosslessdec.c libavcodec/x86/snowdsp_mmx.c libavformat/mpegts.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-02vp8: update frame size changes on thread context switches.Ronald S. Bultje
This properly synchronizes frame size changes between threads if subsequent threads abort decoding before frame size is initialized, i.e. it prevents the thread after that from ping-ponging back to the original value. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-04-23vp8: fix crash due to skiped update_dimensions().Michael Niedermayer
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-08Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: rtpdec_asf: Set the no_resync_search option for the chained asf demuxer asfdec: Add an option for not searching for the packet markers cosmetics: Clean up the tiffenc pix_fmts declaration to match the style of others cosmetics: Align codec declarations cosmetics: Convert mimic.c to utf-8 avconv: remove an unused function parameter. avconv: remove now pointless variables. avconv: drop support for building without libavfilter. nellymoserenc: fix crash due to memsetting the wrong area. libavformat: Only require first packet to be known for audio/video streams avplay: Don't try to scale timestamps if the tb isn't set Conflicts: Changelog configure ffmpeg.c libavcodec/aacenc.c libavcodec/bmpenc.c libavcodec/dnxhddec.c libavcodec/dnxhdenc.c libavcodec/ffv1.c libavcodec/flacenc.c libavcodec/fraps.c libavcodec/huffyuv.c libavcodec/libopenjpegdec.c libavcodec/mpeg12enc.c libavcodec/mpeg4videodec.c libavcodec/pamenc.c libavcodec/pgssubdec.c libavcodec/pngenc.c libavcodec/qtrleenc.c libavcodec/rawdec.c libavcodec/sgienc.c libavcodec/tiffenc.c libavcodec/v210dec.c libavcodec/wmv2dec.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-06cosmetics: Align codec declarationsMartin Storsjö
Also break some long lines, remove codec function placeholder comments and add spaces in sample/pixel format lists. Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-25Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* 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>
2012-03-24vp8: fix update_lf_deltas in libavcodec/vp8.cJanne Salonen
lf_delta.ref[i] and lf_delta.mode[i] were incorrectly reset to 0 if specific delta value was not updated. Fixed to keep the previous value if flag indicates that element in question is not updated. Signed-off-by: Janne Salonen <jsalonen@google.com> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-21Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* 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>
2012-03-20vp8: avoid race condition on segment map.Aaron Colwell
This change avoids accessing the segment map of the previous frame if segmentation is not enabled for the current frame. The caller of decode_mb_mode() only calls ff_thread_await_progress() on the reference segmentation index array if segmentation is enabled, so Chromium's TSAN will report a race when accessing this data while segmentation is not enabled. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-16Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (27 commits) ppc: Add ff_ prefix to nonstatic symbols sh4: Add ff_ prefix to nonstatic symbols mpegvideo: Add ff_ prefix to nonstatic functions rtjpeg: Add ff_ prefix to nonstatic symbols rv: Add ff_ prefix to nonstatic symbols vp56: Add ff_ prefix to nonstatic symbols vorbis: Add ff_ prefix to nonstatic symbols msmpeg4: Add ff_ prefix to nonstatic symbols vc1: Add ff_ prefix to nonstatic symbols msmpeg4: Add ff_ prefixes to nonstatic symbols snow: Add ff_ prefix to nonstatic symbols mpeg12: Add ff_ prefix to nonstatic symbols mpeg4: Add ff_ prefixes to nonstatic symbols lagarith: Add ff_ prefix to lag_rac_init libavcodec: Add ff_ prefix to j_rev_dct* dsputil: Add ff_ prefix to inv_zigzag_direct16 libavcodec: Prefix fdct_ifast, fdct_ifast248 dsputil: Add ff_ prefix to the dsputil*_init* functions libavcodec: Add ff_ prefix to some nonstatic symbols vlc/rl: Add ff_ prefix to the nonstatic symbols ... Conflicts: libavcodec/Makefile libavcodec/allcodecs.c libavcodec/dnxhddec.c libavcodec/ffv1.c libavcodec/h263.h libavcodec/h263dec.c libavcodec/h264.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/nuv.c libavcodec/ppc/dsputil_ppc.c libavcodec/proresdsp.c libavcodec/svq3.c libavcodec/version.h libavformat/dv.h libavformat/dvenc.c libavformat/matroskadec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-08Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: swscale: make yuv2yuv1 use named registers. h264: mark h264_idct_add8_10 with number of XMM registers. swscale: fix V plane memory location in bilinear/unscaled RGB/YUYV case. vp8: always update next_framep[] before returning from decode_frame(). avconv: estimate next_dts from framerate if it is set. avconv: better next_dts usage. avconv: rename InputStream.pts to last_dts. avconv: reduce overloading for InputStream.pts. avconv: rename InputStream.next_pts to next_dts. avconv: rework -t handling for encoding. avconv: set encoder timebase for subtitles. pva-demux test: add -vn swscale: K&R formatting cosmetics for SPARC code apedec: allow the user to set the maximum number of output samples per call apedec: do not unnecessarily zero output samples for mono frames apedec: allocate a single flat buffer for decoded samples apedec: use sizeof(field) instead of sizeof(type) swscale: split C output functions into separate file. swscale: Split C input functions into separate file. bytestream: Add bytestream2 writing API. The avconv changes are due to massive regressions and bugs not merged yet. Conflicts: ffmpeg.c libavcodec/vp8.c libswscale/swscale.c libswscale/x86/swscale_template.c tests/fate/demux.mak tests/ref/lavf/asf tests/ref/lavf/avi tests/ref/lavf/mkv tests/ref/lavf/mpg tests/ref/lavf/nut tests/ref/lavf/ogg tests/ref/lavf/rm tests/ref/lavf/ts tests/ref/seek/lavf_avi tests/ref/seek/lavf_mkv tests/ref/seek/lavf_rm Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-07vp8: always update next_framep[] before returning from decode_frame().Ronald S. Bultje
Also slightly move around code not allocate a new frame if we won't decode it. This prevents us from putting undecoded frames in frame pointers, which (in mt decoding) other threads will use and wait on as references, causing a deadlock (if we skipped decoding) or a crash (if we didn't initialized next_framep[] at all). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-02-07Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: Revert "v210enc: use FFALIGN()" doxygen: Do not include license boilerplates in Doxygen comment blocks. avplay: reset decoder flush state when seeking ape: skip packets with invalid size ape: calculate final packet size instead of guessing ape: stop reading after the last frame has been read ape: return AVERROR_EOF instead of AVERROR(EIO) when demuxing is finished ape: return error if seeking to the current packet fails in ape_read_packet() avcodec: Clarify AVFrame member documentation. v210dec: check for coded_frame allocation failure v210enc: use stride as it is already calculated v210enc: use FFALIGN() v210enc: return proper AVERROR codes instead of -1 v210enc: do not set coded_frame->key_frame v210enc: check for coded_frame allocation failure drawtext: add 'fix_bounds' option on coords fixing drawtext: fix text_{w, h} expression vars drawtext: add missing braces around an if() block. Conflicts: libavcodec/arm/vp8.h libavcodec/arm/vp8dsp_init_arm.c libavcodec/v210dec.c libavfilter/vf_drawtext.c libavformat/ape.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-06doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun
2012-01-16Rework VP8 decoder frame skipping code.Reimar Döffinger
This reworks the frame skipping code such that the reference buffers are still updated according to the header. However it also ensures that the current frame will not end up in any reference buffer. Also fixes a hang with frame-multithreading, probably because get_buffer was already called and would have reset the progress, however the frame could remain in framep due to the missing update (or it could be assigned to next_framep and a skip_frame skip would then write it into framep - there might be even more failure modes). Sample might become available at samples/nsv/vp8.nsv Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-12-03Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: aac_latm: reconfigure decoder on audio specific config changes latmdec: fix audio specific config parsing Add avcodec_decode_audio4(). avcodec: change number of plane pointers from 4 to 8 at next major bump. Update developers documentation with coding conventions. svq1dec: avoid undefined get_bits(0) call ARM: h264dsp_neon cosmetics ARM: make some NEON macros reusable Do not memcpy raw video frames when using null muxer fate: update asf seektest vp8: flush buffers on size changes. doc: improve general documentation for MacOSX asf: use packet dts as approximation of pts asf: do not call av_read_frame rtsp: Initialize the media_type_mask in the rtp guessing demuxer Cleaned up alacenc.c Conflicts: doc/APIchanges doc/developer.texi libavcodec/8svx.c libavcodec/aacdec.c libavcodec/ac3dec.c libavcodec/avcodec.h libavcodec/nellymoserdec.c libavcodec/tta.c libavcodec/utils.c libavcodec/version.h libavcodec/wmadec.c libavformat/asfdec.c tests/ref/seek/lavf_asf Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-02vp8: flush buffers on size changes.Aaron Colwell
2011-11-20Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: swscale: Fix stack alignment for SSE avcodec: move some AVCodecContext fields to an internal struct. avcodec: use av_opt_set() instead of deprecated av_set_string3() avcodec: fix some const warnings avcodec: remove pointless AVOption, internal_buffer_count imgutils: Fix illegal read. Conflicts: doc/APIchanges libavcodec/avcodec.h libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-19avcodec: move some AVCodecContext fields to an internal struct.Justin Ruggles
A new field, AVCodecContext.internal is used to hold a new struct AVCodecInternal, which has private fields that are not codec-specific and are used by general libavcodec functions. Moved internal_buffer, internal_buffer_count, and is_copy.
2011-10-30Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (51 commits) cin audio: use sign_extend() instead of casting to int16_t cin audio: restructure decoding loop to avoid a separate counter variable cin audio: use local variable for delta value cin audio: remove unneeded cast from void* cin audio: validate the channel count cin audio: remove unneeded AVCodecContext pointer from CinAudioContext dsicin: fix several audio-related fields in the CIN demuxer flacdec: use av_get_bytes_per_sample() to get sample size dca: handle errors from dca_decode_block() dca: return error if the frame header is invalid dca: return proper error codes instead of -1 utvideo: handle empty Huffman trees binkaudio: change short to int16_t binkaudio: only decode one block at a time. binkaudio: store interleaved overlap samples in BinkAudioContext. binkaudio: pre-calculate quantization factors binkaudio: add some buffer overread checks. atrac3: support float or int16 output using request_sample_fmt atrac3: add CODEC_CAP_SUBFRAMES capability atrac3: return appropriate error codes instead of -1 ... Conflicts: libavcodec/atrac1.c libavcodec/dca.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-29vp8: fix overflow in segmentation map caching.Ronald S. Bultje
2011-10-27VP8: Unroll decoding segment updateDavid Conrad
2011-10-22Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: (35 commits) flvdec: Do not call parse_keyframes_index with a NULL stream libspeexdec: include system headers before local headers libspeexdec: return meaningful error codes libspeexdec: cosmetics: reindent libspeexdec: decode one frame at a time. swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables() Move timefilter code from lavf to lavd. mov: add support for hdvd and pgapmetadata atoms mov: rename function _stik, some indentation cosmetics mov: rename function _int8 to remove ambiguity, some indentation cosmetics mov: parse the gnre atom mp3on4: check for allocation failures in decode_init_mp3on4() mp3on4: create a separate flush function for MP3onMP4. mp3on4: ensure that the frame channel count does not exceed the codec channel count. mp3on4: set channel layout mp3on4: fix the output channel order mp3on4: allocate temp buffer with av_malloc() instead of on the stack. mp3on4: copy MPADSPContext from first context to all contexts. fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm ... Conflicts: libavcodec/arm/h264dsp_init_arm.c libavcodec/h264.c libavcodec/h264.h libavcodec/h264_cabac.c libavcodec/h264_cavlc.c libavcodec/h264_ps.c libavcodec/h264dsp_template.c libavcodec/h264idct_template.c libavcodec/h264pred.c libavcodec/h264pred_template.c libavcodec/x86/h264dsp_mmx.c libavdevice/Makefile libavdevice/jack_audio.c libavformat/Makefile libavformat/flvdec.c libavformat/flvenc.c libavutil/pixfmt.h libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21h264: 4:2:2 intra decoding supportBaptiste Coudurier
Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21vp8: fix up handling of segmentation_maps in reference frames.Ronald S. Bultje
Associate segmentation_map[] with reference frame, rather than decoding instance. This fixes cases where the map would be free()'ed on e.g. a size change in one thread, whereas the other thread was still accessing it. Also, it fixes cases where threads overwrite data that is still being referenced by the previous thread, who thinks that it's part of the frame previously decoded by the next thread.
2011-10-16Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: prores: get correct size for coded V plane if alpha is present prores: do not set pixel format on codec init pthread: prevent updating AVCodecContext from itself in frame_thread_free pthread: copy coded frame dimensions in update_context_from_thread vp8: prevent read from uninitialized memory in decode_mvs vp8: force reallocation in update_thread_context after frame size change vp8: fix return value if update_dimensions fails matroskadec: fix out of bounds write adpcmdec: calculate actual number of output samples for each decoder. adpcmdec: check remaining buffer size before decoding next block in the ADPCM IMA WAV decoder. adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder. adpcmdec: remove unneeded buf_size==0 check. adpcmdec: remove unneeded zeroing of *data_size dnxhdenc: fixed signed multiplication overflow Conflicts: tests/ref/fate/prores-alpha tests/ref/fate/truemotion1-24 Merged-by: Michael Niedermayer <michaelni@gmx.at>