summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.c
Commit message (Collapse)AuthorAge
* mpegvideo: Replace arch initialization ifdeffery by standard conditionalsDiego Biurrun2013-08-28
|
* vdpau: remove old-style decodersRémi Denis-Courmont2013-08-05
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: unref buffers in ff_mpeg_unref_picture on frame size changesJanne Grunau2013-05-22
| | | | | | ff_mpeg_unref_picture clears the flag indicating that the frame needs to be reallocated after a frame size change. Since we have now reference counted buffers we can unref the buffers immediately.
* mpegvideo: unref old current_picture before allocating a new oneJanne Grunau2013-05-19
| | | | | | Allows decoding with only three frame buffers with frame reference counting. Fixes VAAPI based decoding in vlc which uses only three frame buffers for the mpegvideo-based codecs.
* mpegvideo: allocate sufficiently large scratch buffer for interlaced vidJindrich Makovicka2013-05-17
| | | | | | | | | | | | | | | | MPV_decode_mb_internal needs 3 * 16 * linesize bytes of scratch buffer For interlaced content, linesize is multiplied by two after the allocation of the scratch buffer, and the dest_cr pointer ends past the buffer. This patch makes ff_mpv_frame_size_alloc allocate a total of (aligned line_size) * 2 * 16 * 3 bytes, which suffices even for the interlaced case. CC:libav-stable@libav.org Signed-off-by: Jindrich Makovicka <makovick@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Remove commented-out debug #define cruftDiego Biurrun2013-05-16
|
* mpegvideo: Remove commented-out PARANOID debug cruftDiego Biurrun2013-05-15
|
* avcodec: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-04
|
* ppc: More consistent arch initializationDiego Biurrun2013-04-30
|
* mpegvideo: unref cur/next/prev frames when flushingHendrik Leppkes2013-04-23
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-19
| | | | | | This also converts vc1, since that is mpegvideo-based. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: Move start code finding to utils.cMartin Storsjö2013-03-26
| | | | | | | | | | This allows dropping the mpegvideo dependency from a number of components. This also fixes standalone building of the h264 parser, which was broken in 64e438697. Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: allocate hwaccel privdata after the frame bufferHendrik Leppkes2013-03-19
| | | | | | | | | | This ensures the hwaccel privdata does not leak when a frame buffer could not be allocated (and toggle the assert when the frame is re-used). Having no frame buffer available is quite common when using the DXVA2 hwaccel in situations where the DXVA2 renderer is being re-allocated, for example when moving between displays. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: fix allocation of the hwaccel_picture_private dataHendrik Leppkes2013-03-19
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: reindentAnton Khirnov2013-03-11
|
* mpegvideo: remove useless references to h264 and svq3Anton Khirnov2013-03-11
| | | | | The h264 decoder does not use mpegvideo anymore. The svq3 decoder only uses ff_draw_horiz_band().
* mpegvideo: drop vismv codeAnton Khirnov2013-03-08
| | | | | It has been broken for over a year without anyone complaining or noticing, thus proving that nobody ever uses it.
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* lavc: move AVFrame.hwaccel_picture_private to Picture.Anton Khirnov2013-03-08
| | | | | This field is private and should not be present in a public struct. It is only used in DXVA with mpegvideo-based decoders currently.
* mpegvideo: Conditionally build error_resilience bitsMartin Storsjö2013-03-07
| | | | | This breaks the dependency of mpegvideo on error_resilience allowing compilation of components that depend on the former w/o the latter.
* lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecsRonald S. Bultje2013-03-06
| | | | | | | | | Not all hwaccels implement all codecs, so using one single list for multiple such codecs means some codecs will be represented in the list, even though they don't actually handle that codec. Copying specific lists in each codec fixes that. Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: split ff_draw_horiz_band().Anton Khirnov2013-02-15
| | | | Split out dependency on MpegEncContext.
* error_resilience: decouple ER from MpegEncContextAnton Khirnov2013-02-15
|
* dsputil: Move ff_block_permute to mpegvideo_encDiego Biurrun2013-02-07
|
* mpegvideo: remove an unused function parameterAnton Khirnov2013-02-06
|
* mpegvideo: initialize dummy reference frames.Anton Khirnov2013-02-06
| | | | | | | Do not rely on get_buffer initializing them. Changes yadif tests (off by one in one border pixel), because yadif reads from those uninitialized lines.
* hwaccel: do not offer unsupported pixel formatsRémi Denis-Courmont2013-01-27
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* 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>
* mpegvideo: fix loop condition in draw_line()Xi Wang2013-01-19
| | | | | | | | | | | The loop condition `x = ex' is incorrect. It should be `x <= ex'. This bug was introduced in commit c65dfac4 "mpegvideo.c: K&R formatting and cosmetics." CC:libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* vdpau: Add MPEG-1/2 decoding via hwaccel infrastructureRémi Denis-Courmont2013-01-13
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mpegvideo: initialize videodsp with correct pixel depthJanne Grunau2012-12-26
| | | | | Fixes decoding of 9/10 bit per pixel h264 videos as reported in https://bugzilla.libav.org/show_bug.cgi?id=404 .
* 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>
* mpegvideo: increase edge_emu_buffer size for VC1Janne Grunau2012-12-19
| | | | | | | | | The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma and needs more space. That was not a problem before f1d8763a02b5fce since the size for edge_emu_buffer was always calculated with 2 byte per pixel since the linesize was not known. Fixes occasionally fate errors in vc1_sa10143.
* mpegvideo: allocate scratch buffers after linesize is knownJanne Grunau2012-12-18
| | | | | | | | | | | Since we can't know which stride a custom get_buffer() implementation is going to use we have to allocate this scratch buffers after the linesize is known. It was pretty safe for 8 bit per pixel pixel formats since we always allocated memory for up to 16 bits per pixel. It broke hoever with cmdutis.c's alloc_buffer() and high pixel bit depth since it allocated larger edges than mpegvideo expected. Fixes fuzzed sample nasa-8s2.ts_s244342.
* mpegvideo: treat delayed pictures as usedJanne Grunau2012-12-13
| | | | | | This requires to move the avcodec_default_free_buffers() call to ff_MPV_common_end() since otherwise delayed pictures would get freed during a size change.
* cosmetics: Fix dropable --> droppable typoDiego Biurrun2012-12-09
|
* h264: set Picture.owner2 to the current threadJanne Grunau2012-11-27
| | | | | | | | This does not seem to have an effect currently. Fate-h264 passes with THREADS=1..16 and both threading types as before. It fixes however a segfault during error resilience with my adaptive-frame-mt patchset. A picture in use during error resilience gets realloced in another thread in the fuzzed sample sample_varPAR.avi_s226019.
* pixdesc: add av_pix_fmt_get_chroma_sub_sampleLuca Barbato2012-11-13
| | | | Deprecate avcodec_get_chroma_sub_sample.
* mpeg4videodec: Disable frame multithreading for GMC, its not implemented at allMichael Niedermayer2012-10-19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegvideo: remove write-only variableMans Rullgard2012-10-12
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* avcodec: Remove broken MMI optimizationsDiego Biurrun2012-10-12
| | | | The code fails to compile and is broken beyond repair.
* lavc: do not use av_pix_fmt_descriptors directly.Anton Khirnov2012-10-12
|
* mpegvideo: fix indentationAnton Khirnov2012-10-12
|
* Move avutil tables only used in libavcodec to libavcodec.Diego Biurrun2012-10-11
|
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
|
* mpegvideo: set extended_data in ff_update_duplicate_context()Janne Grunau2012-10-03
| | | | | | AVFrame.extended_data has to reset to the AVFrame.data of the current thread context after copying the frame contents. Fixes crashes with frame-threading after 2bc0de38584.
* avcodec: Convert some commented-out printf/av_log instances to av_dlogDiego Biurrun2012-10-01
|
* avcodec: Drop some silly commented-out av_log() invocationsDiego Biurrun2012-10-01
|
* mpeg4: support frame parameter changes with frame-mtJanne Grunau2012-09-19
| | | | | | | Adds a flag context_reinit to MpegEncContext to relieable keep track of frame parameter changes which require a context reinitialization. This is required for broken inputs which change the frame size but error out before the context can be reinitialized.
* mpegvideo: check ff_find_unused_picture() return value for errorsJanne Grunau2012-09-19
|