AgeCommit message (Collapse)AuthorFilesLines
2014-01-03atj213x: obtain PC value in more elegant wayMarcin Bukat1-7/+6
Change-Id: I2e6ffb3b58ddda0ea62ce5d4cd71ac5475b34495
2014-01-02creativezenv: change target_id & MODEL_NUMBER.Andrew Ryabinin2-2/+2
85 is already used by HIFI E.T. MA8C. Change-Id: I7f30d6b1acbebd6152d11fa46ec87d95e6a809e7 Reviewed-on: Reviewed-by: Purling Nayuki <> Reviewed-by: Amaury Pouly <>
2013-12-30Fix build errorJonathan Gordon1-0/+2
Change-Id: I32e06cc41c70e225622c87539feaca5f92131065
2013-12-29skin_engine: unload skin backdrops when the skins are resetJonathan Gordon1-0/+2
Hopefully this will fix various skin related bugs which happen on usb plug/unplug! Change-Id: Ie1d8378fca38dae02e42ed02a68bdb3663651b4d
2013-12-24regtools/qeditor: always open a register tab at initAmaury Pouly1-0/+2
Change-Id: I47a1413ca648c7166571e6b0ba88c7ebb5ce86a8
2013-12-24hwstub: update zenxfistyle codeAmaury Pouly1-12/+8
Change-Id: I7e85101eca7dfc0f68c215936be4aa19749923ad
2013-12-24hwstub: use delay in zenxfistyle codeAmaury Pouly1-7/+7
Change-Id: Ia9576162b3b28d3778fe479cc321c879d73247c6
2013-12-24hwstub: fix lcdif pin setup for 18-bit busAmaury Pouly1-1/+8
Change-Id: I30a2cedb1170abbee5a80c33206c147eb4207ca5
2013-12-24hwstub: add delay functionAmaury Pouly2-0/+21
Change-Id: Iab208ed59a9a2540a64b190357411d3de28f288e
2013-12-24hwstub: add ZEN X-Fi Style code (preliminary)Amaury Pouly1-0/+187
Change-Id: I535d54bc3fb2263c174b7ae983ea4f5ed68e6390
2013-12-24imxtools/scsitools: tool can now write a firmware using SCSIAmaury Pouly1-1/+162
Change-Id: Iac803d4b2d48319a1a32d1101f5041d20174c7a1
2013-12-24hwstub: fix lcdif code for 18-bit word lengthAmaury Pouly1-0/+5
Change-Id: I38cf0b5808443d5c19ebddb329c2a1636bcc4b28
2013-12-24zenxfi2: remove unused functionAmaury Pouly1-5/+0
Change-Id: I98acfc9394ac83a45985364fdfad85af2f7d1773
2013-12-24recording: Fix sloppy return value check. This caused an OOM panic.Thomas Martitz1-1/+1
Change-Id: I30bbc5623d81ad7cbbee52a439fb5909af2761b7
2013-12-24hwcodec: core_alloc_maximum() returned 0 bytes if talk.c controls the audio ↵Thomas Martitz1-0/+6
buffer. On hwcodec talk.c has the entire audio buffer (not just parts of it), therefore it must give up everything and cannot count on core_alloc_maximum() to return the remaining space. This is equivalent to it was handled before 22e802e. You could probaby do smarter and shrink for example the .talk clip buffer but is it really worth it? Change-Id: Idc3431c59fb41b05338559c615093358c5d8ed9b
2013-12-23lcd: Fix scrolling.Thomas Martitz1-4/+3
Change-Id: I1f8d3d67b224c1c531438b94e3aab640b76770be
2013-12-23Proposed fix for FS#12878: Zero-length embedded album art prevents mp3 playbackJack Whitham1-1/+2
see Change-Id: Ib4233c06e18d1d193dfb9e73e745ca5d174e40b2 Reviewed-on: Reviewed-by: Michael Giacomelli <> Reviewed-by: Thomas Martitz <>
2013-12-23Fix more reds.Thomas Martitz1-1/+1
Change-Id: I13e9a0398efe0dab222f2a9c4f5d9295570e4dfd
2013-12-23Fix yellow.Thomas Martitz1-0/+1
Change-Id: Ib46e4d0896de4227a508abf5806c00ec3d59db51
2013-12-23hwcodec: Need to grab audio buffer before recording.Thomas Martitz1-1/+13
This was missed in 22e802e because I didn't realize that hwcodec doesn't compile pcm_record.c. Change-Id: I48cd4c2beec0a3d01caf06f2a2ced98be22a3673
2013-12-23fix some reds.Thomas Martitz2-1/+4
Change-Id: Iecb1305dbd1519434e0f476d2199e728b96091f9
2013-12-23playback,talk: Share audiobuffer via core_alloc_maximum().Thomas Martitz15-581/+670
This fixes the radioart crash that was the result of buffering.c working on a freed buffer at the same time as buflib (radioart uses buffering.c for the images). With this change the buffer is owned by buflib exclusively so this cannot happen. As a result, audio_get_buffer() doesn't exist anymore. Callers should call core_alloc_maximum() directly. This buffer needs to be protected as usual against movement if necessary (previously it was not protected at all which cased the radioart crash), To get most of it they can adjust the willingness of the talk engine to give its buffer away (at the expense of disabling voice interface) with the new talk_buffer_set_policy() function. Change-Id: I52123012208d04967876a304451d634e2bef3a33
2013-12-22buflib: Add buflib_context_relocate().Thomas Martitz2-0/+41
This function relocates a buflib back buffer, updating pointers in struct buflib_context. It does not move any data by itself. The intended use-case is buflib-on-buflib, where a buflib back buffer is allocated with buflib and attempted to be moved. The move_callback() can call this and return BUFLIB_CB_OK on success. No move_callback() is called for the subordinate buflib buffer, therefore it must not contain non-movable allocations. The caller is generally responsible moving the data and all its implications. Change-Id: I869219f9cff786a172c9e917a5f34470073892e6
2013-12-22buflib: Try harder in buflib_alloc_maximum().Thomas Martitz2-4/+17
This function will now ask shrinkable allocations to give up all of their memory. With future support of playback.c this can be used as a safe replacement for audio_get_buffer(). Change-Id: I290a51d2c75254e66baf5698c41dc444dea6247a
2013-12-22Fix errors introduced by a62bd92.Thomas Martitz1-3/+4
Change-Id: I3f65ca5347d08e1b77196c73ccb3a0951f14c850
2013-12-22Fix warning and re-order code a bit.Thomas Martitz1-11/+8
Change-Id: I1d733b3d0bd17cc541218f9a2b7712712ad314dd
2013-12-22Support GIMP bmp files.Thomas Martitz2-44/+67
Change-Id: I7380ceeaf696b67e1641d24e7b932e3d74770932
2013-12-21Update changelog.Dominik Riebeling1-0/+2
Change-Id: I81491530d712fde8cc0912d4ede26ce1db55a6df
2013-12-21Fix recorderv2 manual.Dominik Riebeling1-1/+1
archosrecorderv2 uses the archosfmrecorder manual. Change-Id: I015272db750b2fc5054d8259b37f00e0698afbff
2013-12-17Fix cabbie WPS for black&white targets (m:robe 100)Szymon Dziok1-15/+47
Change-Id: I640893a5f1e248c86b5e928e85cce854b52ca364
2013-12-17Fix audio on m:robe 100.Szymon Dziok1-0/+1
Tested on different revisions and it works reliably. Change-Id: Ic710236247a17f516c8561429f2da5c9684341b9
2013-12-16Sync libopus to upstream release 1.1Nils Wallménius97-578/+977
Change-Id: I9fea7460fc33f60faff961b3389dd97b5191463c
2013-12-15DSP Compressor: Sidechain, Exponential Atk/RlsRyan Billing7-90/+322
This is an improvement to the current compressor which I have added to my own Sansa Fuze V2 build. I am submitting here in case others find it interesting. Features added to the existing compressor: Attack, Look-ahead, Sidechain Filtering. Exponential attack and release characteristic response. Benefits from adding missing features: Attack: Preserve perceived "brightness" of tone by letting onset transients come through at a higher level than the rest of the compressed program material. Look-ahead: With Attack comes clipping on the leading several cycles of a transient onset. With look-ahead function, this can be pre-emptively mitigated with a slower gain change (less distortion). Look-ahead limiting is implemented to prevent clipping while keeping gain change ramp to an interval near 3ms instead of instant attack. The existing compressor implementation distorts the leading edge of a transient by causing instant gain change, resulting in log() distortion. This sounds "woofy" to me. Exponential Attack/Release: eMore natural sounding. On attack, this is a true straight line of 10dB per attack interval. Release is a little different, however, sounds natural as an analog compressor. Sidechain Filtering: Mild high-pass filter reduces response to low frequency onsets. For example, a hard kick drum is less likely to make the whole of the program material appear to fade in and out. Combined with a moderate attack time, such a transient will ride through with minimal audible artifact. Overall these changes make dynamic music sound more "open", more natural. The goal of a compressor is to make dyanamic music sound louder without necessarily sounding as though it has been compressed. I believe these changes come closer to this goal. Enjoy. If not, I am enjoying it Change-Id: I664eace546c364b815b4dc9ed4a72849231a0eb2 Reviewed-on: Tested: Purling Nayuki <> Reviewed-by: Michael Giacomelli <>
2013-12-16Introduce IHIFI760/960 targets.Andrew Ryabinin18-2/+1212
Change-Id: Ie36e48742c0ed9aa3fd6f49aa034a11d2492327c
2013-12-16rk27xx: Fix ifdef for DEBUG_CANCEL button.Andrew Ryabinin1-1/+1
Change-Id: Iebbe518dcaf5c9e1573309b3fee17b52998d941c
2013-12-15Fix more reds.Thomas Martitz3-2/+3
Change-Id: Ie62386a8f3e9986381f96eb83abb69bfc42b42e1
2013-12-15Fix reds. Also apply the new scrolling to lcd charcell (this even uncovered anThomas Martitz6-125/+81
error). Change-Id: I29243bb36b6cec1471bd6c0afc64e00547a68c50
2013-12-14Bump plugin api and sort.Thomas Martitz2-13/+6
Change-Id: I8b8ab58abbd40726326b8b47bd6bbb07580b5ce4
2013-12-14scroll_engine: Major rework to support pixel-based scrolling and scroll ↵Thomas Martitz7-154/+201
callbacks. Much of the scrolling work is moved from lcd-bitmap-common to lcd-scroll.c, a small scroll callback routine remains. This callback can potentially be overridden by more extensive scrollers. The callback also gets fed with pixel-based scrolling information, which finally removes the strict line-based nature of the scroll engine. Along with this is the change from scroll_stop_viewport_line() to scroll_stop_viewport_rect() which works on a pixel-based rectangle instead of lines. The ultimate goal is to move most of the scroll work to apps, which can much better decide which line decorations to apply etc. This work is laying the ground work. Change-Id: I3b2885cf7d8696ddd9253d5a9a73318d3d42831a
2013-12-14scroll_engine: Add STYLE_NONE to allow for drawing lines without styling.Thomas Martitz3-9/+13
This allows to draw lines without destroying styles that were drawn manually (e.g. from apps/) beforehand. Change-Id: I0de290c9343061efb115e1b76da5b76395c2b2af
2013-12-14scroll_engine: Split out common main and remote lcd functions.Thomas Martitz2-171/+137
Uses a similar technique as lcd_*.c files of #including a common .c file, so that a unified implementation can be reused for both displays. Change-Id: I21f6de76df757b093e1a1dff0a4caf96a44fe77e
2013-12-14scroll_engine: Rename scroll_stop* functions to be more consistent with the ↵Thomas Martitz34-87/+100
lcd api. Change-Id: I8ada10b96bfb628cca0331689e8b936ae47c7e1c
2013-12-14lcd-*: Merge common viewport operations into lcd-bitmap-common.cThomas Martitz6-224/+48
Change-Id: Ibec2d039ac0ba1214c9bd1b667bc8a9538a0d3d7
2013-12-13adfuload: add test programMarcin Bukat7-0/+3759
This test program. I add it mainly to document somehow my work: 1) atj213x.h lists registers addresses 2) crt0.S exploits self relocation of the binary 3) test_bl.c documents how to control backlight on e150 Change-Id: I055e0fe065d926a5c3805b73cea3f537cb64bf52
2013-12-13CREDITS: Add Albert Song for his FLAC embedded albumart patch.Thomas Martitz1-0/+1
Change-Id: Id99c6199b5d5c724aeb6230b25cd3705682b663d
2013-12-13Add support for flac embeded album art.Albert Song1-0/+50
Change-Id: I077768f7d80b57976f9a7278b640ef67cf4f2af2 Reviewed-on: Reviewed-by: Thomas Martitz <>
2013-12-13hwstub/stmp: disable watchdogAmaury Pouly1-0/+11
Some targets like Sony NWZ use a watchdog, so we must disable it to prevent spurious reboot when we take over Change-Id: I138a8d7f9a1b089acb2d08d7f6c4a58e8b088b3a
2013-12-13hwstub/stmp: cleanupAmaury Pouly1-4/+1
Conditional no longer needed since ctr0.S is private to target, also setup stack just before jumping to C code only Change-Id: I74116239be9e87bbe53e8fa814c45f04f242f1c1
2013-12-11adfuload: utility to upload and exec binary using brom adfu mode of atj213x SoCMarcin Bukat4-0/+591
Change-Id: If52aa34124be2801c2ac316641ff9aa0bbd837c6
2013-12-08Fix yellowAmaury Pouly1-0/+1
Change-Id: I60cd312c501f2f0fe0c12489c86c856eeb8e1aa8