summaryrefslogtreecommitdiff
path: root/libavcodec/vp8.c
Commit message (Collapse)AuthorAge
* Mark read-only tables as staticDiego Biurrun2016-05-05
|
* lavc: Deduplicate zigzag_scan tableDiego Biurrun2016-03-25
|
* vp7: bound checking in vp7_decode_frame_headerFederico Tomassetti2015-08-16
| | | | CC: libav-stable@libav.org
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* vp8: improve memory allocation checksVittorio Giovara2015-01-15
| | | | | | | Check memory earlier, check one more allocation and clean up on error. CC: libav-stable@libav.org Bug-Id: CID 1257773
* lavc: fix bitshifts amount bigger than the typeVittorio Giovara2014-11-18
| | | | | CC: libav-stable@libav.org Bug-Id: CID 1194387 / CID 1194389 / CID 1194393 / CID 1206638
* vp7: fix checking vp7_feature_value_size()Michael Niedermayer2014-11-13
| | | | | CC: libav-stable@libav.org Bug-Id: CID 1197061
* vp8: initialize color space and range propertiesVittorio Giovara2014-10-08
|
* cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-15
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Update Fiona's name in copyright statements.Diego Biurrun2014-07-01
|
* On2 VP7 decoderPeter Ross2014-04-04
| | | | | | | | | Further performance improvements and security fixes by Vittorio Giovara, Luca Barbato and Diego Biurrun. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* vp8: K&R formatting cosmeticsVittorio Giovara2014-03-29
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* vp8: use a fixed-size edge emu bufferAnton Khirnov2014-02-04
| | | | | | The reason is the same as for e588615d938f8581f0d6f3771662d08cadfc00de Based on a patch by Ronald S. Bultje <rsbultje@gmail.com>
* vp8: drop support for real (non-emulated) edgesAnton Khirnov2014-01-09
| | | | | | They are not measurably faster on x86, they might be somewhat faster on other platforms due to missing emu edge SIMD, but the gain is not large enough to justify the added complexity.
* lavc: Edge emulation with dst/src linesizeRonald S. Bultje2013-11-15
| | | | | | Allow supporting files for which the image stride is smaller than the maximum block size + number of subpel mc taps, e.g. a 64x64 VP9 file or a 16x16 VP8 file with -fflags +emu_edge.
* vp8: stop using deprecated avcodec_set_dimensionsAnton Khirnov2013-10-31
|
* lavc: Convert some remaining strides to ptrdiff_tRonald S. Bultje2013-10-15
|
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
|
* Add a WebP decoderJustin Ruggles2013-09-18
| | | | | Container and lossy decoding by Aneesh Dogra <aneesh@sugarlabs.org> Lossless decoding by Justin Ruggles <justin.ruggles@gmail.com>
* vp8: Wait for prev_frame to parse segment_map before reading itRonald S. Bultje2013-07-07
| | | | | | | This fixes occasional failures of vp8-test-vector-010 with frame-level multithreading enabled. Signed-off-by: Martin Storsjö <martin@martin.st>
* vp8: Fix pthread_cond and pthread_mutex leaksMatt Wolenetz2013-03-30
| | | | | | CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()Diego Biurrun2013-03-13
|
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* Drop DCTELEM typedefDiego Biurrun2013-01-22
| | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavc: introduce VideoDSPContextRonald S. Bultje2012-12-20
| | | | | | | | 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>
* lavc: fix decode_frame() third parameter semantics for video decodersAnton Khirnov2012-12-04
| | | | It's got_frame, not data size
* vp8: fix memset() crossing array boundaryMans Rullgard2012-10-27
| | | | | | Indexing across array boundaries is not allowed by C99. Signed-off-by: Mans Rullgard <mans@mansr.com>
* vp8: reset loopfilter delta values at keyframes.Sami Pietila2012-10-12
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
|
* doxygen: Fix function parameter names to match the codeDiego Biurrun2012-08-09
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* vp8: Replace x*155/100 by x*101581>>16.Ronald S. Bultje2012-07-25
| | | | | | Idea stolen from webp (by Pascal Massimino) - because it's Cool. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* vp8: Enclose pthread function calls in ifdefsMartin Storsjö2012-07-15
| | | | | | This fixes building with threads disabled. Signed-off-by: Martin Storsjö <martin@martin.st>
* vp8: Include the thread headers before using the pthread typesMartin Storsjö2012-07-14
| | | | | | | 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>
* vp8: implement sliced threadingDaniel Kang2012-07-14
| | | | | | | | | | | | 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>
* vp8: move data from VP8Context->VP8MacroblockDaniel Kang2012-07-14
| | | | | | In preparation for sliced threading. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vp8: refactor decoding a single mb_rowDaniel Kang2012-07-14
| | | | | | This is in preperation for sliced threading. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vp8: move block coeff arithcoder on stack.Ronald S. Bultje2012-05-30
| | | | | | | 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.
* vp8: update frame size changes on thread context switches.Ronald S. Bultje2012-05-02
| | | | | | | | | 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
* cosmetics: Align codec declarationsMartin Storsjö2012-04-06
| | | | | | | 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>
* vp8: fix update_lf_deltas in libavcodec/vp8.cJanne Salonen2012-03-24
| | | | | | | | | 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>
* vp8: avoid race condition on segment map.Aaron Colwell2012-03-19
| | | | | | | | | | | 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>
* dsputil: Add ff_ prefix to the dsputil*_init* functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* vp8: always update next_framep[] before returning from decode_frame().Ronald S. Bultje2012-02-07
| | | | | | | | | | 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
* doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun2012-02-06
|
* vp8: flush buffers on size changes.Aaron Colwell2011-12-02
|
* avcodec: move some AVCodecContext fields to an internal struct.Justin Ruggles2011-11-19
| | | | | | | | 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.
* vp8: fix overflow in segmentation map caching.Ronald S. Bultje2011-10-28
|
* h264: 4:2:2 intra decoding supportBaptiste Coudurier2011-10-21
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* vp8: fix up handling of segmentation_maps in reference frames.Ronald S. Bultje2011-10-21
| | | | | | | | | 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.