summaryrefslogtreecommitdiff
path: root/src/lib/image.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/image.cc')
-rw-r--r--src/lib/image.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/image.cc b/src/lib/image.cc
index 46c085ff2..47d98ee9c 100644
--- a/src/lib/image.cc
+++ b/src/lib/image.cc
@@ -140,6 +140,21 @@ Image::crop_scale_window (
DCPOMATIC_ASSERT (out_size.width >= inter_size.width);
DCPOMATIC_ASSERT (out_size.height >= inter_size.height);
+ if (pixel_format() == AV_PIX_FMT_GBRP10LE) {
+ cout << "oh shit!\n";
+ for (int c = 0; c < 3; ++c) {
+ uint16_t* p = (uint16_t *) data()[c];
+ for (int y = 0; y < size().height; ++y) {
+ uint16_t* q = p;
+ for (int x = 0; x < size().width; ++x) {
+ *q = int16_t((*q - 64) * (1024.0 / (940 - 64)));
+ q++;
+ }
+ p += stride()[c] / 2;
+ }
+ }
+ }
+
/* Here's an image of out_size. Below we may write to it starting at an offset so we get some padding.
Hence we want to write in the following pattern: