[vlc-devel] [PATCH 2/2] chroma: i420_nv12 allocate the copy_cache_t directly
Thomas Guillem
thomas at gllm.fr
Thu May 2 12:09:33 CEST 2019
LGTM
On Thu, May 2, 2019, at 11:37, Steve Lhomme wrote:
> No need for an intermediate structure
> ---
> modules/video_chroma/i420_nv12.c | 29 ++++++++++++-----------------
> 1 file changed, 12 insertions(+), 17 deletions(-)
>
> diff --git a/modules/video_chroma/i420_nv12.c b/modules/video_chroma/i420_nv12.c
> index 53e1364adf..83f17ec37e 100644
> --- a/modules/video_chroma/i420_nv12.c
> +++ b/modules/video_chroma/i420_nv12.c
> @@ -34,11 +34,6 @@
> #include <vlc_picture.h>
> #include "copy.h"
>
> -typedef struct
> -{
> - copy_cache_t cache;
> -} filter_sys_t;
> -
> #define GET_PITCHES( pic ) { \
> pic->p[Y_PLANE].i_pitch, \
> pic->p[U_PLANE].i_pitch, \
> @@ -57,7 +52,7 @@ typedef struct
> static void I420_NV12( filter_t *p_filter, picture_t *p_src,
> picture_t *p_dst )
> {
> - filter_sys_t *p_sys = p_filter->p_sys;
> + copy_cache_t *p_sys = p_filter->p_sys;
> p_dst->format.i_x_offset = p_src->format.i_x_offset;
> p_dst->format.i_y_offset = p_src->format.i_y_offset;
> const size_t pitches[] = GET_PITCHES( p_src );
> @@ -65,7 +60,7 @@ static void I420_NV12( filter_t *p_filter, picture_t *p_src,
>
> Copy420_P_to_SP( p_dst, planes, pitches,
> p_src->format.i_y_offset + p_src->format.i_visible_height,
> - &p_sys->cache );
> + p_sys );
> }
>
> /*****************************************************************************
> @@ -81,7 +76,7 @@ static void YV12_NV12( filter_t *p_filter, picture_t *p_src,
> static void NV12_I420( filter_t *p_filter, picture_t *p_src,
> picture_t *p_dst )
> {
> - filter_sys_t *p_sys = p_filter->p_sys;
> + copy_cache_t *p_sys = p_filter->p_sys;
> p_dst->format.i_x_offset = p_src->format.i_x_offset;
> p_dst->format.i_y_offset = p_src->format.i_y_offset;
> const size_t pitches[] = GET_PITCHES( p_src );
> @@ -89,7 +84,7 @@ static void NV12_I420( filter_t *p_filter, picture_t *p_src,
>
> Copy420_SP_to_P( p_dst, planes, pitches,
> p_src->format.i_y_offset + p_src->format.i_visible_height,
> - &p_sys->cache );
> + p_sys );
> }
>
> static void NV12_YV12( filter_t *p_filter, picture_t *p_src,
> @@ -102,7 +97,7 @@ static void NV12_YV12( filter_t *p_filter, picture_t
> *p_src,
> static void I42010B_P010( filter_t *p_filter, picture_t *p_src,
> picture_t *p_dst )
> {
> - filter_sys_t *p_sys = p_filter->p_sys;
> + copy_cache_t *p_sys = p_filter->p_sys;
> p_dst->format.i_x_offset = p_src->format.i_x_offset;
> p_dst->format.i_y_offset = p_src->format.i_y_offset;
> const size_t pitches[] = GET_PITCHES( p_src );
> @@ -110,13 +105,13 @@ static void I42010B_P010( filter_t *p_filter,
> picture_t *p_src,
>
> Copy420_16_P_to_SP( p_dst, planes, pitches,
> p_src->format.i_y_offset +
> p_src->format.i_visible_height,
> - -6, &p_sys->cache );
> + -6, p_sys );
> }
>
> static void P010_I42010B( filter_t *p_filter, picture_t *p_src,
> picture_t *p_dst )
> {
> - filter_sys_t *p_sys = p_filter->p_sys;
> + copy_cache_t *p_sys = p_filter->p_sys;
> p_dst->format.i_x_offset = p_src->format.i_x_offset;
> p_dst->format.i_y_offset = p_src->format.i_y_offset;
> const size_t pitches[] = GET_PITCHES( p_src );
> @@ -124,7 +119,7 @@ static void P010_I42010B( filter_t *p_filter,
> picture_t *p_src,
>
> Copy420_16_SP_to_P( p_dst, planes, pitches,
> p_src->format.i_y_offset +
> p_src->format.i_visible_height,
> - 6, &p_sys->cache );
> + 6, p_sys );
> }
>
> /* Following functions are local */
> @@ -209,12 +204,12 @@ static int Create( vlc_object_t *p_this )
> return -1;
> }
>
> - filter_sys_t *p_sys = vlc_obj_malloc( VLC_OBJECT( p_filter ),
> + copy_cache_t *p_sys = vlc_obj_malloc( VLC_OBJECT( p_filter ),
> sizeof(*p_sys) );
> if (!p_sys)
> return VLC_ENOMEM;
>
> - if( CopyInitCache( &p_sys->cache, (
> p_filter->fmt_in.video.i_x_offset +
> + if( CopyInitCache( p_sys, ( p_filter->fmt_in.video.i_x_offset +
> p_filter->fmt_in.video.i_visible_width ) *
> pixel_bytes ) )
> return VLC_ENOMEM;
>
> @@ -226,8 +221,8 @@ static int Create( vlc_object_t *p_this )
> static void Delete(vlc_object_t *p_this)
> {
> filter_t *p_filter = (filter_t *)p_this;
> - filter_sys_t *p_sys = p_filter->p_sys;
> - CopyCleanCache( &p_sys->cache );
> + copy_cache_t *p_sys = p_filter->p_sys;
> + CopyCleanCache( p_sys );
> }
>
> /*****************************************************************************
> --
> 2.17.1
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
More information about the vlc-devel
mailing list