summaryrefslogtreecommitdiffstats
path: root/libavcodec/h264_cabac.c
Commit message (Collapse)AuthorAgeFilesLines
* h264: Use the correct argument context in debug logVittorio Giovara2015-10-041-1/+1
|
* lavc: Replace av_dlog and tprintf with internal macrosVittorio Giovara2015-04-191-6/+6
|
* h264_cabac: remove now unnecessary H264Context function parametersAnton Khirnov2015-03-211-33/+33
|
* h264_cabac: constify all uses of H264ContextAnton Khirnov2015-03-211-22/+22
| | | | | All the variables modified by this code are either per-MB arrays or have been moved to the per-slice context
* h264: move mb_mbaff into the per-slice contextAnton Khirnov2015-03-211-6/+6
|
* h264: move mb_field_decoding_flag into the per-slice contextAnton Khirnov2015-03-211-10/+10
|
* h264: move mb_{x,y} into the per-slice contextAnton Khirnov2015-03-211-9/+9
|
* h264: move mb_xy into the per-slice contextAnton Khirnov2015-03-211-5/+5
|
* h264: move cabac_init_idc into the per-slice contextAnton Khirnov2015-03-211-1/+1
|
* h264: move direct_cache into the per-slice contextAnton Khirnov2015-03-211-3/+3
|
* h264: move mvd_cache into the per-slice contextAnton Khirnov2015-03-211-14/+14
|
* h264: move last_qscale_diff into the per-slice contextAnton Khirnov2015-03-211-6/+6
|
* h264: move [{top,left}_]cbp into the per-slice contextAnton Khirnov2015-03-211-9/+9
|
* h264: move cabac[_state] into the per-slice contextAnton Khirnov2015-03-211-91/+97
|
* h264: move mb[_{padding,luma_dc}] into the per-slice contextAnton Khirnov2015-03-211-12/+12
|
* h264: move intra_pcm_ptr into the per-slice contextAnton Khirnov2015-03-211-1/+1
|
* h264: move the ref lists variables into the per-slice contextAnton Khirnov2015-03-211-12/+12
|
* h264: move sub_mb_type into the per-slice contextAnton Khirnov2015-03-211-15/+15
|
* h264: move the slice type variables into the per-slice contextAnton Khirnov2015-03-211-22/+25
|
* h264: move neighbor_transform_size into the per-slice contextAnton Khirnov2015-03-211-2/+2
|
* h264: move {mv,ref}_cache into the per-slice contextAnton Khirnov2015-03-211-33/+34
|
* h264: move non_zero_count_cache into the per-slice contextAnton Khirnov2015-03-211-40/+50
|
* h264: move *_samples_available into the per-slice contextAnton Khirnov2015-03-211-2/+2
|
* h264: move intra4x4_pred_mode[_cache] into the per-slice contextAnton Khirnov2015-03-211-6/+6
|
* h264: move some neighbour information into the per-slice contextAnton Khirnov2015-03-211-22/+25
|
* h264: move {chroma,intra16x16}_pred_mode into the per-slice contextAnton Khirnov2015-03-211-5/+5
|
* h264: move {prev,next}_mb_skipped into the per-slice contextAnton Khirnov2015-03-211-5/+5
|
* h264: move the quantizers into the per-slice contextAnton Khirnov2015-03-211-22/+26
|
* h264_cabac: Break infinite loopsMichael Niedermayer2015-01-151-1/+1
| | | | | | | | | | | This fixes out of array reads and/or infinite loops. 30 is the maximum number of bits that can be read into coeff_abs below. CC: libav-stable@libav.org Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Martin Storsjö <martin@martin.st>
* lavu: move internal define to the only places where it is usedVittorio Giovara2014-11-241-0/+1
|
* h264_cabac: fix one fill_rectangle() indentation levelMichael Niedermayer2014-11-111-1/+1
| | | | Bug-Id: CID 1087088
* Drop unnecessary av_unused attributes.Diego Biurrun2014-09-051-1/+1
|
* mpegvideo: move mpegvideo formats-related defines to mpegutils.hVittorio Giovara2014-03-161-0/+1
|
* avutil: remove timer.h include from internal.hJanne Grunau2014-01-251-0/+1
| | | | Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
* h264_cabac: Mark functions calling decode_cabac_residual_internal as noinlineDiego Biurrun2013-08-241-12/+17
| | | | | This ensures that decode_cabac_residual_internal actually does get inlined, which it otherwise does not, even though it is marked as always_inline.
* avcodec: Remove some commented-out debug cruftDiego Biurrun2013-08-201-1/+0
|
* h264: add a parameter to the CHROMA444 macro.Anton Khirnov2013-03-211-3/+3
| | | | This way it does not look like a constant.
* h264: add a parameter to the CHROMA422 macro.Anton Khirnov2013-03-211-1/+1
| | | | This way it does not look like a constant.
* h264: add a parameter to the CABAC macro.Anton Khirnov2013-03-211-2/+2
| | | | This way it does not look like a constant.
* h264: add a parameter to the FIELD_PICTURE macro.Anton Khirnov2013-03-211-1/+1
| | | | This way it does not look like a constant.
* h264: add a parameter to the FRAME_MBAFF macro.Anton Khirnov2013-03-211-4/+4
| | | | This way it does not look like a constant.
* h264: add a parameter to the MB_FIELD macro.Anton Khirnov2013-03-211-7/+7
| | | | This way it does not look like a constant.
* h264: add a parameter to the MB_MBAFF macro.Anton Khirnov2013-03-211-4/+4
| | | | This way it does not look like a constant.
* lavc decoders: work with refcounted frames.Anton Khirnov2013-03-081-11/+11
|
* Remove unnecessary dsputil.h #includesDiego Biurrun2013-02-261-1/+0
|
* h264: Don't store intra pcm samples in h->mbRonald S. Bultje2013-02-191-1/+2
| | | | | | | | | Instead, keep them in the bitstream buffer until we read them verbatim, this saves a memcpy() and a subsequent clearing of the target buffer. decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from 6121.4 to 6095.5 cycles, i.e. 26 cycles faster. Signed-off-by: Martin Storsjö <martin@martin.st>
* h264: deMpegEncContextizeAnton Khirnov2013-02-151-53/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Drop DCTELEM typedefDiego Biurrun2013-01-221-8/+28
| | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: don't touch H264Context->ref_count[] during MB decodingRonald S. Bultje2012-10-051-25/+16
| | | | | | | | | The variable is copied to subsequent threads at the same time, so this may cause wrong ref_count[] values to be copied to subsequent threads. This bug was found using TSAN. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avcodec: Convert some commented-out printf/av_log instances to av_dlogDiego Biurrun2012-10-011-1/+2
|
OpenPOWER on IntegriCloud