summaryrefslogtreecommitdiffstats
path: root/libavcodec/svq3.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec: Add av_cold attributes to end functions missing themDiego Biurrun2013-05-051-1/+3
|
* svq3: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-7/+10
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: Integrate clear_blocks calls with IDCTRonald S. Bultje2013-04-101-2/+2
| | | | | | | | | 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-081-1/+0
| | | | | 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-081-46/+68
|
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-261-1/+0
|
* h264/svq3: Stop using draw_edgesRonald S. Bultje2013-02-191-5/+8
| | | | | | | | | | | 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-181-4/+6
| | | | a7d2861d36756b913e85681b86ed3385274e8ced removed necessary braces.
* h264: deMpegEncContextizeAnton Khirnov2013-02-151-233/+349
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-151-1/+1
| | | | Split out dependency on MpegEncContext.
* svq3: remove a pointless if()Anton Khirnov2013-02-151-122/+120
| | | | The H264 context is always uninitialized at this point.
* dsputil: Move ff_svq3 function declarations to a separate headerDiego Biurrun2013-02-071-0/+1
|
* Drop DCTELEM typedefDiego Biurrun2013-01-221-3/+3
| | | | | | 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-201-7/+7
| | | | | | | | 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-091-3/+4
|
* golomb: use unsigned arithmetics in svq3_get_ue_golomb()Janne Grunau2012-12-081-9/+8
| | | | | | | | | | 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-041-3/+3
| | | | It's got_frame, not data size
* svq3: cosmetics: Drop useless parenthesesDiego Biurrun2012-10-201-59/+59
|
* svq3: K&R formatting cosmeticsDiego Biurrun2012-10-201-398/+456
|
* svq3: fix pointer type warningMans Rullgard2012-10-111-1/+1
| | | | | | | | 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-111-8/+8
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-081-1/+1
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-071-1/+1
|
* cosmetics: Align codec declarationsMartin Storsjö2012-04-061-3/+4
| | | | | | | 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-061-1/+1
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* Don't use ff_cropTbl[] for IDCT.Ronald S. Bultje2012-03-061-5/+4
| | | | | | | | 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-011-3/+3
|
* mpegvideo: Add ff_ prefix to nonstatic functionsMartin Storsjö2012-02-151-3/+3
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* svq3: Prevent illegal reads while parsing extradata.Alex Converse2012-02-101-5/+14
| | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* h264: disallow constrained intra prediction modes for luma.Ronald S. Bultje2012-02-091-2/+2
| | | | | | | | | | | 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-151-1/+4
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavc: use designated initialisers for all codecs.Anton Khirnov2011-07-291-9/+8
| | | | It's more readable and less prone to breakage.
* Eliminate FF_COMMON_FRAME macro.Diego Biurrun2011-07-111-21/+23
| | | | | 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-031-1/+1
| | | | Avoid aliasing, unroll loops, and inline more functions.
* Fix SVQ3 after adding 4:4:4 H.264 supportJason Garrett-Glaser2011-06-131-12/+16
|
* Roll back 4:4:4 H.264 for nowJason Garrett-Glaser2011-06-131-16/+12
| | | | Needs some ARM/PPC asm modifications.
* Fix SVQ3 after adding 4:4:4 H.264 supportJason Garrett-Glaser2011-06-131-12/+16
|
* svq3: Check negative mb_type to fix potential crash.Baptiste Coudurier2011-06-031-1/+1
| | | | | 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-031-35/+62
| | | | | 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-211-9/+10
| | | | | | | | 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-021-21/+21
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().Stefano Sabatini2011-05-021-1/+1
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavc: remove FF_API_HURRY_UP cruftAnton Khirnov2011-04-261-8/+0
|
* Replace mplayerhq.hu URLs by libav.org.Diego Biurrun2011-04-181-1/+1
|
* lavc: mark hurry_up for removal on next major bumpAnton Khirnov2011-04-021-1/+3
| | | | | 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-191-5/+5
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Move ff_emulated_edge_mc() into DSPContext.Ronald S. Bultje2011-01-281-2/+2
|
* Add ff_ prefix to data symbols of encoders, decoders, hwaccel, parsers, bsf.Diego Elio Pettenò2011-01-261-1/+1
| | | | | | | None of these symbols should be accessed directly, so declare them as hidden. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Revert 2a1f431d38ea9c05abb215d70c7dc09cdb6888ab, it broke H264 lossless.Ronald S. Bultje2011-01-201-5/+4
|
* H.264/SVQ3: make chroma DC work the same way as luma DCJason Garrett-Glaser2011-01-151-4/+5
| | | | | | | No speed improvement, but necessary for some future stuff. Also opens up the possibility of asm chroma dc idct/dequant. Originally committed as revision 26349 to svn://svn.ffmpeg.org/ffmpeg/trunk
OpenPOWER on IntegriCloud