summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_out.c
AgeCommit message (Collapse)Author
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
2003-11-16actually not every engine file uses internals, so we do not need to defineMichael Roitzsch
XINE_ENGINE_INTERNAL for every file CVS patchset: 5753 CVS date: 2003/11/16 15:41:15
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-30* modify the engine slightly, so that the stream member in a video frame orMichael Roitzsch
audio buffer can be NULL; this should be used to indicate that the frame/ buffer does not come directly from a stream, but was generated otherwise (the most important result is that frames/buffers with stream NULL will not be passed through metronom) * modify visualization post plugins so they set the stream on the generated frames to NULL, this avoids cluttering metronom, when playing a stream with audio AND video AND a visualization post * this also means modifying the way post plugins provide vpts values: they have to calculate them themselves for now CVS patchset: 5647 CVS date: 2003/10/30 22:40:53
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-08this test is outdated: it is legal to lock the frame multiple times,Miguel Freitas
not necessarily due to displaying it. CVS patchset: 5468 CVS date: 2003/10/08 02:32:04
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-09-13fix ao/vo flush while paused (it would freeze the engine).Miguel Freitas
CVS patchset: 5366 CVS date: 2003/09/13 16:15:38
2003-09-05div by zero fix by G DeveloperMiguel Freitas
CVS patchset: 5346 CVS date: 2003/09/05 14:39:46
2003-08-15I am using the latest internal API increase to rename video_overlay_instace toMichael Roitzsch
video_overlay_manager, because a) this thing is called "overlay manager" by everyone b) the term "instance" is misleading, since it suggests that you would not share the outcome of a get_instance() with others CVS patchset: 5288 CVS date: 2003/08/15 14:35:09
2003-08-12add a flags member to frame struct (the relevant API versions have already beenMichael Roitzsch
increased lately), store flags in video out loop and catch some wrong ratios CVS patchset: 5275 CVS date: 2003/08/12 13:53:30
2003-08-04support for arbitrary aspect ratiosMiguel Freitas
patch by Philip Jgenstedt CVS patchset: 5243 CVS date: 2003/08/04 03:47:09
2003-07-13set pos/time information on video frames as wellGuenter Bartsch
CVS patchset: 5161 CVS date: 2003/07/13 15:27:34
2003-07-12reports the number of skipped/discarded framesMiguel Freitas
http://sourceforge.net/mailarchive/forum.php?thread_id=2753813&forum_id=7131 CVS patchset: 5155 CVS date: 2003/07/12 20:31:49
2003-06-22some additional pthread_*_destroy() callsMichael Roitzsch
(based on the implementation, this might fix memleaks on some platforms, although I doubt that this is the case here) CVS patchset: 5091 CVS date: 2003/06/22 17:10:41
2003-06-13defaultMiguel Freitas
CVS patchset: 5034 CVS date: 2003/06/13 01:50:45
2003-06-11- add VO_INTERLACED_FLAG to get_frameMiguel Freitas
- do not trust progressive_frame for detecting NTSC 3:2, quote: 'the alternating progressive_frame encoding problem. This is a problem where the progressive_frame flag alternates between true and false every frame, when it really should have been set to "true" all the time.' 'There is a lot of content that is affected by this issue, because it's caused by a dumb decision by a very big company that made a very popular MPEG encoder. They've since fixed the encoder, but there are apparently still authoring companies that use it, because the problem is on a lot of high-profile current discs, like Disney's "Monsters Inc." and "Beauty and the Beast".' http://www.hometheaterhifi.com/volume_8_2/dvd-benchmark-special-report-chroma-bug-4-2001.html CVS patchset: 5025 CVS date: 2003/06/11 23:08:54
2003-06-06initial ideas for automatic enabling/disabling deinterlacerMiguel Freitas
fixes, comments, suggestions are welcome CVS patchset: 5011 CVS date: 2003/06/06 19:42:04
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-05-11Little seeking improvement.Thibaut Mattern
Change the frame dropping policy to not drop frames immediately after a seek. CVS patchset: 4820 CVS date: 2003/05/11 12:59:38
2003-05-06Thibaut asked me to revert his latest patchMiguel Freitas
also set some more reasonable defaults for frame skipping (12000 pts prebuffering, at least 2 frames in advance to not skip). CVS patchset: 4786 CVS date: 2003/05/06 20:50:11
2003-05-06This is some general Win32 cleanup and getting ready for DVD support.Tim Champagne
CVS patchset: 4779 CVS date: 2003/05/06 14:02:24
2003-05-05Do not use pts from bad frames in the metronom and in the video_loop.Thibaut Mattern
This prevents to drop 1-5 frames just after a seek. Now seeking is really smooth and sync is allways perfect ;) CVS patchset: 4775 CVS date: 2003/05/05 22:29:30
2003-04-30make sure bad_frame=0 even if decoder forget about itMiguel Freitas
CVS patchset: 4730 CVS date: 2003/04/30 20:19:20
2003-04-28do not show backup immediately when discarding framesMiguel Freitas
CVS patchset: 4704 CVS date: 2003/04/28 23:52:27
2003-04-23faster seeking (heavily based on Thibaut's patch)Miguel Freitas
rework xine_play_internal, wait for first frame after seek CVS patchset: 4660 CVS date: 2003/04/23 14:33:01
2003-04-02- remove unneeded use of pthread_exit(NULL). We do not have any cleanupBastien Nocera
handlers, so we can just use "return NULL" instead. CVS patchset: 4533 CVS date: 2003/04/02 12:28:08
2003-03-26ops, i forgot that assert.h was removed...Miguel Freitas
CVS patchset: 4485 CVS date: 2003/03/26 01:37:55
2003-03-26revert my assert to the classic macroMiguel Freitas
CVS patchset: 4484 CVS date: 2003/03/26 01:25:16
2003-03-24slightly better stream position heuristicStefan Holst
CVS patchset: 4475 CVS date: 2003/03/24 18:30:12
2003-03-06steps toward muting xine's console output by defaultGuenter Bartsch
CVS patchset: 4345 CVS date: 2003/03/06 16:49:30
2003-02-28Xine assert() replacement:Stephen Torri
All assert() function calls, with exceptions of libdvdread and libdvdnav, have been replaced with XINE_ASSERT. Functionally XINE_ASSERT behaves just likes its predecesor but its adding the ability to print out a stack trace at the point where the assertion fails. So here are a few examples. assert (0); This use of assert was found in a couple locations most favorably being the default case of a switch statement. This was the only thing there. So if the switch statement was unable to find a match it would have defaulted to this and the user and the developers would be stuck wonder who died and where. So it has been replaced with XINE_ASSERT(0, "We have reach this point and don't have a default case"); It may seem a bit none descriptive but there is more going on behind the scene. In addition to checking a condition is true/false, in this case '0', the XINE_ASSERT prints out: <filename>:<function name>:<line number> - assertion '<assertion expression>' failed. <description> An example of this might be: input_dvd.c:open_plugin:1178 - assertion '0' failed. xine_malloc failed!!! You have run out of memory XINE_ASSERT and its helper function, print_trace, are found in src/xine-utils/xineutils.h CVS patchset: 4301 CVS date: 2003/02/28 02:51:47
2003-02-22this hack can go nowMichael Roitzsch
CVS patchset: 4251 CVS date: 2003/02/22 14:22:13
2003-02-21disable debug outputGuenter Bartsch
CVS patchset: 4226 CVS date: 2003/02/21 02:05:12
2003-02-20Same fix for yv12James Stembridge
CVS patchset: 4216 CVS date: 2003/02/20 11:59:32
2003-02-20Fix copy of yuy2 frame by slices when frame height is not a multiple of 16James Stembridge
CVS patchset: 4215 CVS date: 2003/02/20 11:40:13
2003-02-18this might help prevent problems in the future:Michael Roitzsch
important requests like flushes should be put on the fifo as the first element CVS patchset: 4195 CVS date: 2003/02/18 18:36:30
2003-02-06continuing the clean up...Miguel Freitas
now vo properties are passed through video ports, that is, post plugins will be able to use/intercept them if they want. it improves flexibily (eg. multiple outputs receiving properties) and enables some other good things, like moving deinterlacer to a post plugin. CVS patchset: 4111 CVS date: 2003/02/06 10:59:02
2003-02-06first pass on cleaning up ao/vo properties and flush stuffMiguel Freitas
CVS patchset: 4110 CVS date: 2003/02/06 00:09:19
2003-02-01adding flush-mode so seek() and play() work for video processing (enix)Guenter Bartsch
CVS patchset: 4080 CVS date: 2003/02/01 19:22:30
2003-01-26patch from Fredrik Noring <noring@nocrew.org> (slightly modified)Michael Roitzsch
bail out if video out cannot provide more pre-alloc'ed frames CVS patchset: 4013 CVS date: 2003/01/26 18:12:39
2003-01-25- only default frame's extra_info to the video decoder one, when it is emptyMichael Roitzsch
- do not use extra_info from the backup image, it is outdated CVS patchset: 4005 CVS date: 2003/01/25 12:10:33
2003-01-13debug messageMichael Roitzsch
CVS patchset: 3892 CVS date: 2003/01/13 13:43:46
2003-01-11introducing a new, very low-impact aproach on implementing a video ↵Guenter Bartsch
processing api CVS patchset: 3875 CVS date: 2003/01/11 19:06:52
2003-01-11get img_duration from video_outMiguel Freitas
CVS patchset: 3871 CVS date: 2003/01/11 12:51:17