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

Jack jack at rybn.org
Mon Aug 10 14:43:30 CEST 2009


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
> 
> 





More information about the GEM-dev mailing list