summaryrefslogtreecommitdiff
path: root/xBRZ/src/xbrz.h
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2021-03-03 01:18:05 +0000
committerB Stack <bgstack15@gmail.com>2021-03-03 01:18:05 +0000
commit320f1ae680d73da35a0cfe4846eb687d8616bcac (patch)
tree6fb17404841b30822a2d9204e3e0932e55f05ebb /xBRZ/src/xbrz.h
parentMerge branch '11.6' into 'master' (diff)
parentadd upstream 11.7 (diff)
downloadFreeFileSync-320f1ae680d73da35a0cfe4846eb687d8616bcac.tar.gz
FreeFileSync-320f1ae680d73da35a0cfe4846eb687d8616bcac.tar.bz2
FreeFileSync-320f1ae680d73da35a0cfe4846eb687d8616bcac.zip
Merge branch '11.7' into 'master'11.7
add upstream 11.7 See merge request opensource-tracking/FreeFileSync!31
Diffstat (limited to 'xBRZ/src/xbrz.h')
-rw-r--r--xBRZ/src/xbrz.h33
1 files changed, 16 insertions, 17 deletions
diff --git a/xBRZ/src/xbrz.h b/xBRZ/src/xbrz.h
index c0778cf1..b3a496ba 100644
--- a/xBRZ/src/xbrz.h
+++ b/xBRZ/src/xbrz.h
@@ -26,26 +26,24 @@
namespace xbrz
{
-/*
--------------------------------------------------------------------------
-| xBRZ: "Scale by rules" - high quality image upscaling filter by Zenju |
--------------------------------------------------------------------------
-using a modified approach of xBR:
-http://board.byuu.org/viewtopic.php?f=10&t=2248
-- new rule set preserving small image features
-- highly optimized for performance
-- support alpha channel
-- support multithreading
-- support 64-bit architectures
-- support processing image slices
-- support scaling up to 6xBRZ
-*/
+/* -------------------------------------------------------------------------
+ | xBRZ: "Scale by rules" - high quality image upscaling filter by Zenju |
+ -------------------------------------------------------------------------
+ using a modified approach of xBR:
+ http://board.byuu.org/viewtopic.php?f=10&t=2248
+ - new rule set preserving small image features
+ - highly optimized for performance
+ - support alpha channel
+ - support multithreading
+ - support 64-bit architectures
+ - support processing image slices
+ - support scaling up to 6xBRZ */
enum class ColorFormat //from high bits -> low bits, 8 bit per channel
{
- RGB, //8 bit for each red, green, blue, upper 8 bits unused
- ARGB, //including alpha channel, BGRA byte order on little-endian machines
- ARGB_UNBUFFERED, //like ARGB, but without the one-time buffer creation overhead (ca. 100 - 300 ms) at the expense of a slightly slower scaling time
+ rgb, //8 bit for each red, green, blue, upper 8 bits unused
+ argb, //including alpha channel, BGRA byte order on little-endian machines
+ argbUnbuffered, //like ARGB, but without the one-time buffer creation overhead (ca. 100 - 300 ms) at the expense of a slightly slower scaling time
};
const int SCALE_FACTOR_MAX = 6;
@@ -66,6 +64,7 @@ void scale(size_t factor, //valid range: 2 - SCALE_FACTOR_MAX
const ScalerCfg& cfg = ScalerCfg(),
int yFirst = 0, int yLast = std::numeric_limits<int>::max()); //slice of source image
+//BGRA byte order
void bilinearScale(const uint32_t* src, int srcWidth, int srcHeight,
/**/ uint32_t* trg, int trgWidth, int trgHeight);
bgstack15