Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | h264: pass just the PPS to get_chroma_qp() | Anton Khirnov | 2016-06-12 | 1 | -2/+2 |
| | | | | | It does not need the whole context. This will simplify the following commit. | ||||
* | get_bits: Drop some TRACE-level debug code | Diego Biurrun | 2016-05-22 | 1 | -4/+0 |
| | | | | It will not be provided by the new bit reader anyway. | ||||
* | cosmetics: Fix spelling mistakes | Vittorio Giovara | 2016-05-04 | 1 | -1/+1 |
| | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de> | ||||
* | h264: Drop broken trace debug output | Diego Biurrun | 2016-05-03 | 1 | -1/+0 |
| | |||||
* | h264: decouple h264_ps from the h264 decoder | Anton Khirnov | 2016-04-24 | 1 | -11/+11 |
| | | | | | | | | | Make the SPS/PPS parsing independent of the H264Context, to allow decoupling the parser from the decoder. The change is modelled after the one done earlier for HEVC. Move the dequant buffers to the PPS to avoid complex checks whether they changed and an expensive copy for frame threads. | ||||
* | h264: move ff_h264_check_intra[4x4]_pred_mode() to h264_parse | Anton Khirnov | 2016-03-28 | 1 | -3/+6 |
| | | | | It is shared with svq3. | ||||
* | h264data: Move all data tables from a header to a .c file | Diego Biurrun | 2016-03-25 | 1 | -16/+19 |
| | |||||
* | cosmetics: Drop particularly redundant silly comments | Diego Biurrun | 2016-02-18 | 1 | -3/+0 |
| | |||||
* | lavc: Replace av_dlog and tprintf with internal macros | Vittorio Giovara | 2015-04-19 | 1 | -7/+7 |
| | |||||
* | h264_cavlc: constify all uses of H264Context | Anton Khirnov | 2015-03-21 | 1 | -4/+9 |
| | | | | | 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 context | Anton Khirnov | 2015-03-21 | 1 | -6/+6 |
| | |||||
* | h264: move mb_field_decoding_flag into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -3/+3 |
| | |||||
* | h264: use a separate GetBitContext for slice data | Anton Khirnov | 2015-03-21 | 1 | -33/+33 |
| | |||||
* | h264: remove some remnants of data partitioning | Anton Khirnov | 2015-03-21 | 1 | -3/+3 |
| | |||||
* | h264: move mb_{x,y} into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -12/+12 |
| | |||||
* | h264: move mb_xy into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -1/+1 |
| | |||||
* | h264: move mb_skip_run into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -4/+4 |
| | |||||
* | h264: move [{top,left}_]cbp into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -1/+1 |
| | |||||
* | h264: move mb[_{padding,luma_dc}] into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -12/+12 |
| | |||||
* | h264: move intra_pcm_ptr into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -1/+1 |
| | |||||
* | h264: move the ref lists variables into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -12/+12 |
| | |||||
* | h264: move sub_mb_type into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -17/+17 |
| | |||||
* | h264: move the slice type variables into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -9/+9 |
| | |||||
* | h264: move {mv,ref}_cache into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -22/+22 |
| | |||||
* | h264: move non_zero_count_cache into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -27/+32 |
| | |||||
* | h264: move *_samples_available into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -2/+2 |
| | |||||
* | h264: move intra4x4_pred_mode[_cache] into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -5/+5 |
| | |||||
* | h264: move some neighbour information into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -6/+6 |
| | |||||
* | h264: move {chroma,intra16x16}_pred_mode into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -5/+5 |
| | |||||
* | h264: move {prev,next}_mb_skipped into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -1/+1 |
| | |||||
* | h264: move the quantizers into the per-slice context | Anton Khirnov | 2015-03-21 | 1 | -21/+22 |
| | |||||
* | h264 does not depend on mpegvideo any more | Vittorio Giovara | 2014-03-16 | 1 | -1/+0 |
| | |||||
* | mpegvideo: move mpegvideo formats-related defines to mpegutils.h | Vittorio Giovara | 2014-03-16 | 1 | -0/+1 |
| | |||||
* | h264_cavlc: check the size of the intra PCM data. | Anton Khirnov | 2013-11-21 | 1 | -0/+4 |
| | | | | | | Fixes invalid reads. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC:libav-stable@libav.org | ||||
* | avcodec: Remove some commented-out debug cruft | Diego Biurrun | 2013-08-20 | 1 | -1/+0 |
| | |||||
* | h264: add a parameter to the CHROMA444 macro. | Anton Khirnov | 2013-03-21 | 1 | -1/+1 |
| | | | | This way it does not look like a constant. | ||||
* | h264: add a parameter to the CHROMA422 macro. | Anton Khirnov | 2013-03-21 | 1 | -1/+1 |
| | | | | This way it does not look like a constant. | ||||
* | h264: add a parameter to the CABAC macro. | Anton Khirnov | 2013-03-21 | 1 | -1/+1 |
| | | | | This way it does not look like a constant. | ||||
* | h264: add a parameter to the FRAME_MBAFF macro. | Anton Khirnov | 2013-03-21 | 1 | -2/+2 |
| | | | | This way it does not look like a constant. | ||||
* | h264: add a parameter to the MB_FIELD macro. | Anton Khirnov | 2013-03-21 | 1 | -1/+1 |
| | | | | This way it does not look like a constant. | ||||
* | h264: add a parameter to the MB_MBAFF macro. | Anton Khirnov | 2013-03-21 | 1 | -4/+4 |
| | | | | This way it does not look like a constant. | ||||
* | lavc decoders: work with refcounted frames. | Anton Khirnov | 2013-03-08 | 1 | -4/+4 |
| | |||||
* | h264: Don't store intra pcm samples in h->mb | Ronald S. Bultje | 2013-02-19 | 1 | -8/+3 |
| | | | | | | | | | 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: deMpegEncContextize | Anton Khirnov | 2013-02-15 | 1 | -77/+74 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 typedef | Diego Biurrun | 2013-01-22 | 1 | -3/+3 |
| | | | | | | It does not help as an abstraction and adds dsputil dependencies. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> | ||||
* | h264: check for invalid zeros_left before writing | Ronald S. Bultje | 2012-12-08 | 1 | -5/+6 |
| | | | | | | | Prevent an invalid write into coeffs[scantable[-1]] if zeros_left itself was an invalid VLC code (and thus -1). Signed-off-by: Luca Barbato <lu_zero@gentoo.org> | ||||
* | h264: fix invalid pointer arithmetic | Mans Rullgard | 2012-10-27 | 1 | -5/+5 |
| | | | | | | | | | | | | Subtracting a (positive) value from the address of an array violates C99 section 6.5.6: If both the pointer operand and the result point to elements of the same array object, or one past the last element of the array object, the evaluation shall not produce an overflow; otherwise, the behavior is undefined. Signed-off-by: Mans Rullgard <mans@mansr.com> | ||||
* | h264: don't touch H264Context->ref_count[] during MB decoding | Ronald S. Bultje | 2012-10-05 | 1 | -20/+13 |
| | | | | | | | | | 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> | ||||
* | h264: Factorize declaration of mb_sizes array. | Diego Biurrun | 2012-04-05 | 1 | -2/+2 |
| | |||||
* | h264: disallow constrained intra prediction modes for luma. | Ronald S. Bultje | 2012-02-09 | 1 | -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 |