[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