h264: make slice threading work with deblocking_filter=1
authorAnton Khirnov <anton@khirnov.net>
Wed, 13 Apr 2016 11:52:36 +0000 (13:52 +0200)
committerAnton Khirnov <anton@khirnov.net>
Sun, 24 Apr 2016 08:06:25 +0000 (10:06 +0200)
commitb77fffa127663028169c5ed543956af4b9496c29
tree0ad482e842fa0ce76c01ef0c452528e567148559
parent370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8
h264: make slice threading work with deblocking_filter=1

In such a case, decode the MBs in parallel without the loop filter, then
execute the filter serially.

The ref2frm array was previously moved to H264SliceContext. That was
incorrect, since it applies to all the slices and should properly be in
H264Context (it did not actually break decoding, since this distinction
only becomes relevant with slice threading and deblocking_filter=1,
which was not implemented before this commit). The ref2frm array is thus
moved back to H264Context.
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_slice.c