[FFmpeg-devel] [libav-devel] [PATCH] h264: check frame properties for consistency before copying
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Mon Jun 15 18:37:16 CEST 2015
On 15.06.2015 12:57, Vittorio Giovara wrote:
> On Sun, Jun 14, 2015 at 11:40 AM, Andreas Cadhalpun
> <andreas.cadhalpun at googlemail.com> wrote:
>> Also use the frame pixel format instead of the one from the codec
>> context, which is more robust.
>
> Does this fix anything in particular or is just as precaution?
This fixes SIGABRT crashes in FFmpeg. (Libav's av_image_copy_plane
doesn't have the asserts.)
>> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
>> ---
>> libavcodec/h264_slice.c | 6 ++++--
>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
>> index 0c0812f..0183b9c 100644
>> --- a/libavcodec/h264_slice.c
>> +++ b/libavcodec/h264_slice.c
>> @@ -1552,12 +1552,14 @@ int ff_h264_decode_slice_header(H264Context *h, H264SliceContext *sl)
>> * vectors. Given we are concealing a lost frame, this probably
>> * is not noticeable by comparison, but it should be fixed. */
>> if (h->short_ref_count) {
>> - if (prev) {
>> + if (prev && h->short_ref[0]->f->width == prev->f->width
>> + && h->short_ref[0]->f->height == prev->f->height
>> + && h->short_ref[0]->f->format == prev->f->format) {
>
> nit: the && should be at the end of the line (if alignment is a
> concern, prev may be on its own line)
> no need to resend, it will be fixed by whoever pushes this
Whatever you prefer. (I'm also fine with Luca's commit message.)
Best regards,
Andreas
More information about the ffmpeg-devel
mailing list