aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/PcmDither.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-03-17*: doxygen fixupsMax Kellermann1-3/+3
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-12-28pcm/Volume: improved ditheringMax Kellermann1-0/+12
Instead of just adding a rectangular random value before shifting back to the normal scale, use the existing PcmDither library.
2013-12-24pcm/Dither: add API documentationMax Kellermann1-0/+18
2013-12-24pcm/Dither: rename DitherShift() to DitherConvert()Max Kellermann1-4/+4
2013-12-22pcm/Dither: convert remaining methods to templatesMax Kellermann1-5/+12
Use the SampleTraits template and let the compiler generate a special case for S32 instead of reusing S24_P32.
2013-12-22pcm/Dither: generic sample dithering using templateMax Kellermann1-0/+3
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-0/+0
2013-01-31PcmDither: convert struct to a classMax Kellermann1-14/+13
2013-01-31pcm_*: convert to C++Max Kellermann1-3/+3
2011-10-10pcm_dither: pass an "end" pointer instead of a sample countMax Kellermann1-4/+2
This is easier and more efficient to loop on, because only two variables get modified (src and dest).
2011-01-29copyright year 2011Max Kellermann1-1/+1
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-03-02pcm_dither: added pcm_dither_32_to_16()Max Kellermann1-0/+5
For 32 bit dithering, reuse the 24 bit dithering code, but apply a 8 bit right shift first.
2009-03-02pcm_dither: renamed struct pcm_dither_24 to struct pcm_ditherMax Kellermann1-3/+3
There is nothing 24 bit specific in the pcm_dither_24 struct. Since we want to reuse the struct for 32 bit dithering, let's drop the "_24" suffix from the struct name.
2008-10-31added prefix to header macrosMax Kellermann1-2/+2
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
2008-10-23pcm_dither: added generic 24 to 16 bit ditheringMax Kellermann1-7/+16
Copied and adapted code from the mp3 decoder plugin. This library now replaces the old and low-quality function pcm_convert_24_to_16().
2008-10-14playlist: moved code to playlist_save.cMax Kellermann1-9/+8
playlist_print_song() and playlist_print_uri() handle charset conversion and (optional) music directory prefixing.
2008-10-08use the "bool" data type instead of "int"Max Kellermann1-1/+1
"bool" should be used in C99 programs for boolean values.
2008-08-26added flag "decoder.seeking"Max Kellermann1-0/+2
This flag is used internally; it is set by decoder_seek_where(), and indicates that the decoder plugin has begun the seek process. It is used for the case that the decoder plugin has to read data during the seek process. Before this patch, that was impossible, because decoder_read() would refuse to read data unless dc->command is NONE. This patch is kind of a dirty workaround, and needs to be redesigned later.
2008-08-26renamed InputPlugin to struct decoder_pluginMax Kellermann1-1/+1
"decoder plugin" is a better name than "input plugin", since the plugin does not actually do the input - InputStream does. Also don't use typedef, so we can forward-declare it if required.
2008-08-26moved convState to struct decoderMax Kellermann1-0/+3
Since we moved all PCM conversions to decoder_data(), the attribute convState isn't being used anymore by the OutputBuffer code. Move it to struct decoder.
2008-08-26added struct decoderMax Kellermann1-5/+7
The decoder struct should later be made opaque to the decoder plugin, because maintaining a stable struct ABI is quite difficult. The ABI should only consist of a small number of stable functions.
2008-04-12clean up CPP includesMax Kellermann1-2/+0
Try to only include headers which are really needed. We should particularly check all "headers including other headers". The long-term goal is to have a manageable, small API for plugins (decoders, output) without so many mpd internals cluttering the namespace. git-svn-id: https://svn.musicpd.org/mpd/trunk@7319 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-02-05fix -Wconst warningsMax Kellermann1-2/+2
[ew: cleaned up the dirty union hack a bit] Signed-off-by: Eric Wong <normalperson@yhbt.net> git-svn-id: https://svn.musicpd.org/mpd/trunk@7180 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-12-28Merge branches/ew r7104Eric Wong1-1/+1
thread-safety work in preparation for rewrite to use pthreads Expect no regressions against trunk (r7078), possibly minor performance improvements in update (due to fewer heap allocations), but increased stack usage. Applied the following patches: * maxpath_str for reentrancy (temporary fix, reverted) * path: start working on thread-safe variants of these methods * Re-entrancy work on path/character-set conversions * directory.c: exploreDirectory() use reentrant functions here * directory/update: more use of reentrant functions + cleanups * string_toupper: a strdup-less version of strDupToUpper * get_song_url: a static-variable-free version of getSongUrl() * Use reentrant/thread-safe get_song_url everywhere * replace rmp2amp with the reentrant version, rmp2amp_r * Get rid of the non-reentrant/non-thread-safe rpp2app, too. * buffer2array: assert strdup() returns a usable value in unit tests * replace utf8ToFsCharset and fsCharsetToUtf8 with thread-safe variants * fix storing playlists w/o absolute paths * parent_path(), a reentrant version of parentPath() * parentPath => parent_path for reentrancy and thread-safety * allow "make test" to automatically run embedded unit tests * remove convStrDup() and maxpath_str() * use MPD_PATH_MAX everywhere instead of MAXPATHLEN * path: get rid of appendSlash, pfx_path and just use pfx_dir * get_song_url: fix the ability to play songs in the top-level music_directory git-svn-id: https://svn.musicpd.org/mpd/trunk@7106 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-05The massive copyright updateAvuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-02-18Reverting all of my localization changes. It was a horribleJ. Alexander Treuman1-2/+0
implementation, and fixing it is a big enough job that I don't know when I'll get around to it. Probably best just starting from scratch anyhow. git-svn-id: https://svn.musicpd.org/mpd/trunk@5373 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-08Moving pathConvCharset to charConv.c so it can be reused for localization.J. Alexander Treuman1-0/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@5226 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20Add mpd-indent.shAvuton Olrich1-2/+2
Indent the entire tree, hopefully we can keep it indented. git-svn-id: https://svn.musicpd.org/mpd/trunk@4410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14Change shank's email addressJ. Alexander Treuman1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@4333 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-14[CLEANUP] Remove closeCharSetConversion from theAvuton Olrich1-2/+0
header, there's no need to export it. Static it. git-svn-id: https://svn.musicpd.org/mpd/trunk@4330 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-13Huge header update, update the copyright and addAvuton Olrich1-1/+1
the GPL header where necessary git-svn-id: https://svn.musicpd.org/mpd/trunk@4317 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-11-03remove vim &*(@Warren Dukes1-1/+0
git-svn-id: https://svn.musicpd.org/mpd/trunk@2500 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-17actually, scratch the last changeWarren Dukes1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@1524 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-06-17check in configure script if iconv() needs CONSTWarren Dukes1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@1523 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-04-14add vim shiznit to end of all source filesWarren Dukes1-0/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@750 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2004-03-18bunch of autotool cleanupsWarren Dukes1-0/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@271 09075e82-0dd4-0310-85a5-a0d7c8717e4f