X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_output%2Fopengl.c;h=32d56e256f6af68184698eb381855b16bbc7e196;hb=4168ec3729c16ddc3cce5dcb2a69306e45ec0cb7;hp=71cdfed744d1392e099b6d20133e01efe991490a;hpb=99fab9089e9e1709d9c3a4bc5ced0c137ac59134;p=vlc diff --git a/modules/video_output/opengl.c b/modules/video_output/opengl.c index 71cdfed744..32d56e256f 100644 --- a/modules/video_output/opengl.c +++ b/modules/video_output/opengl.c @@ -27,13 +27,15 @@ /***************************************************************************** * Preamble *****************************************************************************/ -#include /* ENOMEM */ #ifdef HAVE_CONFIG_H # include "config.h" #endif -#include +#include /* ENOMEM */ + +#include +#include #include #ifdef __APPLE__ @@ -118,9 +120,9 @@ #define SIGN(x) (x < 0 ? (-1) : 1) #define PID2 1.570796326794896619231322 - static const char *ppsz_effects[] = { + static const char *const ppsz_effects[] = { "none", "cube", "transparent-cube", "cylinder", "torus", "sphere","SQUAREXY","SQUARER", "ASINXY", "ASINR", "SINEXY", "SINER" }; - static const char *ppsz_effects_text[] = { + static const char *const ppsz_effects_text[] = { N_("None"), N_("Cube"), N_("Transparent Cube"), N_("Cylinder"), N_("Torus"), N_("Sphere"), N_("SQUAREXY"),N_("SQUARER"), N_("ASINXY"), N_("ASINR"), N_("SINEXY"), N_("SINER") }; #endif @@ -145,7 +147,7 @@ static int SendEvents ( vlc_object_t *, char const *, #ifdef OPENGL_MORE_EFFECT static float Z_Compute ( float, int, float, float ); -static void Transform ( float, int, float, float, int, int, int, int, double *, double * ); +static void Transform ( int, float, float, int, int, int, int, double *, double * ); /***************************************************************************** * Module descriptor @@ -174,9 +176,9 @@ static void Transform ( float, int, float, float, int, int, int, int, double "Several visual OpenGL effects are available." ) #ifndef OPENGL_MORE_EFFECT -static const char *ppsz_effects[] = { +static const char *const ppsz_effects[] = { "none", "cube", "transparent-cube" }; -static const char *ppsz_effects_text[] = { +static const char *const ppsz_effects_text[] = { N_("None"), N_("Cube"), N_("Transparent Cube") }; #endif @@ -184,7 +186,7 @@ vlc_module_begin(); set_shortname( "OpenGL" ); set_category( CAT_VIDEO ); set_subcategory( SUBCAT_VIDEO_VOUT ); - set_description( _("OpenGL video output") ); + set_description( N_("OpenGL video output") ); #ifdef __APPLE__ set_capability( "video output", 200 ); #else @@ -192,26 +194,26 @@ vlc_module_begin(); #endif add_shortcut( "opengl" ); add_float( "opengl-cube-speed", 2.0, NULL, SPEED_TEXT, - SPEED_LONGTEXT, VLC_TRUE ); + SPEED_LONGTEXT, true ); #ifdef OPENGL_MORE_EFFECT add_integer_with_range( "opengl-accuracy", 4, 1, 10, NULL, ACCURACY_TEXT, - ACCURACY_LONGTEXT, VLC_TRUE ); + ACCURACY_LONGTEXT, true ); add_float_with_range( "opengl-pov-x", 0.0, -1.0, 1.0, NULL, POV_X_TEXT, - POV_X_LONGTEXT, VLC_TRUE ); + POV_X_LONGTEXT, true ); add_float_with_range( "opengl-pov-y", 0.0, -1.0, 1.0, NULL, POV_Y_TEXT, - POV_Y_LONGTEXT, VLC_TRUE ); + POV_Y_LONGTEXT, true ); add_float_with_range( "opengl-pov-z", -1.0, -1.0, 1.0, NULL, POV_Z_TEXT, - POV_Z_LONGTEXT, VLC_TRUE ); + POV_Z_LONGTEXT, true ); add_float( "opengl-cylinder-radius", -100.0, NULL, RADIUS_TEXT, - RADIUS_LONGTEXT, VLC_TRUE ); + RADIUS_LONGTEXT, true ); #endif /* Allow opengl provider plugin selection */ add_string( "opengl-provider", "default", NULL, PROVIDER_TEXT, - PROVIDER_LONGTEXT, VLC_TRUE ); + PROVIDER_LONGTEXT, true ); set_callbacks( CreateVout, DestroyVout ); add_string( "opengl-effect", "none", NULL, EFFECT_TEXT, - EFFECT_LONGTEXT, VLC_FALSE ); + EFFECT_LONGTEXT, false ); change_string_list( ppsz_effects, ppsz_effects_text, 0 ); vlc_module_end(); @@ -249,10 +251,7 @@ static int CreateVout( vlc_object_t *p_this ) /* Allocate structure */ p_vout->p_sys = p_sys = malloc( sizeof( vout_sys_t ) ); if( p_sys == NULL ) - { - msg_Err( p_vout, "out of memory" ); - return VLC_EGENERIC; - } + return VLC_ENOMEM; var_Create( p_vout, "opengl-effect", VLC_VAR_STRING | VLC_VAR_DOINHERIT ); @@ -302,7 +301,7 @@ static int CreateVout( vlc_object_t *p_this ) { msg_Warn( p_vout, "No OpenGL provider found" ); vlc_object_detach( p_sys->p_vout ); - vlc_object_destroy( p_sys->p_vout ); + vlc_object_release( p_sys->p_vout ); return VLC_ENOOBJ; } @@ -408,17 +407,11 @@ static int Init( vout_thread_t *p_vout ) p_sys->pp_buffer[0] = malloc( p_sys->i_tex_width * p_sys->i_tex_height * i_pixel_pitch ); if( !p_sys->pp_buffer[0] ) - { - msg_Err( p_vout, "out of memory" ); return -1; - } p_sys->pp_buffer[1] = malloc( p_sys->i_tex_width * p_sys->i_tex_height * i_pixel_pitch ); if( !p_sys->pp_buffer[1] ) - { - msg_Err( p_vout, "out of memory" ); return -1; - } p_vout->p_picture[0].i_planes = 1; p_vout->p_picture[0].p->p_pixels = p_sys->pp_buffer[0]; @@ -495,7 +488,7 @@ static int Init( vout_thread_t *p_vout ) p_sys->i_effect = OPENGL_EFFECT_NONE; #endif } - if( val.psz_string ) free( val.psz_string ); + free( val.psz_string ); if( p_sys->i_effect & ( OPENGL_EFFECT_CUBE | OPENGL_EFFECT_TRANSPARENT_CUBE ) ) @@ -553,8 +546,8 @@ static void End( vout_thread_t *p_vout ) /* Free the texture buffer*/ glDeleteTextures( 2, p_sys->p_textures ); - if( p_sys->pp_buffer[0] ) free( p_sys->pp_buffer[0] ); - if( p_sys->pp_buffer[1] ) free( p_sys->pp_buffer[1] ); + free( p_sys->pp_buffer[0] ); + free( p_sys->pp_buffer[1] ); if( p_sys->p_vout->pf_unlock ) { @@ -573,8 +566,7 @@ static void DestroyVout( vlc_object_t *p_this ) vout_sys_t *p_sys = p_vout->p_sys; module_Unneed( p_sys->p_vout, p_sys->p_vout->p_module ); - vlc_object_detach( p_sys->p_vout ); - vlc_object_destroy( p_sys->p_vout ); + vlc_object_release( p_sys->p_vout ); free( p_sys ); } @@ -699,6 +691,7 @@ static int Manage( vout_thread_t *p_vout ) *****************************************************************************/ static void Render( vout_thread_t *p_vout, picture_t *p_pic ) { + VLC_UNUSED(p_pic); vout_sys_t *p_sys = p_vout->p_sys; /* On Win32/GLX, we do this the usual way: @@ -763,7 +756,7 @@ static void Render( vout_thread_t *p_vout, picture_t *p_pic ) /***************************************************************************** * Transform: Calculate the distorted grid coordinates *****************************************************************************/ -static void Transform(float p, int distortion, float width, float height,int i, int j, int i_visible_width, int i_visible_height, double *ix,double *iy) +static void Transform( int distortion, float width, float height,int i, int j, int i_visible_width, int i_visible_height, double *ix, double *iy ) { double x,y,xnew,ynew; double r,theta,rnew,thetanew; @@ -872,6 +865,7 @@ static float Z_Compute(float p, int distortion, float x, float y) *****************************************************************************/ static void DisplayVideo( vout_thread_t *p_vout, picture_t *p_pic ) { + VLC_UNUSED(p_pic); vout_sys_t *p_sys = p_vout->p_sys; float f_width, f_height, f_x, f_y; @@ -954,7 +948,7 @@ static void DisplayVideo( vout_thread_t *p_vout, picture_t *p_pic ) int i_k = ((i_m % 4) == 1) || ((i_m % 4) == 2); int i_l = ((i_m % 4) == 2) || ((i_m % 4) == 3); - Transform(f_p, i_distortion, f_width, f_height, i_i + i_k * i_n_x, i_j + i_l * i_n_y, p_vout->fmt_out.i_visible_width, p_vout->fmt_out.i_visible_height, &d_x, &d_y); + Transform( i_distortion, f_width, f_height, i_i + i_k * i_n_x, i_j + i_l * i_n_y, p_vout->fmt_out.i_visible_width, p_vout->fmt_out.i_visible_height, &d_x, &d_y); glTexCoord2f(f_x + d_x, f_y + d_y); d_x = - 1.0 + 2.0 * ((double)(i_k * i_n_x + i_i) / (double)p_vout->fmt_out.i_visible_width); d_y = 1.0 - 2.0 * (((double)i_l * i_n_y + i_j) / (double)p_vout->fmt_out.i_visible_height); @@ -1106,5 +1100,6 @@ static int InitTextures( vout_thread_t *p_vout ) static int SendEvents( vlc_object_t *p_this, char const *psz_var, vlc_value_t oldval, vlc_value_t newval, void *_p_vout ) { + VLC_UNUSED(p_this); VLC_UNUSED(oldval); return var_Set( (vlc_object_t *)_p_vout, psz_var, newval ); }