Michael Niedermayer
7be2d2a70c
avcodec/h264: Use only one ERContext
...
This fixes slice threads with error concealment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-09 17:42:04 +02:00
Michael Niedermayer
845ab37b05
avcodec/h264_slice: Fix uninitialized variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 13:05:38 +02:00
Michael Niedermayer
386601286f
avcodec/h264_slice: Dont reset mb_aff_frame per slice
...
Fixes null pointer dereference
Fixes Ticket4440
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-08 12:29:47 +02:00
Michael Niedermayer
43b434210e
avcodec/h264: Fix race between slices where one overwrites data from the next
...
Fixes non deterministic crash in ticket4408/fuzz2.264
Likely fixes other samples as well
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 00:40:21 +02:00
Michael Niedermayer
98c5db89bb
avcodec/h264_slice: make current_slice reset code more strict
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 17:00:12 +02:00
Michael Niedermayer
6da7625cc3
Merge commit ' a4d34e218f'
...
* commit 'a4d34e218f ':
h264: disable ER by default
Conflicts:
libavcodec/h264.c
libavcodec/h264_picture.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-04 00:52:54 +02:00
Anton Khirnov
a4d34e218f
h264: disable ER by default
...
The way it is currently designed is fundamentally unsafe and cannot be
reasonably fixed without completely rewriting it.
2015-04-03 13:14:43 +02:00
Rainer Hochecker
8b152c355f
h264: avoid unnecessary calls to get_format
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 12:14:39 +02:00
Michael Niedermayer
cd5a48e549
avcodec/h264_slice: Put CONFIG_GRAY first in if()
...
This is more consistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-26 15:41:27 +01:00
Michael Niedermayer
354db19ff4
avcodec/h264: Remove bits_per_raw_sample hacks
...
Fixes assertion failure
Fixes: f12c79769501ee471a5c731b8304ffcb/signal_sigabrt_7ffff6ac8cc9_3766_cov_4267830138_undemuxable_h264.ts
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-25 04:14:38 +01:00
Michael Niedermayer
141b9d5c3b
avcodec/h264_slice: update slice context linesizes when a new picture is allocated
...
previously they where only updated when decoding started and would thus have
been inconsistent for a longer period of time leaving more chances for
problems
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:45:46 +01:00
Michael Niedermayer
fa7c08d5e1
Merge commit ' c28ed1d743'
...
* commit 'c28ed1d743 ':
h264: move [uv]linesize to the per-slice context
Conflicts:
libavcodec/h264_mb.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:16:36 +01:00
Michael Niedermayer
d8151a7e94
Merge commit ' a12d3188cb'
...
* commit 'a12d3188cb ':
h264: use a smaller struct for the ref lists
Conflicts:
libavcodec/h264_direct.c
libavcodec/h264_mb.c
libavcodec/h264_picture.c
libavcodec/h264_refs.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 23:05:34 +01:00
Michael Niedermayer
0f8bb0efc3
Merge commit ' 5bf3c0fa49'
...
* commit '5bf3c0fa49 ':
h264: drop the now unused per-slice H264Contexts
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:41:17 +01:00
Michael Niedermayer
8bdcec3111
Merge commit ' 51d8725a6e'
...
* commit '51d8725a6e ':
h264: use the main H264Context as the parent for all slice contexts
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:33:27 +01:00
Michael Niedermayer
b1e6d8a226
Merge commit ' 92e0b7342c'
...
* commit '92e0b7342c ':
h264_slice: constify all the uses of H264Context during slice decoding
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:32:33 +01:00
Michael Niedermayer
84ae7294cb
Merge commit ' 3178f4d33f'
...
* commit '3178f4d33f ':
h264: move rbsp_buffer into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_parser.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 20:16:21 +01:00
Michael Niedermayer
830e548b9e
Merge commit ' 582683b6ac'
...
* commit '582683b6ac ':
h264: move remaining ER stuff into the per-slice context
Conflicts:
libavcodec/h264.h
libavcodec/h264_picture.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 20:00:34 +01:00
Michael Niedermayer
44e4a86c8a
Merge commit ' c377e04d8a'
...
* commit 'c377e04d8a ':
h264: move top_borders into the per-slice context
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:58:59 +01:00
Michael Niedermayer
3d1d8e1f95
Merge commit ' 36d04801ba'
...
* commit '36d04801ba ':
h264: move the scratch buffers into the per-slice context
Conflicts:
libavcodec/h264.h
libavcodec/h264_slice.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:50:53 +01:00
Michael Niedermayer
9d0450ae94
Merge commit ' e9b2383bf8'
...
* commit 'e9b2383bf8 ':
h264: move mb_mbaff into the per-slice context
Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:07:01 +01:00
Michael Niedermayer
d511dc6530
Merge commit ' bc98e8c0e0'
...
* commit 'bc98e8c0e0 ':
h264: move mb_field_decoding_flag into the per-slice context
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 18:03:54 +01:00
Michael Niedermayer
55215383dc
Merge commit ' f42485dbce'
...
* commit 'f42485dbce ':
h264: use a separate GetBitContext for slice data
Conflicts:
libavcodec/h264.c
libavcodec/h264_cavlc.c
libavcodec/h264_parser.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:13:24 +01:00
Michael Niedermayer
eba2c2321b
Merge commit ' 404a416d4b'
...
* commit '404a416d4b ':
h264: remove some remnants of data partitioning
Conflicts:
libavcodec/h264.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:00:51 +01:00
Michael Niedermayer
72bec029ee
Merge commit ' 7bbc254d64'
...
* commit '7bbc254d64 ':
h264: move resync_mb_{x,y} into the per-slice context
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:54:48 +01:00
Michael Niedermayer
d76559fb5f
Merge commit ' d4d9068cdf'
...
* commit 'd4d9068cdf ':
h264: move mb_{x,y} into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_cavlc.c
libavcodec/h264_mb.c
libavcodec/h264_slice.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:46:15 +01:00
Michael Niedermayer
668c65e7e7
Merge commit ' 0edbe6faa7'
...
* commit '0edbe6faa7 ':
h264: move mb_xy into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_cabac.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:18:29 +01:00
Michael Niedermayer
db4234c500
Merge commit ' 07c5ca551b'
...
* commit '07c5ca551b ':
h264: move is_complex into the per-slice context
Conflicts:
libavcodec/h264_slice.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:10:31 +01:00
Michael Niedermayer
70eec8f432
Merge commit ' 47a0d39350'
...
* commit '47a0d39350 ':
h264: move mb_skip_run into the per-slice context
Conflicts:
libavcodec/h264_cavlc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:09:14 +01:00
Michael Niedermayer
da7f4c32ab
Merge commit ' 9951907f6f'
...
* commit '9951907f6f ':
h264: move redundant_pic_count into the per-slice context
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:07:53 +01:00
Michael Niedermayer
04d23cf1c5
Merge commit ' a9b201cacf'
...
* commit 'a9b201cacf ':
h264: move cabac_init_idc into the per-slice context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 16:06:57 +01:00
Michael Niedermayer
7d23931632
Merge commit ' e6c90ce94f'
...
* commit 'e6c90ce94f ':
h264: move loopfilter parameters into the per-slice context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:59:20 +01:00
Michael Niedermayer
c9841c05be
Merge commit ' a67f8ae9a2'
...
* commit 'a67f8ae9a2 ':
h264: move mvd_table into the per-slice context
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:57:21 +01:00
Michael Niedermayer
a4952e7343
Merge commit ' 5c8280c307'
...
* commit '5c8280c307 ':
h264: move last_qscale_diff into the per-slice context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:48:53 +01:00
Michael Niedermayer
4c5c913dd8
Merge commit ' e7226984ac'
...
* commit 'e7226984ac ':
h264: move [{top,left}_]cbp into the per-slice context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:48:13 +01:00
Michael Niedermayer
f5d4d61824
Merge commit ' 30da98adbd'
...
* commit '30da98adbd ':
h264: move cabac[_state] into the per-slice context
Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:45:44 +01:00
Michael Niedermayer
d86e8f235e
avcodec/h264_slice: Merge 2 memcpy()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:37:05 +01:00
Michael Niedermayer
739edc1a7e
Merge commit ' bf03a878a7'
...
* commit 'bf03a878a7 ':
h264: move mb[_{padding,luma_dc}] into the per-slice context
Conflicts:
libavcodec/h264.h
libavcodec/h264_cavlc.c
libavcodec/h264_mb.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:36:57 +01:00
Michael Niedermayer
35a788d953
Merge commit ' b063582e0c'
...
* commit 'b063582e0c ':
h264: move intra_pcm_ptr into the per-slice context
Conflicts:
libavcodec/h264.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:27:29 +01:00
Michael Niedermayer
cc2cfdc497
Merge commit ' 95eb35f305'
...
* commit '95eb35f305 ':
h264: move the ref lists variables into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_direct.c
libavcodec/h264_mb.c
libavcodec/h264_picture.c
libavcodec/h264_refs.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:18:10 +01:00
Michael Niedermayer
bd76a4822f
Merge commit ' ee0d774dfa'
...
* commit 'ee0d774dfa ':
h264: move dist_scale_factor[_field] into the per-slice context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:39:49 +01:00
Michael Niedermayer
a8ac4c9b06
Merge commit ' 066aafced4'
...
* commit '066aafced4 ':
h264: move direct_spatial_mv_pred into the per-slice context
Conflicts:
libavcodec/h264_mvpred.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:38:59 +01:00
Michael Niedermayer
97c8ecaada
Merge commit ' 56febc993b'
...
* commit '56febc993b ':
h264: move the slice type variables into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:30:19 +01:00
Michael Niedermayer
2cc08cad9e
Merge commit ' 5f390eef8e'
...
* commit '5f390eef8e ':
h264: move mb_[uv]linesize into the per-slice context
Conflicts:
libavcodec/h264.h
libavcodec/h264_mb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:16:29 +01:00
Michael Niedermayer
f1436a7f96
Merge commit ' e6287f077c'
...
* commit 'e6287f077c ':
h264: move {mv,ref}_cache into the per-slice context
Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_mb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:06:30 +01:00
Michael Niedermayer
b7e0356cc3
Merge commit ' f69574cf7a'
...
* commit 'f69574cf7a ':
h264: move non_zero_count_cache into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:02:02 +01:00
Michael Niedermayer
6abd1e901c
Merge commit ' 7d8154edd5'
...
* commit '7d8154edd5 ':
h264: move intra4x4_pred_mode[_cache] into the per-slice context
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:44:38 +01:00
Michael Niedermayer
61635c7a88
Merge commit ' 8b00f4df20'
...
* commit '8b00f4df20 ':
h264: move some neighbour information into the per-slice context
Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:42:44 +01:00
Michael Niedermayer
acd6b407c3
Merge commit ' 06789ad3b7'
...
* commit '06789ad3b7 ':
h264: move qp_thresh into the per-slice context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:34:33 +01:00
Michael Niedermayer
c27f53b9fb
Merge commit ' d231e84b06'
...
* commit 'd231e84b06 ':
h264: move the quantizers into the per-slice context
Conflicts:
libavcodec/dxva2_h264.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:24:23 +01:00