Anton Mitrofanov
70946e6059
h264dec: Fix mix of lossless and lossy MBs decoding
...
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-07-26 23:23:19 +02:00
Anton Mitrofanov
18d3f36d3c
h264_cabac: Fix CABAC+8x8dct in 4:4:4
...
Use the correct ctxIdxInc calculation for coded_block_flag.
Keep old behavior for old versions of x264 for backward compatibility.
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-07-26 23:23:18 +02:00
Diego Biurrun
0a35f128f3
cabac: x86: Give optimizations header a more meaningful name
2016-12-01 08:23:54 +01:00
Anton Khirnov
8281cd5cb8
h264_cabac: drop an always true condition
2016-06-21 11:17:53 +02:00
Anton Khirnov
9df889a5f1
h264: rename h264.[ch] to h264dec.[ch]
...
This is more consistent with the naming of other decoders.
2016-06-21 11:11:26 +02:00
Anton Khirnov
6e92181bf8
h264: pass just the PPS to get_chroma_qp()
...
It does not need the whole context. This will simplify the following
commit.
2016-06-12 20:27:53 +02:00
Diego Biurrun
4f81f8dba7
Drop unnecessary golomb.h #includes
2016-06-08 18:51:57 +02:00
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Diego Biurrun
c11c693acc
h264: Drop broken trace debug output
2016-05-03 15:45:11 +02:00
Anton Khirnov
3176217c60
h264: decouple h264_ps from the h264 decoder
...
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.
2016-04-24 10:06:23 +02:00
Anton Khirnov
ecc31f6b08
h264: move ff_h264_check_intra[4x4]_pred_mode() to h264_parse
...
It is shared with svq3.
2016-03-28 09:53:56 +02:00
Diego Biurrun
a7da517f6a
h264data: Move all data tables from a header to a .c file
2016-03-25 15:56:14 +01:00
Vittorio Giovara
10aa6f9db4
h264: Use the correct argument context in debug log
2015-10-04 13:07:12 +02:00
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
2015-04-19 12:41:59 +01:00
Anton Khirnov
b53569e068
h264_cabac: remove now unnecessary H264Context function parameters
2015-03-21 11:27:16 +01:00
Anton Khirnov
ba7e165b86
h264_cabac: constify all uses of H264Context
...
All the variables modified by this code are either per-MB arrays or have
been moved to the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
e9b2383bf8
h264: move mb_mbaff into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
bc98e8c0e0
h264: move mb_field_decoding_flag into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
d4d9068cdf
h264: move mb_{x,y} into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
0edbe6faa7
h264: move mb_xy into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
a9b201cacf
h264: move cabac_init_idc into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
bd3e460b73
h264: move direct_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
6479c79f55
h264: move mvd_cache into the per-slice context
2015-03-21 11:27:14 +01:00
Anton Khirnov
5c8280c307
h264: move last_qscale_diff into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
e7226984ac
h264: move [{top,left}_]cbp into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
30da98adbd
h264: move cabac[_state] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
bf03a878a7
h264: move mb[_{padding,luma_dc}] into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
b063582e0c
h264: move intra_pcm_ptr into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
95eb35f305
h264: move the ref lists variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
ed451a08a4
h264: move sub_mb_type into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
56febc993b
h264: move the slice type variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
99a35d1ccb
h264: move neighbor_transform_size into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
e6287f077c
h264: move {mv,ref}_cache into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
f69574cf7a
h264: move non_zero_count_cache into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
64c81b2cd0
h264: move *_samples_available into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
7d8154edd5
h264: move intra4x4_pred_mode[_cache] into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
8b00f4df20
h264: move some neighbour information into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
4bd5ac200d
h264: move {chroma,intra16x16}_pred_mode into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
5355ed6b20
h264: move {prev,next}_mb_skipped into the per-slice context
2015-03-21 11:27:12 +01:00
Anton Khirnov
d231e84b06
h264: move the quantizers into the per-slice context
2015-03-21 11:27:12 +01:00
Michael Niedermayer
def69553e7
h264_cabac: Break infinite loops
...
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>
2015-01-15 10:17:01 +02:00
Vittorio Giovara
277ff7f5dc
lavu: move internal define to the only places where it is used
2014-11-24 01:30:14 +00:00
Michael Niedermayer
4cb9f1a774
h264_cabac: fix one fill_rectangle() indentation level
...
Bug-Id: CID 1087088
2014-11-11 11:49:54 +01:00
Diego Biurrun
2143948381
Drop unnecessary av_unused attributes.
2014-09-05 13:55:04 +02:00
Vittorio Giovara
e0c16e4e32
mpegvideo: move mpegvideo formats-related defines to mpegutils.h
2014-03-16 23:04:41 +01:00
Janne Grunau
fb0c9d41d6
avutil: remove timer.h include from internal.h
...
Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
2014-01-25 21:50:20 +01:00
Diego Biurrun
ff9d57e7df
h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline
...
This ensures that decode_cabac_residual_internal actually does get inlined,
which it otherwise does not, even though it is marked as always_inline.
2013-08-24 16:14:15 +02:00
Diego Biurrun
2a61592573
avcodec: Remove some commented-out debug cruft
2013-08-20 19:59:50 +02:00
Anton Khirnov
23e85be58f
h264: add a parameter to the CHROMA444 macro.
...
This way it does not look like a constant.
2013-03-21 10:21:02 +01:00
Anton Khirnov
e962bd08ee
h264: add a parameter to the CHROMA422 macro.
...
This way it does not look like a constant.
2013-03-21 10:20:58 +01:00