[FFmpeg-devel] [PATCH] avcodec/h264_slice: Update first_slice when updating current_slice for 2nd fields
Kieran Kunhya
kierank at obe.tv
Sat Mar 26 18:17:46 CET 2016
On Fri, 25 Mar 2016 at 16:33 Michael Niedermayer <michael at niedermayer.cc>
wrote:
> This fixes Ticket 4389 differently
> Fixes Ticket5371
> Fixes null pointer dereference
>
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/h264_slice.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> index 9a5bc3f..c4340dc 100644
> --- a/libavcodec/h264_slice.c
> +++ b/libavcodec/h264_slice.c
> @@ -1188,6 +1188,7 @@ int ff_h264_decode_slice_header(H264Context *h,
> H264SliceContext *sl)
> if (h->cur_pic_ptr && FIELD_PICTURE(h) && h->first_field) {
> ret = ff_h264_field_end(h, h->slice_ctx, 1);
> h->current_slice = 0;
> + first_slice = 1;
> if (ret < 0)
> return ret;
> } else if (h->cur_pic_ptr && !FIELD_PICTURE(h) &&
> !h->first_field && h->nal_unit_type == NAL_IDR_SLICE) {
> @@ -1422,7 +1423,7 @@ int ff_h264_decode_slice_header(H264Context *h,
> H264SliceContext *sl)
> }
> }
>
> - if (!h->current_slice && h->dequant_coeff_pps != pps_id) {
> + if (first_slice && h->dequant_coeff_pps != pps_id) {
> h->dequant_coeff_pps = pps_id;
> ff_h264_init_dequant_tables(h);
> }
> --
> 1.7.9.5
>
>
Ok if tested but I will fuzz more.
Kieran
More information about the ffmpeg-devel
mailing list