34 lines
1016 B
Diff
34 lines
1016 B
Diff
gst-ffmpeg: h264: skip error concealment when SPS and slices are
|
|
mismatching
|
|
|
|
Fixes out of array accesses
|
|
|
|
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
(cherry picked from commit 695af8eed642ff0104834495652d1ee784a4c14d)
|
|
|
|
Upstream-Status: Backport
|
|
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Yue Tao <yue.tao@windriver.com>
|
|
---
|
|
libavcodec/h264.c | 2 +-
|
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
|
|
index da144db..0aab4e7 100644
|
|
--- a/gst-libs/ext/libav/libavcodec/h264.c
|
|
+++ b/gst-libs/ext/libav/libavcodec/h264.c
|
|
@@ -2351,7 +2351,7 @@ static int field_end(H264Context *h, int in_setup)
|
|
* past end by one (callers fault) and resync_mb_y != 0
|
|
* causes problems for the first MB line, too.
|
|
*/
|
|
- if (!FIELD_PICTURE)
|
|
+ if (!FIELD_PICTURE && h->current_slice && !h->sps.new)
|
|
ff_er_frame_end(s);
|
|
|
|
ff_MPV_frame_end(s);
|
|
--
|
|
1.7.5.4
|
|
|