summaryrefslogtreecommitdiff
path: root/src/libspudec/spu.c
AgeCommit message (Collapse)Author
2010-03-10Make buildable with current (external) libdvdnav & libdvdread.Darren Salt
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-01-18Remove '#include "config.h"' from all public header files.Darren Salt
This requires that many other files include config.h themselves. Also convert <config.h> to "config.h".
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
The xine_xmalloc() function is going to be deprecated, as its behaviour is rarely needed as such, and it's thus misused. With this, almost all uses of xine_xmalloc() with static size (for instance the value returned by sizeof()) or with a size that is guaranteed not to be zero (like strlen()+1) are replaced with calls to either calloc(1, ...) or malloc(). malloc() is used whenever the allocated memory is going to be immediately overwritten, while calloc() is used in every other case, as it sets the whole memory area to zero. --HG-- extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
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
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
2004-09-03* fixed LOG_DEBUG builds of spu.c (unresolved symbols)Michael Roitzsch
* changed the default from "clip the whole frame" to "clip nothing", this fixes some overlays with color!=clip_color showing wrong (confirmed with the DXR3 that this is correct); closes bug #1018193 CVS patchset: 6933 CVS date: 2004/09/03 12:28:24
2004-08-19when looking for a PCI that matches the SPUs PTS, do not only check theMichael Roitzsch
current PCI, but the whole queue CVS patchset: 6898 CVS date: 2004/08/19 10:34:00
2004-07-19we don't do any bounds checking when converting the SPU to a xine overlay,Michael Roitzsch
therefore we tried to allocate for the worst case; unfortunately the worst case was wrong CVS patchset: 6814 CVS date: 2004/07/19 17:12:48
2004-07-14Moritz patch for matroska vobsub supportMiguel Freitas
align vobsub to bottom in libspudec CVS patchset: 6791 CVS date: 2004/07/14 01:18:47
2004-06-26remove statement with no effect (state->cmd_ptr is already set to next_seq)Michael Roitzsch
CVS patchset: 6747 CVS date: 2004/06/26 13:49:54
2004-04-10disable debugging printfMichael Roitzsch
CVS patchset: 6384 CVS date: 2004/04/10 17:17:06
2004-04-09porting the rudimentary NAV timestamp handling from DXR3 SPU decoder makesMichael Roitzsch
the menu of "24" season 1 work correctly with software decoding; thanks to Bob "GnomeKing" for doing all the testing CVS patchset: 6362 CVS date: 2004/04/09 15:01:29
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-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-12better use saturation to convert an illegal button number to a legal oneMichael Roitzsch
CVS patchset: 5724 CVS date: 2003/11/12 17:52:59
2003-11-09if we are trying to activate a menu with an invalid button,Michael Roitzsch
fall back to button 1 CVS patchset: 5716 CVS date: 2003/11/09 21:49:36
2003-10-12thank god noone defined LOG_BUTTONMichael Roitzsch
CVS patchset: 5491 CVS date: 2003/10/12 18:51:59
2003-08-15- rename to overlay_managerMichael Roitzsch
- fix gcc3.3 warnings - try to set overlay event's object type properly CVS patchset: 5289 CVS date: 2003/08/15 14:36:55
2003-08-05not really needed, but as I implemented button groups in dxr3, why not doingMichael Roitzsch
it the right way in libspudec as well? CVS patchset: 5249 CVS date: 2003/08/05 15:08:40
2003-05-03as announced on xine-devel:Michael Roitzsch
* I change the SPU decoder API to make it look less DVD specific * adapt all related files * increase SPU decoder API version * include DVDNAV_CFLAGS locally where needed CVS patchset: 4755 CVS date: 2003/05/03 14:24:06
2003-05-02there seem to be broken vobs out there. please do not abort.Miguel Freitas
CVS patchset: 4752 CVS date: 2003/05/02 15:54:33
2003-04-30* when NOT using a standalone libdvdnav, we do NOT have to link the wholeMichael Roitzsch
libdvdnav into the spu decoder plugin statically, only nav_read.c is needed (read: revert to old linking behaviour for included libdvdnav) * beautification CVS patchset: 4724 CVS date: 2003/04/30 16:49:33
2003-04-29Update from the libdvdnav project.James Courtier-Dutton
CVS patchset: 4708 CVS date: 2003/04/29 15:58:27
2003-03-08first step towards fixing the DVD menu highlighting problemsMichael Roitzsch
The problem arises because of inconsistent usage of libdvdread's functions regarding NAV packet reading: libspudec and the dxr3 spu decoder use some of these functions, but they used to have private copies of the relevant files of libdvdread. These do not work any more now, since the internal layout of NAV packets in libdvdread changed lately. So we should always use the functions from current libdvdread. Please note that highlights might not work yet. The next step will be to sync libdvdnav. Stay tuned. CVS patchset: 4371 CVS date: 2003/03/08 14:11:52
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-20Michael's num_buttons patchSiggi Langauf
(menu detection by number of SPU buttons) CVS patchset: 4220 CVS date: 2003/02/20 18:09:09
2003-02-12malloc.h is deprecated on FreeBSD and apparently unneeded on gnu/linuxHeiko Schaefer
CVS patchset: 4139 CVS date: 2003/02/12 17:29:30
2002-12-26- cleanup internal interfaces for rewiringMiguel Freitas
- fix UI_PLAYBACK_FINISHED rifle CVS patchset: 3686 CVS date: 2002/12/26 21:53:41
2002-11-26* remove what appears to be debug code messing up colors for some SPUsMichael Roitzsch
(thanks to James Slorach for providing the fix) * implement a draft of a reset() function that will hopefully bring the spu decoder into a safe state * handle broken SPUs more gracefully CVS patchset: 3377 CVS date: 2002/11/26 16:05:00
2002-11-20the last patch moved the command parsing too far, forced_display is updatedMichael Roitzsch
inside spudec_do_commands, so it has to come before the check for it CVS patchset: 3317 CVS date: 2002/11/20 14:00:34
2002-11-20this should fix the various overlay problems: we should not parse commands ofMichael Roitzsch
SPUs we are going to drop because of wrong channel later, so move the parsing after the drop checking (and remove the birdcage hack) CVS patchset: 3315 CVS date: 2002/11/20 13:49:05
2002-11-19Added some test code in, to help us with highlight problems with some DVDs.James Courtier-Dutton
Specifically the BIRDCAGE. CVS patchset: 3304 CVS date: 2002/11/19 13:31:03
2002-11-19spu and overlay cleanups, mostly cosmeticMiguel Freitas
CVS patchset: 3298 CVS date: 2002/11/19 00:45:41
2002-11-18the new metronom discontinuity handling allows for some cleanupMichael Roitzsch
(some time guessing code should be obsolete now) just tested quickly, but DVD menus and SPUs seem to work fine CVS patchset: 3294 CVS date: 2002/11/18 13:42:50
2002-11-01Add stricter checking.James Courtier-Dutton
Try to remove SPU_WIPE bug. CVS patchset: 3122 CVS date: 2002/11/01 11:02:52
2002-10-26fix event sendingMichael Roitzsch
CVS patchset: 3021 CVS date: 2002/10/26 20:52:42
2002-10-21Enable DVD SPU subtitles.James Courtier-Dutton
CLUT and timing do not seem to be working well yet. CVS patchset: 2897 CVS date: 2002/10/21 12:10:58
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-18dxr3 worksMichael Roitzsch
CVS patchset: 2693 CVS date: 2002/09/18 15:42:56
2002-09-18Updating the DVD menu code to use better nav_pci information.James Courtier-Dutton
libspudec parses nav_pci info correctly. libdvdnav does not parse nav_pci info at all. CVS patchset: 2681 CVS date: 2002/09/18 04:20:09
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-09-01Improve a few debug print statements.James Courtier-Dutton
fix a wrong format statement. CVS patchset: 2577 CVS date: 2002/09/01 06:02:53
2002-07-20don't be too rude with bad dvds:Michael Roitzsch
don't abort on broken spu control sequences, skip them instead CVS patchset: 2328 CVS date: 2002/07/20 16:28:14
2002-07-19fix some menu highlights not disappearing on menu leaveMichael Roitzsch
CVS patchset: 2320 CVS date: 2002/07/19 17:16:39
2002-07-06whoops, spelling errorMichael Roitzsch
CVS patchset: 2222 CVS date: 2002/07/06 16:38:30
2002-07-06Button areas in the nav packets are in screen coordinated.Michael Roitzsch
Overlay clipping areas are in overlay coordinates. Therefore, up to now, the menu highlight positions were only correct, when the menu subpicture started at (0,0) on screen. Although this seems to be common, it is not necessarily true and I have dvds here, for which it is not. The fix is easy: Correctly convert the button areas to clipping areas by subtracting the subpictures display offset. CVS patchset: 2221 CVS date: 2002/07/06 16:36:43
2002-04-24Some more adjustments to make dvd menus work better.James Courtier-Dutton
CVS patchset: 1774 CVS date: 2002/04/24 20:26:06
2002-04-24Some further improvements to dvd menu buttons.James Courtier-Dutton
CVS patchset: 1773 CVS date: 2002/04/24 13:42:17