summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_out.c
AgeCommit message (Collapse)Author
2007-04-01Reorder and use bitmasks to reduce the holes in the structure. This is a ↵Diego 'Flameeyes' Pettenò
private structure so it's not part of the ABI. CVS patchset: 8781 CVS date: 2007/04/01 01:03:06
2007-01-16avoid division by zero.Miguel Freitas
still need to investigate the cause, might be due to pause when using net_buf_ctrl CVS patchset: 8513 CVS date: 2007/01/16 16:00:26
2007-01-10make number of frames configurableMiguel Freitas
(nothing to see here, i'm just testing xine latency in some realtime experiments...) CVS patchset: 8496 CVS date: 2007/01/10 20:13:14
2006-03-25Oops. Revert the change which wasn't part of Reinhard's patch.Darren Salt
CVS patchset: 7948 CVS date: 2006/03/25 01:26:34
2006-03-25vo_loop(): take playback speed into account when calculating how long to sleep.Darren Salt
For speeds < 100%, vo_loop() won't sleep for long enough. Not a problem. For speeds > 100%, it may sleep for too long; consequently, frames may be dropped. (Reinhard Nissl) CVS patchset: 7947 CVS date: 2006/03/25 01:17:44
2006-01-27Adapt the engine to the new list code.Thibaut Mattern
CVS patchset: 7848 CVS date: 2006/01/27 07:46:09
2005-11-14fix problem with pause introduced by previous commitMiguel Freitas
CVS patchset: 7801 CVS date: 2005/11/14 23:48:19
2005-11-14rewrite frame allocation optimization to keep the same behaviour ofMiguel Freitas
vo_remove_from_img_buf_queue_int's timeout * should fix segfaults when unwiring/disposing post plugins CVS patchset: 7800 CVS date: 2005/11/14 23:12:16
2005-09-24experimental optimization: try to allocate frames from free queueMiguel Freitas
in the same format as requested (avoid unnecessary free/alloc in vo driver). up to 25% less cpu load using deinterlace with film mode. CVS patchset: 7741 CVS date: 2005/09/24 21:51:11
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-02-14don't copy first-frame flag in duplicate_frameStefan Holst
CVS patchset: 7417 CVS date: 2005/02/14 14:04:55
2005-02-13deleting also my xprintf's againStefan Holst
CVS patchset: 7413 CVS date: 2005/02/13 22:23:41
2005-02-13reverting private changes - sorry...Stefan Holst
CVS patchset: 7412 CVS date: 2005/02/13 22:14:17
2005-02-13nitpick: reset MAX_AUDIO_CHANNEL and MAX_SPU_CHANNEL together with other ↵Stefan Holst
stream info in xine_close CVS patchset: 7411 CVS date: 2005/02/13 22:12:50
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-10-26add frontend cropping supportMiguel Freitas
CVS patchset: 7076 CVS date: 2004/10/26 20:10:20
2004-10-18rewiring to ANON_STREAM is valid, and that avoid some segfault too ;-)Daniel Caujolle-Bert
CVS patchset: 7049 CVS date: 2004/10/18 21:07:38
2004-10-17img->stream == NULL is validMichael Roitzsch
CVS patchset: 7042 CVS date: 2004/10/17 19:13:09
2004-10-14Implemented stream_t reference counter idea.Thibaut Mattern
See these two threads: http://thread.gmane.org/gmane.comp.video.xine.devel/10819 http://thread.gmane.org/gmane.comp.video.xine.devel/10424 Fixed _x_handle_stream_end __stop_internal race. See this thread: http://thread.gmane.org/gmane.comp.video.xine.devel/10818 If the lib is broken after this patch, you know who to blame ;-) CVS patchset: 7036 CVS date: 2004/10/14 23:25:24
2004-10-09...it was so easy, but I still got it wrongMichael Roitzsch
CVS patchset: 7026 CVS date: 2004/10/09 06:44:21
2004-10-08change variable logic slightly to make it more clear that Miguel is a geniusMichael Roitzsch
and this code is correctly understood by me ;) also fall back to old behaviour (no cropping at all), if the image cannot be cropped due to an unknown frame format CVS patchset: 7024 CVS date: 2004/10/08 21:08:26
2004-09-28xxmc patch by Thomas Hellstrom (with some changes)Miguel Freitas
there is still some work to do, please report any breakages. note: new xxmc driver tested with both nvidia and via libraries. CVS patchset: 7007 CVS date: 2004/09/28 18:49:38
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-07-19fix for brightness driftMiguel Freitas
https://sourceforge.net/tracker/?func=detail&atid=109655&aid=947520&group_id=9655 CVS patchset: 6818 CVS date: 2004/07/19 22:45:48
2004-07-15check number of frames on fifo before deciding to skip decodingMiguel Freitas
fix problems of bogus frame skipping when duration changes. CVS patchset: 6798 CVS date: 2004/07/15 21:20:06
2004-07-06fix a long standing bug: streams were not played till their very end, becauseMiguel Freitas
finished event was sent to frontend before the output fifos were empty. add a test for the number of streams attached to the output port. this will prevent deadlocking on multi-streams scenarios where fifos don't ever get empty. CVS patchset: 6777 CVS date: 2004/07/06 22:53:22
2004-07-05when first_frame_flag drops to 0, first_frame_reached has to be emittedMichael Roitzsch
CVS patchset: 6775 CVS date: 2004/07/05 17:13:37
2004-06-26do not assume YV12 and YUY2 are the only image formatsMichael Roitzsch
CVS patchset: 6748 CVS date: 2004/06/26 13:51:13
2004-06-25exit pause loop, when video loop is terminatedMichael Roitzsch
(fixed latest deadlock report by Stefan Holst) CVS patchset: 6744 CVS date: 2004/06/25 16:09:31
2004-06-19modified patch from Reinhard Nissl to report the length of the out fifosMichael Roitzsch
CVS patchset: 6713 CVS date: 2004/06/19 20:07:15
2004-06-13implement steps 1, 2, 3 and 4 of the seeking proposal:Miguel Freitas
http://article.gmane.org/gmane.comp.video.xine.devel/9532 it is now up to demuxers to decide what the 0..65535 position means. demuxers tested: ogg, voc, flac, rm, asf, vqa, vob, avi, y4m, au, mov, ts, mp3, mpg, wav, ra, mve CVS patchset: 6686 CVS date: 2004/06/13 21:28:52
2004-06-02Do not loop in __wait_first_frame.Thibaut Mattern
Copy is_frame value in duplicate_frame vo function. Fix the bug i've reported here: http://news.gmane.org/navbar.php?group=gmane.comp.video.xine.devel&article=9301&next=9322&prev=9310&newsrc=,9301,9322 CVS patchset: 6631 CVS date: 2004/06/02 19:46:10
2004-05-30there are more image formats than YV12 and YUY2 -> fixes DXR3 crashMichael Roitzsch
CVS patchset: 6613 CVS date: 2004/05/30 21:33:38
2004-05-29separate the two semantics of querying a port's status with a NULL stream;Michael Roitzsch
before, NULL could mean two things: no stream at all or a stream that does not want to be addressed; now the latter is represented by the new XINE_ANON_STREAM resulting changes: * the status() functions now behave differently for NULL and XINE_ANON_STREAM (as the commentary always implied, but this was not the case, so post plugin rewiring went wrong, because it relies on the status() function) * the NULL_STREAM defines in audio_out and video_out are obsolete * update the function comments in the headers * update the post plugin rewire functions to use the status() functions to check, if the old port was opened and handle the new one accordingly; this makes open_count obsolete * change all post plugins accordingly (mostly using XINE_ANON_STREAM instead of NULL) additional change: * the status() function of audio port now returns the bits/rate/mode values of the input and not the output; this is more likely to be what a post plugin wants * the reimplementation of status() in the upmix plugin is obsolete CVS patchset: 6603 CVS date: 2004/05/29 14:45:25
2004-05-23Improve seeking smoothness.Thibaut Mattern
1 - When a first frame is still referenced, poll until there is only one reference. (with a limit, see FIRST_FRAME_MAX_POLL). This way the frame is displayed as soon as possible. 2 - When a "flush" occured, don't wait the full duration of the frame and exit the waing loop as soon as possible. The problems have been identified and fixed using a toxine script to stress seeking. It's available here (requires toxine cvs) : http://xine.sourceforge.net/tmattern/seek_test_1.toxine It performs approx. 500 seeks. I have tested avi, asf, mov, mpg, mkv streams. The engine can do a bit more than 10 seeks per second here (athlon 2.6 GHz), with all kind of streams. ;) toxine has been improved to support a such script (env vars, and the "repeat" command), thanks to Daniel. CVS patchset: 6585 CVS date: 2004/05/23 21:30:26
2004-05-13Don't set the img->duration to the default if it's 0 in vo_frame_draw - this ↵James Stembridge
allows the code for handling this special case to actually be used CVS patchset: 6532 CVS date: 2004/05/13 21:38:49
2004-05-07move lprintf to the right location (where variables are initialized)Daniel Caujolle-Bert
CVS patchset: 6497 CVS date: 2004/05/07 22:49:24
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
2004-04-22This patch allows the engine to handle frames with duration=0.Thibaut Mattern
This is usefull when the format does'nt contain a frame rate / duration info like the ASF format. See this thread for more details: http://thread.gmane.org/gmane.comp.video.xine.devel/8387 CVS patchset: 6426 CVS date: 2004/04/22 23:19:03
2004-03-23it seems I broke most DVD menus with this; unfortunately not the ones I ↵Michael Roitzsch
tested X( CVS patchset: 6304 CVS date: 2004/03/23 15:38:04
2004-03-16while hanging in get_frame or get_buffer, we have to check for ticketMichael Roitzsch
renewal regularly to fulfill the ticket contract, which says: "assure to release or renew revocable tickets after a finite time" this patch also includes a small change to video out's flushing logic: we set last_delivery_pts into the future to avoid flushing again when the decoder does not react (stopped streams are otherwise being flushed all the time) CVS patchset: 6270 CVS date: 2004/03/16 12:25:05
2004-03-03use the _x_abort() macro instead of abort, since it prints some debug infoMichael Roitzsch
before aborting CVS patchset: 6211 CVS date: 2004/03/03 20:09:11
2004-02-19Mandrake patches fromRocky Bernstein
http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/SPECS/xine-lib/ via Goetz Waschk who reports: The amd64 patch (xine-lib-1-rc0a-amd64.patch) sets some conservative CFLAGS for amd64, the lib64 patch (xine-lib-1-rc0a-lib64.patch) replaces hardcoded /lib to support the lib64 library dir on amd64, the directfb patch (xine-lib-1-rc2-no-directfb.patch) adds a configure option to disable directfb, the linuxfb patch (xine-lib-1-rc3a-no-linuxfb.patch) does the same for linux framebuffer and the 64bit fixes patch (xine-lib-1-rc3-64bit-fixes.patch) doesn't apply at the moment against the CVS -- demux_ogg.c was not applied. it includes some 64 bit pointer and other fixes for 64bit architectures. from Gwenole Beauchesne I haven't tested other than apply and compile. CVS patchset: 6174 CVS date: 2004/02/19 02:50:24
2004-01-07use frame copying functionsJames Stembridge
CVS patchset: 6010 CVS date: 2004/01/07 22:22:54
2004-01-07the new, refined post plugin architectureMichael Roitzsch
* post plugins are now much safer (fewer races/inconsistencies) and easier to write * all post plugins are ported to the new architecture (and should work) * ports can now be opened and closed with a NULL stream CVS patchset: 6007 CVS date: 2004/01/07 19:52:42
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-26xprintf clean pass. xprintf now log into new XINE_LOG_TRACE log buffer. ↵Daniel Caujolle-Bert
scratch buffer enhancement (thanks Thibaut for the malloc tips), enlarge log buffer from 25 lines (very useless), to 150 (better). CVS patchset: 5801 CVS date: 2003/11/26 23:44:08
2003-11-26lprintf cleanup, pass I.Daniel Caujolle-Bert
CVS patchset: 5796 CVS date: 2003/11/26 19:43:26
2003-11-19fix wrong next_frame_vpts guessing which causes problemsMichael Roitzsch
with long frame durations CVS patchset: 5762 CVS date: 2003/11/19 12:05:26
2003-11-16New stream/meta info (safe) stuff.Daniel Caujolle-Bert
BIG NOTE: use helpers to access to these informations (get/set/reset): _x_{stream,meta}_info_{get,set,reset}() are for internal use, don't use *_public() ones from inside the beast ;-) Some wrongly names "xine_" fonction renaming. CVS patchset: 5757 CVS date: 2003/11/16 23:33:42