summaryrefslogtreecommitdiff
path: root/src/video_out/video_out_xshm.c
AgeCommit message (Collapse)Author
2003-02-03Fix default contrast and saturation settings for XShm driverEwald Snel
CVS patchset: 4101 CVS date: 2003/02/03 17:24:47
2003-02-03i guess i've finally made a breakthrought on completion event handling!Miguel Freitas
add fallback code to get the event directly from XLib in case the gui has not forwarded it yet. this may happen when gui is busy redrawing menus, for example. it should also improve xine robustness to scheduler issues. now we can have smooth playback even if xine-ui hasn't being scheduled in time. CVS patchset: 4098 CVS date: 2003/02/03 00:24:13
2003-02-02Fix brightness, saturation control for MMX yuv2rgb using the XShm driverEwald Snel
TODO: don't use globals, fix contrast, fix non-MMX yuv2rgb CVS patchset: 4089 CVS date: 2003/02/02 13:38:24
2003-02-02Add support for brightness, saturation, contrast (not functional yet)Ewald Snel
CVS patchset: 4088 CVS date: 2003/02/02 12:44:03
2003-02-02Fix memory leak in XShm driverEwald Snel
CVS patchset: 4085 CVS date: 2003/02/02 11:21:34
2003-01-24Fix yuv2rgb scaling, any destination size supported nowEwald Snel
This also allows for true bilinear filtering, which looks much better than the current 'horizontal filtering only' (TODO) CVS patchset: 4001 CVS date: 2003/01/24 17:04:37
2002-12-21- add buf->decoder_info_ptr: portability for systems where pointer hasMiguel Freitas
different sizeof than integer. - add extra_info structure to pass informations from input/demuxers down to the output frame. this can be used, for example, to pass the frame number of a frame (when known by decoder). also, immediate benefict is that we now have a slider which really shows the current position of the playing stream. new fields can be added to extra_info keeping binary compatibility - bumpy everybody's api versions CVS patchset: 3603 CVS date: 2002/12/21 12:56:44
2002-12-20Check for changes in the global vo_scale's gui_pixel_aspect, and update theJuergen Keil
frame's vo_scale.gui_pixel_aspect. The real value of gui_pixel_aspect is determined when the first frame is about to be drawn to the screen. Before we draw the first frame of a clip, several frames could be prepared for a certain width/height/ratio_code/... but using vo_scale's default gui_pixel_aspect of 1.0. The change makes sure that all frames will be updated to use the monitor's correct gui_pixel_aspect value, once we know it. Before this change I've observed cases where xine tried to resize the video window all the time while playing a clip, due to different gui_pixel_aspect values stored in the video frames. CVS patchset: 3594 CVS date: 2002/12/20 14:25:13
2002-12-07All gui_data_exchange containing X calls may xlocked/xunlocked. Don't forgetDaniel Caujolle-Bert
to xfreeing gc before creating a new one. CVS patchset: 3459 CVS date: 2002/12/07 23:00:07
2002-12-06- update api version, adding new "copy_called" flag.Miguel Freitas
CVS patchset: 3434 CVS date: 2002/12/06 01:33:00
2002-11-22when the image does not fit the viewport and black bars need to be added, theirMichael Roitzsch
size ratio and therefore the position of the image is now configurable (I remembered my arts lessons at school where the teacher told us that images look more pleasing when the lower border is twice the size of the upper and set the default accordingly. ;) CVS patchset: 3337 CVS date: 2002/11/22 18:06:09
2002-11-20engine modifications to allow post plugin layer:Michael Roitzsch
* new public output interface xine_{audio,video}_port_t instead of xine_{ao,vo}_driver_t, old names kept as aliases for compatibility * modified the engine to allow multiple streams per output * renaming of some internal structures according to public changes * moving SCR out of per-stream-metronom into a global metronom_clock_t residing in xine_t and therefore easily available to the output layer * adapting all available plugins (note to external projects: the compiler will help you a lot, if a plugin compiles, it is adapted, because all changes add new parameters to some functions) * bump up all interface versions because of xine_t and xine_stream_t changes CVS patchset: 3312 CVS date: 2002/11/20 11:57:38
2002-10-22First attempt at re-enabling the XShm pluginJuergen Keil
CVS patchset: 2934 CVS date: 2002/10/22 16:42:24
2002-10-13yuv2rgb_mlib needs an even YUV2 width. It was segfaulting on Solaris SPARC withJuergen Keil
MediaLib. CVS patchset: 2826 CVS date: 2002/10/13 17:24:29
2002-10-04bounds check in frame_copy fixing segfaultsMichael Roitzsch
patch by Howdy Pierce CVS patchset: 2782 CVS date: 2002/10/04 13:36:56
2002-09-30Fixes and performance improvements to the alphablend.c code.James Courtier-Dutton
The fixes involved getting blend_rgb16 to correctly handle different colours in the highlight area and general overlay area. Another fix involved fixing the overlay scaling function so that it scales in the same proportion as the yuv2rgb code. Currently, blend_yuv has not been updated. blend_rgb16 has been improved. blend_rgb24 and blend_rgb32 have not been changed and will probably not work now. The performance improvements are due to two things: - 1) Special detection of overlays without any buttons/clip areas. This is detected by ensuring overl->clip_top = -1 when no button is present. 2) Reorganise the blending code so that for each time round the loop, the fewest possible IF statements are executed. So, for overlays without any buttons, not checks for the clip area is done. For overlay with buttons, state is kept as to whether we are above, to the left, inside or to the right or below the clip area, thus saving having to do IF statements each time round the loop to find out where we are. CVS patchset: 2762 CVS date: 2002/09/30 05:16:45
2002-09-16A bit of info regarding wrong bpp depths.James Courtier-Dutton
CVS patchset: 2670 CVS date: 2002/09/16 11:35:25
2002-09-08XShm is backMichael Roitzsch
CVS patchset: 2629 CVS date: 2002/09/08 22:10:29
2002-09-05make all the plugin init functions staticMichael Roitzsch
(geez this was a job) CVS patchset: 2616 CVS date: 2002/09/05 20:44:38
2002-09-04merging in the new_api branch ... unfortunately video_out / vo_scale is ↵Guenter Bartsch
broken now ... matthias/miguel: please fix it :-) CVS patchset: 2606 CVS date: 2002/09/04 23:31:05
2002-08-28enforce scaling_disabledMiguel Freitas
CVS patchset: 2541 CVS date: 2002/08/28 14:20:09
2002-08-15patch - save old XErrorHandler by Mark ThomasMiguel Freitas
CVS patchset: 2461 CVS date: 2002/08/15 18:24:14
2002-08-15- reimplement independent x/y zooming.Miguel Freitas
- new helper module (vo_scale.c) with all common scaling code of video out drivers. it should greatly simplify drivers development by removing the boring frame/window calculation, aspect ratio, zooming etc. obs: not completely tested, may contain bugs and break things. also only xshm and xv have being simplified so far, others will follow shortly. CVS patchset: 2455 CVS date: 2002/08/15 03:12:24
2002-08-10syncing my local tree:Miguel Freitas
- removes w32codec syncshutdown hack - vo_driver api changed to support drivers with persistent overlays. that will break binary compatibility xine-lib/xine-ui (xine-ui needs to be recompiled). in order to keep binary compatibility overlay_begin/overlay_end must be added after redraw_needed. - video_overlay cleanups - fix a hard to trigger condition where redraw wouldn't happen (freeing handles) CVS patchset: 2427 CVS date: 2002/08/10 21:25:20
2002-07-30- video out fixes (never trigged deadlocks and erroneous flush of overlayMiguel Freitas
events) - duplicate_frame is now internal use only (api function deprecated) - special case for redrawing screen in paused mode (due overlay changes, resize, window movement, brightness adjusting etc) - xshm brightness may be adjusted with video paused CVS patchset: 2363 CVS date: 2002/07/30 00:26:45
2002-07-20Update entire video window, not just output area, on X11 Expose eventsEwald Snel
- fixes problem with xine aRts plugin (popup menus remain visible) CVS patchset: 2331 CVS date: 2002/07/20 21:46:05
2002-07-16Fix unresolved symbols and replace duplicate code in video output pluginsEwald Snel
CVS patchset: 2295 CVS date: 2002/07/16 19:33:36
2002-07-15Add 'pitch' support to video decoders (pitch != width)Ewald Snel
CVS patchset: 2282 CVS date: 2002/07/15 21:42:33
2002-07-10handle freshly introduced pan&scan aspect like anamorphic aspectMichael Roitzsch
CVS patchset: 2247 CVS date: 2002/07/10 14:04:41
2002-06-200.9.11xine-0_9_11-release0.9.11Siggi Langauf
CVS patchset: 2107 CVS date: 2002/06/20 17:46:58
2002-06-12Remove no more needed XINE_LOGO.Daniel Caujolle-Bert
Internationalize all config related stuff. Fix not registered mrl ending in roq/film demuxer. Add bindtextdomain() calls in load_plugins (for audio/video out plugins). CVS patchset: 2066 CVS date: 2002/06/12 12:22:25
2002-05-18remove debug messageMiguel Freitas
CVS patchset: 1907 CVS date: 2002/05/18 12:36:45
2002-05-06- remove deprecated zoom_mpeg1 (resizing policies are ui's job now)Miguel Freitas
- use the same video.disable_scaling setting in fb driver CVS patchset: 1854 CVS date: 2002/05/06 00:48:09
2002-05-03Frame resizing patch from Miguel.Daniel Caujolle-Bert
CVS patchset: 1845 CVS date: 2002/05/03 14:20:19
2002-04-14avoid critical problems in yuv2rgb caused by very small frame output sizeEwald Snel
CVS patchset: 1718 CVS date: 2002/04/14 00:58:23
2002-03-26Small cleanup (code reuse).Matthias Hopf
CVS patchset: 1637 CVS date: 2002/03/26 19:40:43
2002-03-22small bugfix to detect frame size changes correctlyGuenter Bartsch
CVS patchset: 1612 CVS date: 2002/03/22 00:31:10
2002-03-21adding new parameters to frame_output_cbMiguel Freitas
CVS patchset: 1606 CVS date: 2002/03/21 18:29:51
2002-03-21- only draw still frame/logo if neededMiguel Freitas
- fix syncfb driver CVS patchset: 1605 CVS date: 2002/03/21 16:21:01
2002-03-07Small clean up.James Courtier-Dutton
From Michael Roitzsch CVS patchset: 1541 CVS date: 2002/03/07 13:26:15
2002-03-05remove bad "get_info" functions.James Courtier-Dutton
---------------------------------------------------------------------- CVS patchset: 1539 CVS date: 2002/03/05 22:31:06
2002-03-01memleak fixes from ewald snelGuenter Bartsch
CVS patchset: 1535 CVS date: 2002/03/01 09:29:49
2002-02-25*phew* Xv video output driver works now, zoom feature has been stripped down ↵Guenter Bartsch
a little. Code is cleaned up, identifiers should be consistent with xshm driver (as far as possible) CVS patchset: 1516 CVS date: 2002/02/25 01:23:41
2002-02-24clean black bars on window/frame size changeGuenter Bartsch
CVS patchset: 1513 CVS date: 2002/02/24 15:14:39
2002-02-24makefile cleanup, pause frame fixed for xshm, beginning to work on xv outputGuenter Bartsch
CVS patchset: 1512 CVS date: 2002/02/24 00:43:02
2002-02-18VO_PROP_MAX_NUM_FRAMES, expose event handlingGuenter Bartsch
CVS patchset: 1509 CVS date: 2002/02/18 17:30:38
2002-02-18cleanup/added debug messages, small metronom fixGuenter Bartsch
CVS patchset: 1508 CVS date: 2002/02/18 15:55:44
2002-02-17more bugfixes, I can now see video using xshm :-)Guenter Bartsch
CVS patchset: 1502 CVS date: 2002/02/17 15:53:28
2002-02-17each frame has an id for debugging purposes now; xshm driver can at least ↵Guenter Bartsch
display the logo without crashing now :-) CVS patchset: 1501 CVS date: 2002/02/17 00:06:58
2002-02-16beginning of video_out_driver changesGuenter Bartsch
- driver will ask gui for output size on every frame - shm driver has a seperate yuv2rgb converter instance for every frame - all drivers disabled except xshm, until they're fixed I'm planning to introduce a queue of video_out_events in video_out.c, so events are delivered by video_out_loop which means that all driver functions are called from the same thread (no locking necessary, should help the opengl driver) CVS patchset: 1499 CVS date: 2002/02/16 22:43:24