summaryrefslogtreecommitdiff
path: root/libavcodec/svq3.c
Commit message (Collapse)AuthorAge
* lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-27
| | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* h264: use properly allocated AVFramesAnton Khirnov2015-04-29
|
* svq3: initialize some required H264Context fields.Anton Khirnov2015-04-05
| | | | | | | They are no longer initialized in ff_h264_decode_init() since 43fd3dd, so svq3 needs to initialize the manually. Fixes svq3 decoding, broken since 43fd3dd.
* h264: move [uv]linesize to the per-slice contextAnton Khirnov2015-03-21
| | | | | | While it is a per-frame variable, it is only really used in the low-level decoding code, so it is more efficient to store it in the slice context.
* h264: move the scratch buffers into the per-slice contextAnton Khirnov2015-03-21
| | | | | | | Also change the method for allocating them. Instead of two possible alloc calls from different places, just ensure they are allocated at the start of each slice. This should be simpler and less bug-prone than the previous method.
* h264: move mb_{x,y} into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move mb_xy into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move is_complex into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move mb_skip_run into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move [{top,left}_]cbp into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move mb[_{padding,luma_dc}] into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move the slice type variables into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move {mv,ref}_cache into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move non_zero_count_cache into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move *_samples_available into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move intra4x4_pred_mode[_cache] into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move some neighbour information into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move {chroma,intra16x16}_pred_mode into the per-slice contextAnton Khirnov2015-03-21
|
* h264: move the quantizers into the per-slice contextAnton Khirnov2015-03-21
|
* h264: split weighted pred-related vars into per-slice contextAnton Khirnov2015-03-21
|
* avcodec: Don't anonymously typedef structsDiego Biurrun2015-02-14
|
* dsputil: Move thirdpel-related bits into their own contextDiego Biurrun2014-03-22
|
* avcodec: more correct printf specifiersDiego Biurrun2014-03-22
|
* svq3: directly set pix_fmt and color_rangeVittorio Giovara2014-03-18
|
* h264 does not depend on mpegvideo any moreVittorio Giovara2014-03-16
|
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-16
|
* h264: move relevant fields from Picture to H264PictureVittorio Giovara2014-03-16
|
* mpegvideo: directly use frames in ff_draw_horiz_band()Vittorio Giovara2014-03-16
|
* mpeg: Drop unused parameters from ff_draw_horiz_band()Diego Biurrun2014-01-29
|
* mpegvideo: drop support for real (non-emulated) edgesAnton Khirnov2014-01-09
| | | | | | | Several decoders disable those anyway and 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 (and those decoders relevant 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.
* cosmetics: Group .name and .long_name together in codec/format declarationsDiego Biurrun2013-10-03
|
* svq3: Avoid a division by zeroMartin Storsjö2013-09-19
| | | | | | | | | | If the height is zero, the decompression will probably end up failing due to not fitting into the allocated buffer later anyway, so this doesn't need any more elaborate check. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* svq3: Check for any negative return value from ff_h264_check_intra_pred_modeMartin Storsjö2013-09-17
| | | | | | | | Also pass on any returned error code. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* 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>