Commit graph

41 commits

Author SHA1 Message Date
Dave Chapman
704b793787 Improved (I hope) A/V sync. mpegplayer now takes account of the difference in the initial audio and video PTS values, and constantly adjusts the av delay to compensate for drift between the audio PTS and the actual duration of the played audio.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12930 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 19:37:48 +00:00
Dave Chapman
5e2984ad80 Fix warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12914 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 01:43:10 +00:00
Dave Chapman
a56757137c mpegplayer for grayscale targets. Note that performance is slow...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12913 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 01:32:31 +00:00
Dave Chapman
465820da22 Initial attempt at rebuffering
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12911 a1c6a512-1295-4272-9138-f99709370657
2007-03-25 18:05:14 +00:00
Dave Chapman
8b40769554 Clamp output when converting from libmad's s3.28 format to 16-bit integers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12894 a1c6a512-1295-4272-9138-f99709370657
2007-03-22 22:47:04 +00:00
Dave Chapman
8310848421 Some small mpegplayer improvements/bug-fixes, and improved A/V sync. Audio is used as the master clock and video is synced to the number of samples played. This doesn't take account of any PTS difference at the start of the stream. Also enable Limit FPS and Skip Frames by default - these options need to be enabled for A/V sync to work. Adds pcm_get_bytes_waiting() to the plugin API
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12884 a1c6a512-1295-4272-9138-f99709370657
2007-03-22 09:18:46 +00:00
Dave Chapman
f1bf798b8a Volume control for mpegplayer - based on FS #6814 by Jacob Gardner and Pascal Briehl, modified by me (blame me for any problems). Mapped to the same buttons that are used to control volume in the WPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12834 a1c6a512-1295-4272-9138-f99709370657
2007-03-18 17:04:44 +00:00
Jens Arnold
f68362ad6f Fix simulator builds, and some debugf() format strings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12817 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 09:54:28 +00:00
Jens Arnold
85a226d4e7 Rename some macros to account for the recently added M5 port. No code changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12809 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 23:02:39 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Daniel Ankers
82f9056988 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Jens Arnold
3a37f46fc9 Fix CONFIG_BACKLIGHT warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12393 a1c6a512-1295-4272-9138-f99709370657
2007-02-18 10:07:27 +00:00
Jens Arnold
e393b8e359 Replaced some explicit options for target linking with to be consistent with the sims.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12318 a1c6a512-1295-4272-9138-f99709370657
2007-02-15 20:28:08 +00:00
Dave Chapman
5395246004 Fix audio for Coldfire targets - the EMAC was being initialised in the main thread, not the audio thread. Also fix some comments and kill the video thread if the audio thread can not be created.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11883 a1c6a512-1295-4272-9138-f99709370657
2007-01-02 13:36:17 +00:00
Dave Chapman
4b801b2d3a Initial implementation of audio support (44.1KHz only, mp2 or mp3, mono/stereo, any bitrate) and .mpg file (MPEG program stream) parsing for mpegplayer - .m2v files are no longer supported. .mpg parser based on patch #6366 from Mathieu Favreaux. Currently limited to only playing files smaller than the available buffer RAM (it will play longer files, but never refills the buffer when it runs empty). There is also no a/v sync implemented, and still no seeking support. Coldfire (iriver H3x0 and iaudio X5) users can use the optimisations provided in patch #5995 to increase the framerate, and PortalPlayer (ipods and iriver H10) users will want to use kernel_on_cop_6.diff from FS#5755 which enables mpegplayer to run the video thread on the second CPU core - video on the second core with audio on the first core runs at the same speed as the old mpegplayer did with no audio.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11877 a1c6a512-1295-4272-9138-f99709370657
2007-01-01 12:59:32 +00:00
Marcoen Hirschberg
6d6eb0816a fix for the inline asm in CLIP on the gigabeat by Steve Gotthard (fs#6488). Turns out that gcc rearranged the ASM block without volatile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11873 a1c6a512-1295-4272-9138-f99709370657
2006-12-31 08:56:59 +00:00
Marcoen Hirschberg
d09efac0f2 assume the YUV code rotates on portrait screens
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11864 a1c6a512-1295-4272-9138-f99709370657
2006-12-30 10:44:00 +00:00
Marcoen Hirschberg
d3f50ed396 add a workaround for gigabeat crashes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11863 a1c6a512-1295-4272-9138-f99709370657
2006-12-30 10:43:50 +00:00
Tomasz Malesinski
80da8b141c FS#6357, patch 1: let iramcopy and bss share the same space in codecs and
plugins. Currently, in case of plugins using IRAM bss is cleared twice,
once in the loader, once in PLUGIN_IRAM_INIT. For codecs, bss is cleared only
during codec initialization. Also, removed double variables in codecs
storing a pointer to codec_api.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11606 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 18:31:41 +00:00
Michael Sevakis
acc29d95be SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines two macros for declaring and initializing IRAM. Plugins should use these instead. See mp3_encoder, doom, etc. for details. Further tweaks in buffer restoration after other use. Hiding of some interfaces that should only be used by buffer management.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11544 a1c6a512-1295-4272-9138-f99709370657
2006-11-18 02:18:29 +00:00
Karl Kurbjun
cd73d8bf02 one more for the backdrop stuff
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11527 a1c6a512-1295-4272-9138-f99709370657
2006-11-15 06:18:51 +00:00
Jens Arnold
a796260a6b Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11369 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 21:48:06 +00:00
Barry Wardell
24f4a2a8cf Allow the Sansa e200 UI simulator to be built. Thanks to Andre Smith for the nice image of the Sansa. Lots more to be done including testing and tweaking the keymaps and modifying the plugins for the Sansa's 176x220 LCD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11351 a1c6a512-1295-4272-9138-f99709370657
2006-10-26 13:38:09 +00:00
Jens Arnold
d1ce4e779e Consistent style of 'make' messages. Always use ranlib after ar.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11322 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 22:33:39 +00:00
Jens Arnold
0cc8b7113c Speed up build process in general by using internal functions of make instead of spawning sub-shells where possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11307 a1c6a512-1295-4272-9138-f99709370657
2006-10-22 00:21:57 +00:00
Barry Wardell
ce74dc0743 Cleaner implementation of the recent OSX simulator build fix. No need to define SHARED_FLAG in each Makefile. Just have configure create it in the root Makefile instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11095 a1c6a512-1295-4272-9138-f99709370657
2006-09-29 20:04:36 +00:00
Barry Wardell
64f949f295 Allow UI simulator to be build on OS (Slightly updated version of FS5767)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11094 a1c6a512-1295-4272-9138-f99709370657
2006-09-29 16:15:11 +00:00
Dave Chapman
c8e69dfb71 Move FPS display out of video_out_rockbox.c and into mpegplayer.c. Also add frame-rate limiting and frame-skipping (skipping display only, not decoding) to try and achieve real-time playback. Frame-rate limiting and frame skipping (and FPS display) are enabled via options in a new menu and are currently all off by default.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10669 a1c6a512-1295-4272-9138-f99709370657
2006-08-20 23:12:56 +00:00
Dave Chapman
567cb6e615 Clean up the video output code - remove the final traces of libvo (used by mpeg2dec) and remove unused code-paths from the main decoding loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10638 a1c6a512-1295-4272-9138-f99709370657
2006-08-17 18:35:11 +00:00
Dave Chapman
214ce3f096 Allow exiting of plugin whilst paused
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10621 a1c6a512-1295-4272-9138-f99709370657
2006-08-16 21:19:20 +00:00
Dave Chapman
7fe7427de8 Clean up the #ifdefs surrounding the definition of lcd_yuv_blit() and add an initial (untested) implementation for the Gigabeat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10541 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 09:27:26 +00:00
Rani Hod
bcd94a9b01 Accepted FS #5786 by Michael Sevakis - lcd_yuv_blit() for X5.
hard coded to YUV4:2:0 for now, gives ~13.5 fps.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10528 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 14:10:34 +00:00
Hristo Kovachev
9dc0e62229 Patch #5731 by Barry Wardell: more iriver h10 work. Thanks!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10521 a1c6a512-1295-4272-9138-f99709370657
2006-08-11 08:35:27 +00:00
Marcoen Hirschberg
91022738ee fix button mappings for the gigabeat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10502 a1c6a512-1295-4272-9138-f99709370657
2006-08-09 13:25:43 +00:00
Dave Chapman
8d642c302d Add STOP and PAUSE features (mapped to OFF/ON on iriver H300, MENU/PLAY on ipods and POWER/PLAY on X5) - patch by Jonathan Gordon. Also adapt the buffering to different available memory sizes - we allow libmpeg2 itself 2MB for buffers, and the rest is used to buffer the compressed video data. Note that using PAUSE will break the FPS display - this will be fixed later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10497 a1c6a512-1295-4272-9138-f99709370657
2006-08-09 10:47:22 +00:00
Jens Arnold
b888fb2531 Do the clipping with inline asm instead of a huge lookup table. Tiny speedup, and saves ~7.5KB of IRAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10493 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 22:56:35 +00:00
Dave Chapman
13b23fbcdb Implementation of lcd_yuv_blit() for the ipod 5g.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10487 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 21:28:08 +00:00
Jens Arnold
c4c56a3da7 mpegplayer FPS display: * Don't count the first frame if we don't know the decode time it took. * Display every 2 seconds independent of actual fps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10486 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 21:06:01 +00:00
Jens Arnold
b09ba217cc Fix corrupted videos on target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10485 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 18:24:01 +00:00
Jens Arnold
c5a309afbd H300: * Implemented lcd_yuv_blit(). Speeds up video playback by about 7%. No bounds check in lcd_yuv_blit() (by convention), implementations for other targets should be adapted. * Fixed off-by-one bug in lcd_update_rect()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10484 a1c6a512-1295-4272-9138-f99709370657
2006-08-08 13:44:43 +00:00
Dave Chapman
c9d66562af Initial commit of work-in-progress MPEG video player plugin based on libmpeg2. Works on all targets with colour LCDs, but most optimised for the ipod Color/Photo and Nano. It currently only plays raw MPEG-1 or MPEG-2 video streams (no audio). Also adds a new lcd_yuv_blit() function to the plugin API - currently only implemented for the ipod Color/Photo and Nano.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10479 a1c6a512-1295-4272-9138-f99709370657
2006-08-07 22:11:07 +00:00