vlc | branch: master | Rémi Denis-Courmont <r...@remlab.net> | Sat Feb 10 11:55:16 2018 +0200| [da03a861eb8aeb8314a74571cb57825c83361298] | committer: Rémi Denis-Courmont
picture: separate picture_NewFromFormat() No need to call picture_NewFromResource() there. Just call the common code. No functional changes. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=da03a861eb8aeb8314a74571cb57825c83361298 --- src/misc/picture.c | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/src/misc/picture.c b/src/misc/picture.c index 832a8495ae..62edbc8434 100644 --- a/src/misc/picture.c +++ b/src/misc/picture.c @@ -248,44 +248,47 @@ static picture_priv_t *picture_NewPrivate(const video_format_t *restrict p_fmt) picture_t *picture_NewFromResource( const video_format_t *p_fmt, const picture_resource_t *p_resource ) { + assert(p_resource != NULL); + picture_priv_t *priv = picture_NewPrivate(p_fmt); if (unlikely(priv == NULL)) return NULL; picture_t *p_picture = &priv->picture; - if( p_resource ) - { - p_picture->p_sys = p_resource->p_sys; - - if( p_resource->pf_destroy != NULL ) - priv->gc.destroy = p_resource->pf_destroy; - else - priv->gc.destroy = picture_DestroyFromResource; + p_picture->p_sys = p_resource->p_sys; - for( int i = 0; i < p_picture->i_planes; i++ ) - { - p_picture->p[i].p_pixels = p_resource->p[i].p_pixels; - p_picture->p[i].i_lines = p_resource->p[i].i_lines; - p_picture->p[i].i_pitch = p_resource->p[i].i_pitch; - } - } + if( p_resource->pf_destroy != NULL ) + priv->gc.destroy = p_resource->pf_destroy; else + priv->gc.destroy = picture_DestroyFromResource; + + for( int i = 0; i < p_picture->i_planes; i++ ) { - if( AllocatePicture( p_picture ) ) - { - free( p_picture ); - return NULL; - } - priv->gc.destroy = picture_Destroy; + p_picture->p[i].p_pixels = p_resource->p[i].p_pixels; + p_picture->p[i].i_lines = p_resource->p[i].i_lines; + p_picture->p[i].i_pitch = p_resource->p[i].i_pitch; } return p_picture; } -picture_t *picture_NewFromFormat( const video_format_t *p_fmt ) +picture_t *picture_NewFromFormat(const video_format_t *restrict fmt) { - return picture_NewFromResource( p_fmt, NULL ); + picture_priv_t *priv = picture_NewPrivate(fmt); + if (unlikely(priv == NULL)) + return NULL; + + picture_t *pic = &priv->picture; + + if( AllocatePicture( pic ) ) + { + free( pic ); + return NULL; + } + priv->gc.destroy = picture_Destroy; + + return pic; } picture_t *picture_New( vlc_fourcc_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den ) _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits