summaryrefslogtreecommitdiff
path: root/src/video_out/video_out_fb.c
AgeCommit message (Collapse)Author
2007-12-27Add VO_PROP_OUTPUT_* to some other video output drivers (where trivial).Darren Salt
2007-12-24Consistently use "colour", "colour key", "colour space" in output.Darren Salt
Some instances of "key colour" remain; ffmpeg is unmodified. This change has caused two strings with two translations to collide (the strings have become identical since some instances already used "colour"). I have therefore arbitrarily dropped the first of the differing translations, the one for the string at src/video_out/video_out_directfb.c:1365.
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-06-06[PATCH] video_out_fb crashSteve Freeland
I discovered some problems with the framebuffer output driver. The first problem I had was a segfault when trying to play a 480x360 clip on a 640x480 display. I traced it to the yuv420_rgb16() color conversion function, which was overrunning the input buffer (the "y" part of the image). The reason was that it was being called downstack from fb_frame_proc_slice(), multiple times for each 16-pixel high horizontal slice of the image. When it got to the last slice, only 8 pixels were left to the bottom but it still tried to process a 16-pixel high slice. Nosing around a bit, I compared the configuration of the color converter as used by the fb driver to the xshm driver and found some oddities: 1) The color converter was configured with a "source height" of 16 pixels no matter what the size of the image, and a "dest height" based on what was referred to within video_out_fb.c as a "stripe" -- essentially an input slice scaled up or down as required by the output size. 2) Apparently to prevent the above from causing problems, the position in the output buffer was managed by special code -- see the "stripe_incr" variable. 3) The xshm driver calls yuv2rgb_next_slice() with a NULL argument at the beginning of each frame to allow the color converter to reset its tracking of the slice-by-slice progress through the image; the fb driver does not. I'm not sure exactly why it was done that way, but my best guess would be that whoever coded it didn't know about the need to call yuv2rgb_next_slice() with a NULL argument, and the rest was built up to get it to mostly work without that. The attached patch changes the behaviour to match that of the xshm driver, and also removes the reset_dest_pointers() function, replacing its single invocation with one to fb_frame_field(), which is identical after removing the "stripe" management. It fixed my crash. Can anyone see if I've misunderstood what was going on? If not, it should probably be applied to the official version.
2006-12-19Mark string-type configuration items according to whether they're plainDarren Salt
strings or names of files, device nodes or directories. This information is available to front ends (via .num_value) so that they can present file/dir-open dialogue boxes if they so choose. Subtitle font selection is split up due to this. CVS patchset: 8425 CVS date: 2006/12/19 19:10:50
2006-07-10Implement visibility support, available on GCC 4.0 and later and on some 3.4 ↵Diego 'Flameeyes' Pettenò
(through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway. CVS patchset: 8101 CVS date: 2006/07/10 22:08:12
2006-06-02Various static/const fixes from Gentoo.Darren Salt
CVS patchset: 8009 CVS date: 2006/06/02 22:18:56
2006-05-03Make various arrays and structures (mainly xine_plugin_info) const.Darren Salt
(Diego Pettenò) CVS patchset: 7985 CVS date: 2006/05/03 19:46:06
2005-09-25move alphablend to coreMiguel Freitas
CVS patchset: 7745 CVS date: 2005/09/25 00:44:04
2005-09-24- rename all clip_top, clip_left, clip_color... to hili_xxxx. thatMiguel Freitas
"clip" thing has caused too much confusion already since these variables define a highlight area. - add overlay offset support to video_out.c/alphablend/vo drivers - use overlay offset to implement proper croping of frames when vo driver doesn't support it - add clipping checks to alphablend to avoid buffer overflow, buffer "underflow" and wrapping. - increase vo api number - note: dxr3 support is incomplete about overlay offset CVS patchset: 7739 CVS date: 2005/09/24 19:08:26
2005-09-05Fixing broken build. Sorry.Matthias Hopf
CVS patchset: 7718 CVS date: 2005/09/05 15:13:13
2005-09-05Unified behavior of yuv2rgb brightness/contrast/saturation.Matthias Hopf
Nuked getting default value from additional config. CVS patchset: 7717 CVS date: 2005/09/05 14:56:31
2005-08-28Set up the framebuffer palette.Darren Salt
CVS patchset: 7711 CVS date: 2005/08/28 01:11:21
2004-12-12huge patch ahead: reorganizing config entries with automatic conversionMichael Roitzsch
and backwards compatible translation Sorry, I got a litte tired proof-reading the patch, so their might be bugs lurking around. I will give it some further examination and (as necessary) fixing tomorrow. CVS patchset: 7233 CVS date: 2004/12/12 22:00:47
2004-11-24patch to further improve overlay blending and to elimiate static variablesMichael Roitzsch
in alphablend.c; XShm subtitles work now, Xv works as well, other output plugins untested CVS patchset: 7156 CVS date: 2004/11/24 16:11:02
2004-10-09two more plugins for the centralized scaling optionMichael Roitzsch
CVS patchset: 7028 CVS date: 2004/10/09 06:45:48
2004-09-22- added cropping capability (thanks James Stembridge)Miguel Freitas
- some vo drivers support cropping natively. (only xv and xvmc have been tested) - add software crop fallback to video_out.c - skip yuv2rgb processing at xshm for not yet cropped frames (these frames are never shown) - libmpeg2 and ffmpeg now may use crop support - bump vo api. (changes to xvmc/xxmc will follow) CVS patchset: 6991 CVS date: 2004/09/22 20:29:13
2004-04-26help strings added for all remaining config entries (so I hope)Michael Roitzsch
please everybody watch out for spelling (and other) errors CVS patchset: 6442 CVS date: 2004/04/26 17:50:06
2003-12-14API version bounceSiggi Langauf
CVS patchset: 5912 CVS date: 2003/12/14 22:13:22
2003-12-05cleanup phase II. use xprintf when it's relevant, use xine_xmalloc when it's ↵Daniel Caujolle-Bert
relevant too. Small other little fix (can't remember). Change few internal function prototype because it xine_t pointer need to be used if some xine's internal sections. NOTE: libdvd{nav,read} is still too noisy, i will take a look to made it quit, without invasive changes. To be continued... CVS patchset: 5844 CVS date: 2003/12/05 15:54:56
2003-11-26lprintf cleanup, pass I.Daniel Caujolle-Bert
CVS patchset: 5796 CVS date: 2003/11/26 19:43:26
2003-11-26* new unscaled overlay feature (using XShape extension)Miguel Freitas
text subtitles may now be rendered at full screen resolution * load xine fonts on demand - faster startup note: support added to xv, xshm and vidix CVS patchset: 5780 CVS date: 2003/11/26 01:03:31
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-23cleanup in video_out.hMichael Roitzsch
* some obsolete VO_CAP_* constants removed * VO_ZOOM_* constants replaced by their XINE_VO_ZOOM_* equivalents from xine.h * moved some bits around * proc_frame() needs only one parameter: the frame * renamed copy_called to proc_called * changed logic in video_out.c to call proc_* functions a bit (call proc_frame() first, then call proc_slice() if proc_frame() has not set proc_called, this allows video out plugins to have both hooks called) CVS patchset: 5576 CVS date: 2003/10/23 15:17:06
2003-10-22Replace copy member in vo_frame_t with proc_frame and proc_slice. Increase ↵Robin KAY
video_out API version to 18. CVS patchset: 5574 CVS date: 2003/10/22 20:38:09
2003-10-06- add XvMC supportMiguel Freitas
- bump vo and post interface versions obs: video_out_xvmc.c needs some more work, see todo. CVS patchset: 5459 CVS date: 2003/10/06 21:52:42
2003-08-04support for arbitrary aspect ratiosMiguel Freitas
patch by Philip Jgenstedt CVS patchset: 5243 CVS date: 2003/08/04 03:47:09
2003-05-31update video out api to allow better frame management (explicit locking)Miguel Freitas
img->displayed is obsolete now, drivers should use img->free. CVS patchset: 4994 CVS date: 2003/05/31 18:33:28
2003-03-19clear all memory on frame size change to avoid artefacts from previousStefan Holst
streams. CVS patchset: 4449 CVS date: 2003/03/19 15:29:27
2003-03-19fb_visual_t for fb video driver, enable frame_output_cb in that driver.Stefan Holst
CVS patchset: 4448 CVS date: 2003/03/19 01:11:12
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-01-31- MAX_PREVIEW_SIZE = 4096Miguel Freitas
- new fb driver with zero copy CVS patchset: 4058 CVS date: 2003/01/31 14:06:03
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-08bring fb driver backMiguel Freitas
CVS patchset: 3467 CVS date: 2002/12/08 23:35:45
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-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-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-23- update framebuffer driver to use scaling helper. this is the last one ofMiguel Freitas
the drivers i'm comfortable to rework. - add simple fb device probing CVS patchset: 2502 CVS date: 2002/08/23 00:24:30
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-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-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-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-03-25framebuffer driver resurrectedMiguel Freitas
CVS patchset: 1631 CVS date: 2002/03/25 03:08:38
2002-03-17Simple fix to (I think) make FB work againRich J Wareham
CVS patchset: 1579 CVS date: 2002/03/17 16:53:24
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-02-09the long-awaited video_out changes, not completely debuged (races)Guenter Bartsch
- pts are 64 bit now - scr and video_out-loop run all the time - video_out cleanups - metronom cleanups - buffer type BUF_CONTROL_DISCONTINUITY is used internally now, input plugins should no longer send this one - support for individual frame durations - using nano-/usleep instead of itimer (simpler code, maybe this will help freebsd) CVS patchset: 1487 CVS date: 2002/02/09 07:13:22