diff options
author | Christophe Gisquet <christophe.gisquet@gmail.com> | 2014-08-22 16:49:54 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-08-23 01:01:57 +0200 |
commit | 585047bb7dae67a366734db0845529add764f3b9 (patch) | |
tree | e309309233deaf72072615e685f0cf5805e42ff0 /libavcodec | |
parent | aaaf7261b707d2df518599e9ed1524f4298ad8db (diff) | |
download | ffmpeg-585047bb7dae67a366734db0845529add764f3b9.tar.gz |
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 <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h264.c | 16 |
1 files 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; |