From: Laurent Aimar Date: Mon, 24 Aug 2009 20:10:51 +0000 (+0200) Subject: Revert "vout_pictures: Use unsigned for width and height in picture_Export." X-Git-Tag: 1.1.0-ff~3951 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=533ea9d053094332562fa201567810ee9bc63fc2;p=vlc Revert "vout_pictures: Use unsigned for width and height in picture_Export." This reverts commit 13268071115898a03f9b1d3c470a72de82eabf0c. It is wrong as -1 and 0 does not have the same meaning for picture_Export. (I will document it). --- diff --git a/include/vlc_picture.h b/include/vlc_picture.h index 278754390b..f0575585eb 100644 --- a/include/vlc_picture.h +++ b/include/vlc_picture.h @@ -281,7 +281,7 @@ static inline void picture_Copy( picture_t *p_dst, const picture_t *p_src ) * picture to be encoded. If at most one of them is > 0 then the picture aspect * ratio will be kept. */ -VLC_EXPORT( int, picture_Export, ( vlc_object_t *p_obj, block_t **pp_image, video_format_t *p_fmt, picture_t *p_picture, vlc_fourcc_t i_format, unsigned i_override_width, unsigned i_override_height ) ); +VLC_EXPORT( int, picture_Export, ( vlc_object_t *p_obj, block_t **pp_image, video_format_t *p_fmt, picture_t *p_picture, vlc_fourcc_t i_format, int i_override_width, int i_override_height ) ); /** * This function will setup all fields of a picture_t without allocating any diff --git a/src/video_output/vout_intf.c b/src/video_output/vout_intf.c index 14d72e1bbb..f8e7db6fbd 100644 --- a/src/video_output/vout_intf.c +++ b/src/video_output/vout_intf.c @@ -435,8 +435,8 @@ int vout_GetSnapshot( vout_thread_t *p_vout, if( psz_format && image_Type2Fourcc( psz_format ) ) i_format = image_Type2Fourcc( psz_format ); - const unsigned i_override_width = var_GetInteger( p_vout, "snapshot-width" ); - const unsigned i_override_height = var_GetInteger( p_vout, "snapshot-height" ); + const int i_override_width = var_GetInteger( p_vout, "snapshot-width" ); + const int i_override_height = var_GetInteger( p_vout, "snapshot-height" ); if( picture_Export( VLC_OBJECT(p_vout), pp_image, p_fmt, p_picture, i_format, i_override_width, i_override_height ) ) diff --git a/src/video_output/vout_pictures.c b/src/video_output/vout_pictures.c index 83bfb59651..6d5da79eb8 100644 --- a/src/video_output/vout_pictures.c +++ b/src/video_output/vout_pictures.c @@ -1042,7 +1042,7 @@ int picture_Export( vlc_object_t *p_obj, video_format_t *p_fmt, picture_t *p_picture, vlc_fourcc_t i_format, - unsigned i_override_width, unsigned i_override_height ) + int i_override_width, int i_override_height ) { /* */ video_format_t fmt_in = p_picture->format; @@ -1074,8 +1074,10 @@ int picture_Export( vlc_object_t *p_obj, } /* */ - fmt_out.i_width = i_override_width > 0 ? i_override_width : i_original_width; - fmt_out.i_height = i_override_height > 0 ? i_override_height : i_original_height; + fmt_out.i_width = ( i_override_width < 0 ) ? + i_original_width : i_override_width; + fmt_out.i_height = ( i_override_height < 0 ) ? + i_original_height : i_override_height; /* scale if only one direction is provided */ if( fmt_out.i_height == 0 && fmt_out.i_width > 0 )