Credit Andrea/Andrew - allow for out-of-range values for HDR video; so no clipping...
authorGood Guy <[email protected]>
Fri, 29 Dec 2023 22:50:43 +0000 (15:50 -0700)
committerGood Guy <[email protected]>
Fri, 29 Dec 2023 22:50:43 +0000 (15:50 -0700)
cinelerra-5.1/cinelerra/overlayframe.h
cinelerra-5.1/ffmpeg/video/av1_vaapi.webm
cinelerra-5.1/plugins/color3way/color3way.C
cinelerra-5.1/plugins/histogram/histogram.C

index 13c2e4bd0b26b0b5994eea343e02bdd8a4c074be..4775e8df0004c9f5c2c529c37b779b3b31a7be0a 100644 (file)
@@ -32,6 +32,7 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include <float.h>
 
 #define DIRECT_COPY 0
 #define BILINEAR 1
@@ -237,7 +238,7 @@ static inline int64_t aclip(int64_t v, int mx) {
        return v < 0 ? 0 : v > mx ? mx : v;
 }
 static inline float   aclip(float v, float mx) {
-       return v < 0 ? 0 : v > mx ? mx : v;
+       return v < -FLT_MAX+1 ? -FLT_MAX : v > FLT_MAX-1 ? FLT_MAX : v;
 }
 static inline float   aclip(float v, int mx) {
        return v < 0 ? 0 : v > mx ? mx : v;
index cc80552f9510207a7c273db87c261ab5aaeb4633..b274e78375e28e94abd07cac0744601f3f24ced6 100644 (file)
@@ -1,8 +1,4 @@
 webm av1_vaapi
-# Nvidia 4000+ series (better nvenc/vdpau)
-# AMD Radeon 7000+ series
-# Intel Xe2, Arc+ series
-cin_hw_dev=vaapi
-g=30
-# profile=high #(main, professional)
+g=300
+#profile=
 rc_mode=QVBR
index 7685257b9c21d3e318b8b4a4bbd3f0f8a3c9c7aa..417b74510987e6bae051f892ce466e0f2e0df2c2 100644 (file)
@@ -278,10 +278,10 @@ void Color3WayUnit::process_package(LoadPackage *package)
                                PROCESS(unsigned char, 0xff, 4, 1)
                                break;
                        case BC_RGB_FLOAT:
-                               PROCESS(float, 1.0, 3, 0)
+                               PROCESS(float, 100.0, 3, 0)
                                break;
                        case BC_RGBA_FLOAT:
-                               PROCESS(float, 1.0, 4, 0)
+                               PROCESS(float, 100.0, 4, 0)
                                break;
                }
        }
index c78c3c7c44eb3b44c547de8f81059dd7f4ba7b68..4b55f429aaa63a2cb1ae9b78cb7068153c7f8dba 100644 (file)
@@ -234,7 +234,7 @@ float HistogramMain::calculate_level(float input, int mode, int use_value)
 
        if( !EQUIV(config.gamma[mode], 0) ) {
                output = pow(output, 1.0 / config.gamma[mode]);
-               CLAMP(output, 0, 1.0);
+               CLAMP(output, 0, 100.0);
        }
 
 // Apply value curve