summaryrefslogtreecommitdiff
path: root/libavcodec/svq3.c
Commit message (Collapse)AuthorAge
* h264data: Move some tables to the only place they are usedDiego Biurrun2013-08-20
|
* vdpau: remove old-style decodersRémi Denis-Courmont2013-08-05
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avcodec: Add av_cold attributes to end functions missing themDiego Biurrun2013-05-05
|
* svq3: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-19
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: Integrate clear_blocks calls with IDCTRonald S. Bultje2013-04-10
| | | | | | | | | The non-intra-pcm branch in hl_decode_mb (simple, 8bpp) goes from 700 to 672 cycles, and the complete loop of decode_mb_cabac and hl_decode_mb (in the decode_slice loop) goes from 1759 to 1733 cycles on the clip tested (cathedral), i.e. almost 30 cycles per mb faster. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavc: stop setting AVFrame.motion_subsample_log2Anton Khirnov2013-03-08
| | | | | It is not used inside lavc anywhere and now it makes no sense to export it.
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-08
|
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-26
|
* h264/svq3: Stop using draw_edgesRonald S. Bultje2013-02-19
| | | | | | | | | | | Instead, only extend edges on-demand when the motion vector actually crosses the visible decoded area using ff_emulated_edge_mc(). This changes decoding time for cathedral from 8.722sec to 8.706sec, i.e. 0.2% faster overall. More generally (VP8 uses this also), low-motion content gets significant speed improvements, whereas high-motion content tends to decode in approximately the same time. Signed-off-by: Martin Storsjö <martin@martin.st>
* svq3: unbreak decodingMatti Hamalainen2013-02-18
| | | | a7d2861d36756b913e85681b86ed3385274e8ced removed necessary braces.
* h264: deMpegEncContextizeAnton Khirnov2013-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most of the changes are just trivial are just trivial replacements of fields from MpegEncContext with equivalent fields in H264Context. Everything in h264* other than h264.c are those trivial changes. The nontrivial parts are: 1) extracting a simplified version of the frame management code from mpegvideo.c. We don't need last/next_picture anymore, since h264 uses its own more complex system already and those were set only to appease the mpegvideo parts. 2) some tables that need to be allocated/freed in appropriate places. 3) hwaccels -- mostly trivial replacements. for dxva, the draw_horiz_band() call is moved from ff_dxva2_common_end_frame() to per-codec end_frame() callbacks, because it's now different for h264 and MpegEncContext-based decoders. 4) svq3 -- it does not use h264 complex reference system, so I just added some very simplistic frame management instead and dropped the use of ff_h264_frame_start(). Because of this I also had to move some initialization code to svq3. Additional fixes for chroma format and bit depth changes by Janne Grunau <janne-libav@jannau.net> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mpegvideo: split ff_draw_horiz_band().Anton Khirnov2013-02-15
| | | | Split out dependency on MpegEncContext.
* svq3: remove a pointless if()Anton Khirnov2013-02-15
| | | | The H264 context is always uninitialized at this point.
* dsputil: Move ff_svq3 function declarations to a separate headerDiego Biurrun2013-02-07
|
* 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>
* svq3: make slice type value unsigned to match svq3_get_ue_golomb return typeJanne Grunau2012-12-09
|
* golomb: use unsigned arithmetics in svq3_get_ue_golomb()Janne Grunau2012-12-08
| | | | | | | | | | This prevents undefined behaviour of signed left shift if the coded value is larger than 2^31. Large values are most likely invalid and caused errors or by feeding random. Validate every use of svq3_get_ue_golomb() and changed the place there the return value was compared with negative numbers. dirac.c was clean, fixed rv30 and svq3.
* lavc: fix decode_frame() third parameter semantics for video decodersAnton Khirnov2012-12-04
| | | | It's got_frame, not data size
* svq3: cosmetics: Drop useless parenthesesDiego Biurrun2012-10-20
|
* svq3: K&R formatting cosmeticsDiego Biurrun2012-10-20
|
* svq3: fix pointer type warningMans Rullgard2012-10-11
| | | | | | | | Fixes: libavcodec/svq3.c:661:9: warning: passing argument 2 of 'svq3_decode_block' from incompatible pointer type libavcodec/svq3.c:208:19: note: expected 'DCTELEM *' but argument is of type 'DCTELEM (*)[32]' Signed-off-by: Mans Rullgard <mans@mansr.com>
* svq3: replace unsafe pointer casting with intreadwrite macrosMans Rullgard2012-10-11
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* 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>
* svq3: protect against negative quantizers.Ronald S. Bultje2012-03-06
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* Don't use ff_cropTbl[] for IDCT.Ronald S. Bultje2012-03-06
| | | | | | | | Results of IDCT can by far outreach the range of ff_cropTbl[], leading to overreads and potentially crashes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* Replace AVFrame pointer type punning by proper struct member assignments.Diego Biurrun2012-03-01
|
* mpegvideo: Add ff_ prefix to nonstatic functionsMartin Storsjö2012-02-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* svq3: Prevent illegal reads while parsing extradata.Alex Converse2012-02-10
| | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* h264: disallow constrained intra prediction modes for luma.Ronald S. Bultje2012-02-09
| | | | | | | | | | | Conversion of the luma intra prediction mode to one of the constrained ("alzheimer") ones can happen by crafting special bitstreams, causing a crash because we'll call a NULL function pointer for 16x16 block intra prediction, since constrained intra prediction functions are only implemented for chroma (8x8 blocks). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* svq3: propagate codec memory allocation failure in context initDustin Brody2011-08-15
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: use designated initialisers for all codecs.Anton Khirnov2011-07-29
| | | | It's more readable and less prone to breakage.
* Eliminate FF_COMMON_FRAME macro.Diego Biurrun2011-07-11
| | | | | FF_COMMON_FRAME holds the contents of the AVFrame structure and is also copied to struct Picture. Replace by an embedded AVFrame structure in struct Picture.
* H.264: faster write_back_*Jason Garrett-Glaser2011-07-03
| | | | Avoid aliasing, unroll loops, and inline more functions.
* Fix SVQ3 after adding 4:4:4 H.264 supportJason Garrett-Glaser2011-06-13
|
* Roll back 4:4:4 H.264 for nowJason Garrett-Glaser2011-06-13
| | | | Needs some ARM/PPC asm modifications.
* Fix SVQ3 after adding 4:4:4 H.264 supportJason Garrett-Glaser2011-06-13
|
* svq3: Check negative mb_type to fix potential crash.Baptiste Coudurier2011-06-03
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* svq3: Move svq3-specific fields to their own context.Baptiste Coudurier2011-06-03
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* svq3: Do initialization after parsing the extradataRonald S. Bultje2011-05-21
| | | | | | | | If done before, some parameters aren't known yet. With svq3/rtp, initializing before some parameters are known can lead to calling av_malloc(0), which on OS X currently returns broken pointers.
* Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().Stefano Sabatini2011-05-02
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavc: remove FF_API_HURRY_UP cruftAnton Khirnov2011-04-26
|
* Replace mplayerhq.hu URLs by libav.org.Diego Biurrun2011-04-18
|
* lavc: mark hurry_up for removal on next major bumpAnton Khirnov2011-04-02
| | | | | It has been deprecated for about five years, skip_idct/skip_frame should be used instead.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move ff_emulated_edge_mc() into DSPContext.Ronald S. Bultje2011-01-28
|
* Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.Diego Elio Pettenò2011-01-26
| | | | | | | None of these symbols should be accessed directly, so declare them as hidden. Signed-off-by: Mans Rullgard <mans@mansr.com>