[GEM-dev] problem to play movies at normal speed with GEM objects

Jack jack at rybn.org
Sat Aug 15 19:32:45 CEST 2009


Hello,

I come back with my problem.
I try different option on the nvidia driver (180.44) in the part opengl
settings and antialiasing settings but nothing new. I always get
slowings down on my movies.
They seem to start during long scenes of the movie (no logic here, i
know, but it is what i observe).
Any help ?
++

Jack


Le lundi 10 août 2009 à 14:43 +0200, Jack a écrit :
> Le lundi 10 août 2009 à 13:23 +0200, Matteo Sisti Sette a écrit :
> > Hi,
> > 
> > Maybe this won't help at all (I only use gem on windows), but just in 
> > case it does:
> > 
> > Does it work as expected if you disable the "auto" mode and pass the 
> > frame number to the right outlet?
> 
> I done a counter with a metro and not with gemhead because the framerate
> pass from 25 to 7 then back to 25, etc. Then it should not change
> anything compare to [auto 1(.
> On Linux, the movie is played at each frame render but the rate is not
> really constant. It was much better on my old Powerbook G4 and MacOSX :)
> Is there a minipulation to do on the NVidia driver (v. 180.44) ?
> I know that each frame is render when the buffer is ready with OpenGL
> (swap buffer in double buffer). But here the swap is very very slow on
> my brand new Qosmio with a NVidia 9700M GTS ! :)))
> And this is the same in single buffer mode with :
> 
> [1 (
> |
> [metro 40]
> |
> [t b b]
> |     |
> |     to right inlet of pix_film
> |
> to gemhead
> 
> 
> Play a movie with the help patch of [pix_film] at a almost constant rate
> would not be possible on Linux, i really don't think that it is correct.
> So, if someone can help me, please ! ;)
> Thanx a lot.
> ++
> 
> Jack
> 
> 
> PS : some informations from GEM about my config. :
> 
> GEM information
> ---------------
> OpenGL info
> Vendor: NVIDIA Corporation
> Renderer: GeForce 9700M GTS/PCI/SSE2
> Version: 3.0.0 NVIDIA 180.44
> Extensions: GL_ARB_color_buffer_float
> Extensions: GL_ARB_depth_buffer_float
> Extensions: GL_ARB_depth_texture
> Extensions: GL_ARB_draw_buffers
> Extensions: GL_ARB_draw_instanced
> Extensions: GL_ARB_fragment_program
> Extensions: GL_ARB_fragment_program_shadow
> Extensions: GL_ARB_fragment_shader
> Extensions: GL_ARB_half_float_pixel
> Extensions: GL_ARB_half_float_vertex
> Extensions: GL_ARB_framebuffer_object
> Extensions: GL_ARB_geometry_shader4
> Extensions: GL_ARB_imaging
> Extensions: GL_ARB_map_buffer_range
> Extensions: GL_ARB_multisample
> Extensions: GL_ARB_multitexture
> Extensions: GL_ARB_occlusion_query
> Extensions: GL_ARB_pixel_buffer_object
> Extensions: GL_ARB_point_parameters
> Extensions: GL_ARB_point_sprite
> Extensions: GL_ARB_shadow
> Extensions: GL_ARB_shader_objects
> Extensions: GL_ARB_shading_language_100
> Extensions: GL_ARB_texture_border_clamp
> Extensions: GL_ARB_texture_buffer_object
> Extensions: GL_ARB_texture_compression
> Extensions: GL_ARB_texture_cube_map
> Extensions: GL_ARB_texture_env_add
> Extensions: GL_ARB_texture_env_combine
> Extensions: GL_ARB_texture_env_dot3
> Extensions: GL_ARB_texture_float
> Extensions: GL_ARB_texture_mirrored_repeat
> Extensions: GL_ARB_texture_non_power_of_two
> Extensions: GL_ARB_texture_rectangle
> Extensions: GL_ARB_texture_rg
> Extensions: GL_ARB_transpose_matrix
> Extensions: GL_ARB_vertex_array_object
> Extensions: GL_ARB_vertex_buffer_object
> Extensions: GL_ARB_vertex_program
> Extensions: GL_ARB_vertex_shader
> Extensions: GL_ARB_window_pos
> Extensions: GL_ATI_draw_buffers
> Extensions: GL_ATI_texture_float
> Extensions: GL_ATI_texture_mirror_once
> Extensions: GL_S3_s3tc
> Extensions: GL_EXT_texture_env_add
> Extensions: GL_EXT_abgr
> Extensions: GL_EXT_bgra
> Extensions: GL_EXT_blend_color
> Extensions: GL_EXT_blend_equation_separate
> Extensions: GL_EXT_blend_func_separate
> Extensions: GL_EXT_blend_minmax
> Extensions: GL_EXT_blend_subtract
> Extensions: GL_EXT_compiled_vertex_array
> Extensions: GL_EXT_Cg_shader
> Extensions: GL_EXT_bindable_uniform
> Extensions: GL_EXT_depth_bounds_test
> Extensions: GL_EXT_direct_state_access
> Extensions: GL_EXT_draw_buffers2
> Extensions: GL_EXT_draw_instanced
> Extensions: GL_EXT_draw_range_elements
> Extensions: GL_EXT_fog_coord
> Extensions: GL_EXT_framebuffer_blit
> Extensions: GL_EXT_framebuffer_multisample
> Extensions: GL_EXT_framebuffer_object
> Extensions: GL_EXTX_framebuffer_mixed_formats
> Extensions: GL_EXT_framebuffer_sRGB
> Extensions: GL_EXT_geometry_shader4
> Extensions: GL_EXT_gpu_program_parameters
> Extensions: GL_EXT_gpu_shader4
> Extensions: GL_EXT_multi_draw_arrays
> Extensions: GL_EXT_packed_depth_stencil
> Extensions: GL_EXT_packed_float
> Extensions: GL_EXT_packed_pixels
> Extensions: GL_EXT_pixel_buffer_object
> Extensions: GL_EXT_point_parameters
> Extensions: GL_EXT_rescale_normal
> Extensions: GL_EXT_secondary_color
> Extensions: GL_EXT_separate_specular_color
> Extensions: GL_EXT_shadow_funcs
> Extensions: GL_EXT_stencil_two_side
> Extensions: GL_EXT_stencil_wrap
> Extensions: GL_EXT_texture3D
> Extensions: GL_EXT_texture_array
> Extensions: GL_EXT_texture_buffer_object
> Extensions: GL_EXT_texture_compression_latc
> Extensions: GL_EXT_texture_compression_rgtc
> Extensions: GL_EXT_texture_compression_s3tc
> Extensions: GL_EXT_texture_cube_map
> Extensions: GL_EXT_texture_edge_clamp
> Extensions: GL_EXT_texture_env_combine
> Extensions: GL_EXT_texture_env_dot3
> Extensions: GL_EXT_texture_filter_anisotropic
> Extensions: GL_EXT_texture_integer
> Extensions: GL_EXT_texture_lod
> Extensions: GL_EXT_texture_lod_bias
> Extensions: GL_EXT_texture_mirror_clamp
> Extensions: GL_EXT_texture_object
> Extensions: GL_EXT_texture_sRGB
> Extensions: GL_EXT_texture_swizzle
> Extensions: GL_EXT_texture_shared_exponent
> Extensions: GL_EXT_timer_query
> Extensions: GL_EXT_vertex_array
> Extensions: GL_EXT_vertex_array_bgra
> Extensions: GL_IBM_rasterpos_clip
> Extensions: GL_IBM_texture_mirrored_repeat
> Extensions: GL_KTX_buffer_region
> Extensions: GL_NV_blend_square
> Extensions: GL_NV_copy_depth_to_color
> Extensions: GL_NV_depth_buffer_float
> Extensions: GL_NV_conditional_render
> Extensions: GL_NV_depth_clamp
> Extensions: GL_NV_explicit_multisample
> Extensions: GL_NV_fence
> Extensions: GL_NV_float_buffer
> Extensions: GL_NV_fog_distance
> Extensions: GL_NV_fragment_program
> Extensions: GL_NV_fragment_program_option
> Extensions: GL_NV_fragment_program2
> Extensions: GL_NV_framebuffer_multisample_coverage
> Extensions: GL_NV_geometry_shader4
> Extensions: GL_NV_gpu_program4
> Extensions: GL_NV_half_float
> Extensions: GL_NV_light_max_exponent
> Extensions: GL_NV_multisample_coverage
> Extensions: GL_NV_multisample_filter_hint
> Extensions: GL_NV_occlusion_query
> Extensions: GL_NV_packed_depth_stencil
> Extensions: GL_NV_parameter_buffer_object
> Extensions: GL_NV_pixel_data_range
> Extensions: GL_NV_point_sprite
> Extensions: GL_NV_primitive_restart
> Extensions: GL_NV_register_combiners
> Extensions: GL_NV_register_combiners2
> Extensions: GL_NV_texgen_reflection
> Extensions: GL_NV_texture_compression_vtc
> Extensions: GL_NV_texture_env_combine4
> Extensions: GL_NV_texture_expand_normal
> Extensions: GL_NV_texture_rectangle
> Extensions: GL_NV_texture_shader
> Extensions: GL_NV_texture_shader2
> Extensions: GL_NV_texture_shader3
> Extensions: GL_NV_transform_feedback
> Extensions: GL_NV_vertex_array_range
> Extensions: GL_NV_vertex_array_range2
> Extensions: GL_NV_vertex_program
> Extensions: GL_NV_vertex_program1_1
> Extensions: GL_NV_vertex_program2
> Extensions: GL_NV_vertex_program2_option
> Extensions: GL_NV_vertex_program3
> Extensions: GL_NVX_conditional_render
> Extensions: GL_SGIS_generate_mipmap
> Extensions: GL_SGIS_texture_lod
> Extensions: GL_SGIX_depth_texture
> Extensions: GL_SGIX_shadow
> Extensions: GL_SUN_slice_accum
> ---------------
> window state: 1
> topmost: 0
> profile: 0
> buffer: 2
> stereo: 0
> full screen: 0
> width: 500, height 500
> offset: 0+0
> frame rate: 50.000000
> red: 8
> green: 8
> blue: 8
> max texture: 8192
> lighting 0
> rectangle texturing: 2
> direct yuv texturing: 0
> > 
> > If the answer is yes, than a workaround would be:
> > 
> > [gemhead]
> > |
> > [t b]
> > |
> > [any implementation of a counter]
> > |
> > (to the right outlet of pix_movie)
> > 
> > I am not good at ASCII art, but if you want a frame rate different than 
> > 1:1 (meaning one movie frame per gem frame), you can implement the 
> > "counter" with necessary calculations and roundings to get the needed 
> > frame number.
> > 
> > Obviously, if the answer to the initial question is "NO" and/or if the 
> > framerate unstability you describe is not only in the playing of the 
> > pix_movie but also in the framerate of the gemwin, then all this won't 
> > be of any help.
> > 
> > I always use this technique (well it's too simple to call it a 
> > "technique") and never the "auto" mode even if I have never experienced 
> > problems with auto: the fact is that this also lets you easily control 
> > the playing speed.
> > But I have to say that I have only used codecs that compress each frame 
> > separately (namely DV-PAL in my case); with any codec that uses previous 
> > frames to decode a given frame, this method may give, I guess, problems 
> > of performance.
> > 
> > Bye
> > m.
> > 
> > Jack escribió:
> > > The behavior of [pix_film] is not the same on Macosx and on Ubuntu.
> > > What is described in the help file seems to work only for Linux OS.
> > > I am a newbie on Ubuntu, that's why i am a little surprised to have a
> > > different behavior between the two OS. And, if i'm right, the movie
> > > doesn't play each frame on MacOSX and it play in loop when you click on
> > > [auto 1(.
> > > However, you are right on Linux ;) I have tested and see that the frame
> > > started at 25 and go down to 7 !
> > > So my question is : how to have a approximate 'constant' frame rate ?
> > > (to send a bang to [gemhead] with a [metro] changes not at all the
> > > problem).
> > > Thanx.
> > > ++
> > > 
> > > Jack
> > > 
> > > 
> > > Le lundi 10 août 2009 à 09:47 +0200, Max a écrit :
> > >> In the helpfile to pix_film is written:
> > >> -----
> > >> use the "auto" message, to automatically proceed to the next frame  
> > >> each rendering cycle.
> > >> -----
> > >> that means that the movie is never played back according to a header  
> > >> information about the real fps, but according to the frame rate the  
> > >> gemwin is running at.
> > >>
> > >> so i the behavior you are describing is expected. no movie will run  
> > >> just like in VLC other than purely by coincidence.
> > >> please correct me if i'm wrong.
> > >>
> > >> max
> > >>
> > >> Am 10.08.2009 um 00:48 schrieb Jack:
> > >>
> > >>> Hello,
> > >>>
> > >>> I encounter a problem to play movies at normal speed with [pix_film]  
> > >>> and
> > >>> [pix_movie]. I tried with a .mov (photo JPEG) and a .avi movies.  
> > >>> During
> > >>> the movie play, sometimes the movies go fast, sometimes they go  
> > >>> slowly.
> > >>> I use the message [auto 1( to start the movies or the second inlet  
> > >>> with
> > >>> a counter but still have the problem !?
> > >>> So i think i have something wrong with Pd (or Ubuntu) and not GEM.
> > >>> For information, all is ok to play these movies with VLC.
> > >>> Can you help me to configure something wrong on my computer ? :)  
> > >>> Thanx a
> > >>> lot !
> > >>>
> > >>> Here my configuration :
> > >>> Pd version 0.41.4-extended
> > >>> GEM: ver: 0.92.CVS
> > >>> GEM: compiled: Jun 15 2009
> > >>> Ubuntu 9.04
> > >>> GPU : Nvidia 9700M GTS
> > >>>
> > >>> ++
> > >>>
> > >>> Jack
> > >>>
> > >>>
> > >>>
> > >>> _______________________________________________
> > >>> GEM-dev mailing list
> > >>> GEM-dev at iem.at
> > >>> http://lists.puredata.info/listinfo/gem-dev
> > > 
> > > 
> > > _______________________________________________
> > > GEM-dev mailing list
> > > GEM-dev at iem.at
> > > http://lists.puredata.info/listinfo/gem-dev
> > 
> > 
> 
> 
> _______________________________________________
> GEM-dev mailing list
> GEM-dev at iem.at
> http://lists.puredata.info/listinfo/gem-dev





More information about the GEM-dev mailing list