From 585047bb7dae67a366734db0845529add764f3b9 Mon Sep 17 00:00:00 2001 From: Christophe Gisquet Date: Fri, 22 Aug 2014 16:49:54 +0200 Subject: [PATCH] h264: do not return on sidedata allocation failure Not having allocated it is not a good reason to leave the object in an undetermined state. Though a particular setting like the AV_EF_* flags could be useful to control that behaviour. Signed-off-by: Michael Niedermayer --- libavcodec/h264.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 389307b569..cfe627fbe7 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -835,9 +835,7 @@ static void decode_postinit(H264Context *h, int setup_finished) h->content_interpretation_type > 0 && h->content_interpretation_type < 3) { AVStereo3D *stereo = av_stereo3d_create_side_data(&cur->f); - if (!stereo) - return; - + if (stereo) { switch (h->frame_packing_arrangement_type) { case 0: stereo->type = AV_STEREO3D_CHECKERBOARD; @@ -867,6 +865,7 @@ static void decode_postinit(H264Context *h, int setup_finished) if (h->content_interpretation_type == 2) stereo->flags = AV_STEREO3D_FLAG_INVERT; + } } if (h->sei_display_orientation_present && @@ -875,12 +874,11 @@ static void decode_postinit(H264Context *h, int setup_finished) AVFrameSideData *rotation = av_frame_new_side_data(&cur->f, AV_FRAME_DATA_DISPLAYMATRIX, sizeof(int32_t) * 9); - if (!rotation) - return; - - av_display_rotation_set((int32_t *)rotation->data, angle); - av_display_matrix_flip((int32_t *)rotation->data, - h->sei_vflip, h->sei_hflip); + if (rotation) { + av_display_rotation_set((int32_t *)rotation->data, angle); + av_display_matrix_flip((int32_t *)rotation->data, + h->sei_vflip, h->sei_hflip); + } } cur->mmco_reset = h->mmco_reset;