Commit graph

159 commits

Author SHA1 Message Date
Jens Arnold
40919d7db2 iAudio M3: Optimised LCD driver, with more/better assembly code. Speedup is ~80% when boosted, ~15% when unboosted. Also implemented grey phase blitting. * Adapted the greyscale library, and the plugins using it. * Fixed a bug in greyscale scroll down for vertically packed pixels.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16809 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 23:21:36 +00:00
Jens Arnold
1f4bcc86da Revert accidental tree commit. /me needs a smaller enter key...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16805 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:57:23 +00:00
Jens Arnold
9a7978aeab Cabbiev2 gigabeat background: reduce WPS backdrop filesize by storing it as 24 bit BMP instead of unnecessary 32 bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16802 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 19:43:08 +00:00
Michael Sevakis
27cf677339 Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16791 a1c6a512-1295-4272-9138-f99709370657
2008-03-25 02:34:12 +00:00
Jens Arnold
68a21689ae Consistent naming scheme the various blit functions. * Removed lcd_blit_mono() for colour targets. Plugin API became incompatible, so sort, clean up & bump. * Implemented lcd_blit_mono() for M3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16775 a1c6a512-1295-4272-9138-f99709370657
2008-03-24 00:35:53 +00:00
Rob Purchase
554d7ed902 D2: Enable plugin building (using initial keymaps from FS#8708 by Andreas Mueller, with some tweaks).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16751 a1c6a512-1295-4272-9138-f99709370657
2008-03-22 22:03:34 +00:00
Jens Arnold
8493f5bcf6 Greyscale library: Preparations for a gamma measurement plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16492 a1c6a512-1295-4272-9138-f99709370657
2008-03-02 23:31:09 +00:00
Robert Kukla
d6c8b57b50 M:Robe 100: add button definition/bitmaps to plugins and enable compilation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16469 a1c6a512-1295-4272-9138-f99709370657
2008-03-01 22:55:09 +00:00
Michael Sevakis
f90cbcb652 mpegplayer: Use the core DSP to process audio. Removes the sample rate restriction on audio and any mpeg audio samplerate may be used. Use the global sound settings for audio output with the option to force any one of the processing stages off. All are forced off by default. I didn't personally care to fully duplicate the Sound Settings menu which would have been needed since using the core one would affect settings globally and exactly the same configuration probably isn't desired since the CPU load for video playback is much greater. Rebalance the threading to compensate with some expense to buffering speed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16194 a1c6a512-1295-4272-9138-f99709370657
2008-02-01 02:25:15 +00:00
Michael Sevakis
3f4fd4d6a0 Now that headphone plug pause/resume should be better behaved, support it in mpegplayer too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16179 a1c6a512-1295-4272-9138-f99709370657
2008-01-27 21:45:15 +00:00
Marcoen Hirschberg
762ec6ec33 fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16176 a1c6a512-1295-4272-9138-f99709370657
2008-01-27 00:46:31 +00:00
Marcoen Hirschberg
11298701dd add support for the gigabeat remote control in mpegplayer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16175 a1c6a512-1295-4272-9138-f99709370657
2008-01-27 00:18:29 +00:00
Michael Sevakis
9ef02a5fec mpegplayer: End of data would not be detected correctly if mpeg parser was in a sync state.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16174 a1c6a512-1295-4272-9138-f99709370657
2008-01-27 00:06:36 +00:00
Michael Sevakis
e4bb2bbb05 mpegplayer: make sure 'floating' videos are even-aligned on color displays or else clipping the image could have dead lines while the WVS is shown. Throw in a couple misc cleanups to vo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16172 a1c6a512-1295-4272-9138-f99709370657
2008-01-26 15:15:50 +00:00
Michael Sevakis
f8709ac7e2 H10 20GB: Assembly YUV blitting and dithering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16171 a1c6a512-1295-4272-9138-f99709370657
2008-01-26 14:24:09 +00:00
Michael Sevakis
93ddef33b6 mpegplayer: fix a small mistake in validating the start time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16095 a1c6a512-1295-4272-9138-f99709370657
2008-01-16 02:43:42 +00:00
Michael Sevakis
0ae0e1d271 libmpeg2: Change a couple style points for consistency and some spacing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16094 a1c6a512-1295-4272-9138-f99709370657
2008-01-16 01:43:31 +00:00
Michael Sevakis
0c7f2372d5 libmpeg2: Decode only Y on grayscale targets. The chroma skip code is probably less than optimal since it's basically the decoding code with minimum reading of the bitstream but it does the trick for now and gets some more FPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16093 a1c6a512-1295-4272-9138-f99709370657
2008-01-16 01:22:56 +00:00
Jens Arnold
f4f90c2283 Oops, looks like I overlooked a leftover from the old graylib...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16068 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 00:38:03 +00:00
Jens Arnold
a72499a125 Greyscale library: Plugins can now put the management structure in IRAM for higher update speed. Use this in doom, mpegplayer, and zxbox. Made the api pointer part of the struct.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16066 a1c6a512-1295-4272-9138-f99709370657
2008-01-13 00:11:43 +00:00
Michael Sevakis
29775f7bab mpegplayer: A) Replace 'Start Menu' option with 'Resume Settings' 1) Start menu - Always show the start menu 2) Start menu if not completed - show the start menu if playback was interrupted before finishing (equivalent to the previous 'Resume No/Yes' screen) 3) Resume automatically - Always resume immediately with no prompting 4) Play from beginning - Always play file from the beginning. B) Do everything possible at this time to ensure USB connection and power down preserve the resume time. C) Add Settings menu to start menu D) Small OSD erasure drawing tweak.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16061 a1c6a512-1295-4272-9138-f99709370657
2008-01-12 05:45:38 +00:00
Jens Arnold
753b65737f Greyscale mpegplayer: * Use uncached greyscale buffers on dual core targets, removing the need for special cache handling. * Make the OSD properly disappear when viewing a widescreen or small video.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16052 a1c6a512-1295-4272-9138-f99709370657
2008-01-11 00:46:09 +00:00
Michael Sevakis
ea5d196c7b Fully clone the gray_show(false) procedure without the forced lcd update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16048 a1c6a512-1295-4272-9138-f99709370657
2008-01-10 19:38:38 +00:00
Jonathan Gordon
81ba146706 Accept FS#8341 - rename BUTTON_SCROLL_UP/DOWN to FWD/BACK on the e200 to make it consistant with the ipods. apart from removing a bit of confusion, it fixes the wheel in pictureflow and possibly elsewhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16045 a1c6a512-1295-4272-9138-f99709370657
2008-01-10 08:08:31 +00:00
Michael Sevakis
75380fd27d mpegplayer on grayscale targets: use greylib to display all text and graphics with the video images.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16042 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 22:19:25 +00:00
Linus Nielsen Feltzing
741f5b24b3 Prevent idle poweroff in the MPEG player plugin. Also save the settings when receiving SYS_POWEROFF and SYS_USB_CONNECTED. Fixes FS#8439 and FS#8388.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16033 a1c6a512-1295-4272-9138-f99709370657
2008-01-09 14:26:19 +00:00
Michael Sevakis
2a8f39820b mpegplayer: Fix a bitflag value. Add some commenting to the WVS code to help readability.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16017 a1c6a512-1295-4272-9138-f99709370657
2008-01-07 17:27:08 +00:00
Michael Sevakis
0e98d7e315 mpegplayer: Misc seeking tweaks 1) Consolidate some code amongst functions. 2) Be sure times retured from stream_get_seek_time are never before the start of the movie 3) Stop PCM when clearing it so the current audio being sent to the audio device is also cleared.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16014 a1c6a512-1295-4272-9138-f99709370657
2008-01-07 14:58:23 +00:00
Jens Arnold
feb5b15e9b All-new greyscale library, replacing the old one. Features: (1) Drawing/updating is faster than the old grayscale lib at full depth. (2) Always 129 shades instead of 2..33 shades. (3) No graininess caused by frequent updates (mpegplayer, doom, ...). (4) Needs less memory than the old grayscale lib at full depth. * The tradeoff is slightly higher CPU load in the ISR (frames are calculated 'live') and an extra function in the core. * Ported all plugins which used the graylib to use the new one. * Some slight optimisations for archos and H1x0 LCD update.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15998 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 23:42:38 +00:00
Jens Arnold
d3586837fa Stop wasting binary size + ram for several plugins. Plugins are supposed to be linked with --gc-sections, in case they use plugin library elements.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15997 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 21:07:05 +00:00
Michael Sevakis
c898630279 mpegplayer seek tweak: Have video keep the time and duration of the last decoded frame up to date at all times. Make sure streams that have reported and EOS condition are placed back on active list when seeking which it seems is the cause of a video glitch where the initial frame may be presented after a seek but video playback wouldn't restart. Set logical seek time to video start in the parser after after initial load.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15995 a1c6a512-1295-4272-9138-f99709370657
2008-01-04 20:36:15 +00:00
Michael Sevakis
dff0deb48c Ok...really fix the red. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15993 a1c6a512-1295-4272-9138-f99709370657
2008-01-03 17:51:25 +00:00
Michael Sevakis
d9a895599e Fix some warnings/errors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15992 a1c6a512-1295-4272-9138-f99709370657
2008-01-03 17:30:50 +00:00
Michael Sevakis
a5fc3f4df4 Initial WVS for mpegplayer. Adjusts to the user's preferred font and uses FF/RW preferences set for playback. Picked a random color for the base WVS color but it could be configured. Some engine tweaks to accomodate it since certain nescessities are clearer now. Fix a clipped YUV output bug in the SIM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15991 a1c6a512-1295-4272-9138-f99709370657
2008-01-03 17:14:28 +00:00
Michael Sevakis
282c9d6e1b mpegplayer: Whoa. Left out a buffer wrap calculation when reading elementary streams.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15980 a1c6a512-1295-4272-9138-f99709370657
2007-12-30 00:19:43 +00:00
Michael Sevakis
3b1f61a1ff mpegplayer loose ends: Move gray_release to the exit routine where it should be. All gray handling is on CPU except frame rendering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15979 a1c6a512-1295-4272-9138-f99709370657
2007-12-29 22:12:10 +00:00
Michael Sevakis
b08409ee40 Fix some DEBUGF warnings for sims.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15978 a1c6a512-1295-4272-9138-f99709370657
2007-12-29 20:06:42 +00:00
Michael Sevakis
a222f27c4a mpegplayer: Make playback engine fully seekable and frame-accurate and split into logical parts. Be sure to have all current features work. Actual UI for seeking will be added soon. Recommended GOP size is about 15-30 frames depending on target or seeking can be slow with really long GOPs (nature of MPEG video). More refined encoding recommendations for a particular player should be posted soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15977 a1c6a512-1295-4272-9138-f99709370657
2007-12-29 19:46:35 +00:00
Michael Sevakis
2b5f979d75 Reformat and code police (tabs, trailing whitespace, annoying overuse of parentheses, etc.) in libmpeg2 so I can stomach working on it. Don't call IDCT functions through pointers - I don't feel like extracting that change just for relevance sake.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15892 a1c6a512-1295-4272-9138-f99709370657
2007-12-07 13:00:31 +00:00
Paul Louden
a14aface6b Okay. Really fix the red. It's a little ugly at this point, and clearly
I shouldn't be coding in whatever my mental state is. But the intent was 
not to remove the use of Select for pausing in Mpegplayer, for those who 
like it. The ugliness can be removed if we want to go back to a single 
pause button.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15736 a1c6a512-1295-4272-9138-f99709370657
2007-11-21 06:09:17 +00:00
Paul Louden
0ffe935d32 Fix my rampant making of mistakes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15735 a1c6a512-1295-4272-9138-f99709370657
2007-11-21 06:04:44 +00:00
Paul Louden
ad97b0437f Allow use of either A or Select to pause in mpegplayer. This means you
can pause it the same way you pause music, but I've not removed the old 
button since mpegplayer currently has plenty of buttons, and not many 
functions.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15734 a1c6a512-1295-4272-9138-f99709370657
2007-11-21 05:49:00 +00:00
Dave Chapman
d911481687 Remove unused x11 and win32 simulator rules
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15602 a1c6a512-1295-4272-9138-f99709370657
2007-11-12 20:45:22 +00:00
Jonathan Gordon
a256878e77 enable jpeg, mpegplayer and midiplay on the mr500 (only jpeg is actually usable though, mpegplayer data aborts)
fix the config which should have been done a few commits ago


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15296 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 07:44:56 +00:00
Michael Sevakis
7e12bba0d2 Phase in thread_wait when waiting for a thread to exit. Begin phasing out the spinlock object for general use; it will become a multicore-only object for core locking. Take care of plugins first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15260 a1c6a512-1295-4272-9138-f99709370657
2007-10-22 05:57:38 +00:00
Robert Kukla
d4f382252d FS#7997 - mpegplayer - enable/disable start menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15250 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 16:44:13 +00:00
Jens Arnold
c1051549b9 Implement YUV dithering for c200, and enable the option in mpegplayer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15246 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 13:46:26 +00:00
Jens Arnold
cc92a0db3d Really tiny tweak to the coldfire idct. * Comment fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15238 a1c6a512-1295-4272-9138-f99709370657
2007-10-21 07:42:32 +00:00
Steve Bavin
32a9575130 FS#7994 - Rename talk.c API, make talk_disable() affect all talking (not just menus), hopefully save some space.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15206 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 15:31:42 +00:00
Michael Sevakis
63c3f98a98 Code police strike. Every line was padded with trailing space. Trim it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15197 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 03:06:24 +00:00