-
Posts
8,131 -
Joined
-
Last visited
Reputation Activity
-
kye reacted to squink in I made a DCTL that brings Lightroom-style controls to Davinci Resolve
Hi! I just stumbled upon this thread and thought I'd share an OKLab conversion DCTL I wrote about a year ago. It;s written as a header file to be included in any other DCTL you may need it for. It supports conversion from ACES, Davinci Wide and Rec.709/sRGB.
OKLab_Transform.h:
#line 2 #ifndef ENCODING_ENUMS_DEFINED_IN_UI enum Encoding { gAcc, gAcct, gDWI, gLIN, g709, gSRGB }; #endif #ifndef COLORSPACE_ENUMS_DEFINED_IN_UI enum ColorSpace { cACES0, cACES1, cDWG, c709 }; #endif // ============================================================= // Util // ============================================================= // ============================================================= __DEVICE__ float powCf(float base, float exp) { return _copysignf(_powf(_fabs(base), exp), base); } __DEVICE__ float3 VecMatMul3x3(const float3 m[3], float3 v) { float3 r; r.x = m[0].x * v.x + m[0].y * v.y + m[0].z * v.z; r.y = m[1].x * v.x + m[1].y * v.y + m[1].z * v.z; r.z = m[2].x * v.x + m[2].y * v.y + m[2].z * v.z; return r; } // ============================================================= // Matrices // ============================================================= // ============================================================= // These matrices are the concatenated forms of (colorspace -> XYZ -> OKlms) // or, XYZToLMS @ ColorspaceToXYZ and, XYZToColorspace @ LMSToXYZ // original matrices are included as comments at the bottom of this script // ACES (AP0) // ============================== __CONSTANT__ float3 mat_ACES0_LMS[3] = { {0.90454662f, 0.26349909f, -0.15602258f }, {0.35107161f, 0.6766934f, -0.03056591f }, {0.13684644f, 0.19250255f, 0.62038067f } }; __CONSTANT__ float3 mat_LMS_ACES0[3] = { {1.2881401f, -0.58554348f, 0.29511118f }, {-0.67171287f, 1.76268516f, -0.08208556f }, {-0.0757131f, -0.41779486f, 1.57228749f } }; // ACES (AP1) // ============================== __CONSTANT__ float3 mat_ACES1_LMS[3] = { {0.64173446f, 0.35314498f, 0.0171437f }, {0.27463463f, 0.63099904f, 0.09156544f }, {0.10036508f, 0.18723743f, 0.66212716f } }; __CONSTANT__ float3 mat_LMS_ACES1[3] = { {2.04479741f, -1.17697875f, 0.10982058f }, {-0.88115384f, 2.15979229f, -0.27586256f }, {-0.06077576f, -0.43234352f, 1.57164623f } }; // ITU BT.709 // ============================== __CONSTANT__ float3 mat_709_LMS[3] = { { 0.4122214708f, 0.5363325363f, 0.0514459929f }, { 0.2119034982f, 0.6806995451f, 0.1073969566f }, { 0.0883024619f, 0.2817188376f, 0.6299787005f } }; __CONSTANT__ float3 mat_LMS_709[3] = { { 4.0767416621f, -3.3077115913f, 0.2309699292f }, { -1.2684380046f, 2.6097574011f, -0.3413193965f }, { -0.0041960863f, -0.7034186147f, 1.7076147010f } }; // Davinci Wide // ============================== __CONSTANT__ float3 mat_DWG_LMS[3] = { { 0.68570951f, 0.45574409f, -0.14156279f }, { 0.27427422f, 0.81179945f, -0.08604675f }, { 0.04351009f, 0.15072461f, 0.80624495f } }; __CONSTANT__ float3 mat_LMS_DWG[3] = { { 1.8836253f, -1.09713301f, 0.21364045f }, { -0.63460063f, 1.57752473f, 0.05693684f }, { 0.01698397f, -0.23570436f, 1.21814431f } }; // OKLab <-> Cone Response // ============================== __CONSTANT__ float3 mat_LMS_LAB[3] = { { 0.2104542553f, 0.7936177850f, -0.0040720468f }, { 1.9779984951f, -2.4285922050f, 0.4505937099f }, { 0.0259040371f, 0.7827717662f, -0.8086757660f } }; __CONSTANT__ float3 mat_LAB_LMS[3] = { { 1.0f, 0.3963377774f, 0.2158037573f }, { 1.0f, -0.1055613458f, -0.0638541728f }, { 1.0f, -0.0894841775f, -1.2914855480f } }; // ============================================================= // Transfer Functions // ============================================================= // ============================================================= // ACEScc // ============================== __DEVICE__ float ACEScc_DecodeBase(float v, float a, float b, float upperClampThreshold, float lowerDecodeThreshold, float two_m16) { float out = v; if (v >= upperClampThreshold) out = 65504.0f; else if (v < lowerDecodeThreshold) out = (_exp2f(v * b - a) - two_m16) * 2.0f; else out = _exp2f(v * b - a); return out; } __DEVICE__ float3 ACEScc_Decode(float3 in) { const float two_m16 = _exp2f(-16.0f); const float a = 9.72f; const float b = 17.52f; const float lowerDecodeThreshold = (a - 15.0f) / b; const float upperClampThreshold = (_log2f(65504.0f) + a) / b; float3 out = in; out.x = ACEScc_DecodeBase(out.x, a, b, upperClampThreshold, lowerDecodeThreshold, two_m16); out.y = ACEScc_DecodeBase(out.y, a, b, upperClampThreshold, lowerDecodeThreshold, two_m16); out.z = ACEScc_DecodeBase(out.z, a, b, upperClampThreshold, lowerDecodeThreshold, two_m16); return out; } __DEVICE__ float ACEScc_EncodeBase(float v, float a, float b, float negConstant, float two_m15, float two_m16) { float out; if (v < 0.0f) out = negConstant; else if (v < two_m15) out = (_log2f(two_m16 + v * 0.5f) + a) / b; else out = (_log2f(v) + a) / b; return out; } __DEVICE__ float3 ACEScc_Encode(float3 in) { const float two_m16 = _exp2f(-16.0f); const float two_m15 = _exp2f(-15.0f); const float a = 9.72f; const float b = 17.52f; const float negConstant = (_log2f(two_m16) + a) / b; float3 out = in; out.x = ACEScc_EncodeBase(out.x, a, b, negConstant, two_m15, two_m16); out.y = ACEScc_EncodeBase(out.y, a, b, negConstant, two_m15, two_m16); out.z = ACEScc_EncodeBase(out.z, a, b, negConstant, two_m15, two_m16); return out; } // ACEScct // ============================== __DEVICE__ float3 ACEScct_Encode(float3 in) { const float a = 9.72f; const float b = 17.52f; const float X_BRK = 0.0078125f; const float A = 10.5402377416545f; const float B = 0.0729055341958355f; float3 out; out.x = (in.x <= X_BRK) ? (A * in.x + B) : ((_log2f(in.x) + a) / b); out.y = (in.y <= X_BRK) ? (A * in.y + B) : ((_log2f(in.y) + a) / b); out.z = (in.z <= X_BRK) ? (A * in.z + B) : ((_log2f(in.z) + a) / b); return out; } __DEVICE__ float3 ACEScct_Decode(float3 in) { const float a = 9.72f; const float b = 17.52f; const float Y_BRK = 0.155251141552511f; const float A = 10.5402377416545f; const float B = 0.0729055341958355f; float3 out = in; out.x = (in.x > Y_BRK) ? _exp2f(in.x * b - a) : ((in.x - B) / A); out.y = (in.y > Y_BRK) ? _exp2f(in.y * b - a) : ((in.y - B) / A); out.z = (in.z > Y_BRK) ? _exp2f(in.z * b - a) : ((in.z - B) / A); return out; } // Davinci Intermediate // ============================== __DEVICE__ float3 DWI_Decode(float3 in) { float3 out = in; float a = 0.0075; float b = 7.0; float c = 0.07329248; float m = 10.44426855; float log_cut = 0.02740668; out.x = in.x > log_cut ? powCf(2.0f, (in.x / c) - b) - a : in.x / m; out.y = in.y > log_cut ? powCf(2.0f, (in.y / c) - b) - a : in.y / m; out.z = in.z > log_cut ? powCf(2.0f, (in.z / c) - b) - a : in.z / m; return out; } __DEVICE__ float3 DWI_Encode(float3 in) { float3 out = in; float a = 0.0075; float b = 7.0; float c = 0.07329248; float m = 10.44426855; float lin_cut = 0.00262409; out.x = in.x > lin_cut ? (_log2f(in.x + a) + b) * c : in.x * m; out.y = in.y > lin_cut ? (_log2f(in.y + a) + b) * c : in.y * m; out.z = in.z > lin_cut ? (_log2f(in.z + a) + b) * c : in.z * m; return out; } // ITU BT.709 // ============================== __DEVICE__ float3 BT709_Decode(float3 in) { float3 out = in; out.x = out.x < 0.081f ? out.x / 4.5f : powCf((out.x + 0.099f) / 1.099f, 1.0f / 0.45f); out.y = out.y < 0.081f ? out.y / 4.5f : powCf((out.y + 0.099f) / 1.099f, 1.0f / 0.45f); out.z = out.z < 0.081f ? out.z / 4.5f : powCf((out.z + 0.099f) / 1.099f, 1.0f / 0.45f); return out; } __DEVICE__ float3 BT709_Encode(float3 in) { float3 out = in; out.x = out.x < 0.018 ? out.x * 4.5f : 1.099f * powCf(out.x, 0.45f) - 0.099f; out.y = out.y < 0.018 ? out.y * 4.5f : 1.099f * powCf(out.y, 0.45f) - 0.099f; out.z = out.z < 0.018 ? out.z * 4.5f : 1.099f * powCf(out.z, 0.45f) - 0.099f; return out; } // sRGB // ============================== __DEVICE__ float3 sRGB_Decode(float3 in) { float3 out = in; out.x = out.x < 0.04045 ? out.x / 12.92f : powCf((out.x + 0.055f) / 1.055f, 2.4f); out.y = out.y < 0.04045 ? out.y / 12.92f : powCf((out.y + 0.055f) / 1.055f, 2.4f); out.z = out.z < 0.04045 ? out.z / 12.92f : powCf((out.z + 0.055f) / 1.055f, 2.4f); return out; } __DEVICE__ float3 sRGB_Encode(float3 in) { float3 out = in; out.x = out.x < 0.0031308 ? out.x * 12.92f : 1.055f * powCf(out.x, 1.0f / 2.4f) - 0.055f; out.y = out.y < 0.0031308 ? out.y * 12.92f : 1.055f * powCf(out.y, 1.0f / 2.4f) - 0.055f; out.z = out.z < 0.0031308 ? out.z * 12.92f : 1.055f * powCf(out.z, 1.0f / 2.4f) - 0.055f; return out; } // ============================================================= // Convert // ============================================================= // ============================================================= __DEVICE__ float3 Decode(float3 in, int tFunction) { float3 out = in; switch (tFunction) { case gAcc: out = ACEScc_Decode(in); break; case gAcct: out = ACEScct_Decode(in); break; case gDWI: out = DWI_Decode(in); break; case g709: out = BT709_Decode(in); break; case gSRGB: out = sRGB_Decode(in); break; } return out; } __DEVICE__ float3 Encode(float3 in, int tFunction) { float3 out = in; switch (tFunction) { case gAcc: out = ACEScc_Encode(in); break; case gAcct: out = ACEScct_Encode(in); break; case gDWI: out = DWI_Encode(in); break; case g709: out = BT709_Encode(in); break; case gSRGB: out = sRGB_Encode(in); break; } return out; } __DEVICE__ float3 OKLab_OKLCh(float3 lab) { float C = _hypotf(lab.y, lab.z); float h = _atan2f(lab.z, lab.y); return make_float3(lab.x, C, h); } __DEVICE__ float3 OKLCh_OKLab(float3 lch) { float a = lch.y * cosf(lch.z); float b = lch.y * sinf(lch.z); return make_float3(lch.x, a, b); } __DEVICE__ float3 RGB_OKLab(float3 rgb, int colorspace) { const float3* mat; switch (colorspace) { case cACES0: mat = mat_ACES0_LMS; break; case cACES1: mat = mat_ACES1_LMS; break; case cDWG: mat = mat_DWG_LMS; break; case c709: mat = mat_709_LMS; break; } float3 lms = VecMatMul3x3(mat, rgb); float3 lms_; lms_.x = cbrt(lms.x); lms_.y = cbrt(lms.y); lms_.z = cbrt(lms.z); return VecMatMul3x3(mat_LMS_LAB, lms_); } __DEVICE__ float3 OKLab_RGB(float3 lab, int colorspace) { const float3* mat; switch (colorspace) { case cACES0: mat = mat_LMS_ACES0; break; case cACES1: mat = mat_LMS_ACES1; break; case cDWG: mat = mat_LMS_DWG; break; case c709: mat = mat_LMS_709; break; } float3 lms = VecMatMul3x3(mat_LAB_LMS, lab); lms.x = powCf(lms.x, 3.0f); lms.y = powCf(lms.y, 3.0f); lms.z = powCf(lms.z, 3.0f); return VecMatMul3x3(mat, lms); } __DEVICE__ float3 RGB_OkLCh(float3 rgb, int colorspace) { float3 lab = RGB_OKLab(rgb, colorspace); return OKLab_OKLCh(lab); } __DEVICE__ float3 OKLCh_RGB(float3 lch, int colorspace) { float3 lab = OKLCh_OKLab(lch); return OKLab_RGB(lab, colorspace); } // ============================================================= // Ref Matrices // ============================================================= // ============================================================= // DWG -> XYZ // 0.70062239, 0.14877482, 0.10105872 // 0.27411851, 0.87363190, -0.14775041 // -0.09896291, -0.13789533, 1.32591599 // XYZ -> DWG // 1.51667204, -0.28147805, -0.14696363 // -0.46491710, 1.25142378, 0.17488461 // 0.06484905, 0.10913934, 0.76141462 // 709 -> XYZ // 0.4123908, 0.35758434, 0.18048079 // 0.21263901, 0.71516868, 0.07219232 // 0.01933082, 0.11919478, 0.95053215 // XYZ -> 709 // 3.24096994, -1.53738318, -0.49861076 // -0.96924364, 1.8759675, 0.04155506 // 0.05563008, -0.20397696 , 1.05697151 // XYZ -> LMS // 0.8189330101, 0.3618667424, -0.1288597137 // 0.0329845436, 0.9293118715, 0.0361456387 // 0.0482003018, 0.2643662691, 0.6338517070 // LMS -> XYZ // 1.22701385, -0.55779998, 0.28125615 // -0.04058018, 1.11225687, -0.07167668 // -0.07638128, -0.42148198, 1.58616322
Using it another DCTL looks something like this:
#line 2 #define ENCODING_ENUMS_DEFINED_IN_UI #define COLORSPACE_ENUMS_DEFINED_IN_UI #include "OKLab_Transforms.h" DEFINE_UI_PARAMS(p_InCSpace, Input Color Space, DCTLUI_COMBO_BOX, 2, {cACES0, cACES1, cDWG, c709}, {ACES (AP0), ACES (AP1), Davinci Wide Gamut, Rec.709 / sRGB / BT.1886}); DEFINE_UI_PARAMS(p_InGamma, Input Gamma, DCTLUI_COMBO_BOX, 2, {gAcc, gAcct, gDWI, gLIN, g709, gSRGB}, {ACEScc, ACEScct, Davinci Intermediate, Linear, Rec.709, sRGB}); __DEVICE__ float3 transform(int p_Width, int p_Height, int p_X, int p_Y, float p_R, float p_G, float p_B) { float3 in = make_float3(p_R, p_G, p_B); float3 out = in; // Convert to OKLCh: float3 linear = Decode(in, p_InGamma); float3 oklch = RGB_OkLCh(linear, p_InCSpace); // Convert back: linear = OKLCh_RGB(oklch, p_InCSpace); out = Encode(linear, p_InGamma); return out; }
-
kye reacted to Clark Nikolai in Panasonic on-camera mic released
This reminds me of using my old Sony camcorder with the 5.1 surround sound microphone. I would shoot with it, then in post be able to isolate each channel and choose which one to use and ignore the ones that were just location noise. Pretty handy without much effort when shooting.
This might be similar in that sense.
-
kye reacted to John Matthews in Panasonic on-camera mic released
Fair enough. I just wish they'd spent time and resources elsewhere. I want a small, up-to-date, Panasonic M43 camera, not an overly complex version of a on-camera mic. This seems like a great product for 2010. But what do I know, maybe this THE MIC, the one that everyone was waiting for. What I can tell you with 100% certainty, people are ready and willing to pay vast sums of money for old gear, only because it's small. What happened Panasonic? The whole miniaturization of components thing has been apparently disregarded.
-
kye got a reaction from ac6000cw in New travel film-making setup and pipeline - I feel like the tech has finally come of age
Getting prepped for my next trip and have further refined my setup.
This trip is a quick trip to China, but it's also a test case for a trip I'm taking later in the year to Europe where the packing approach will be minimalism. Unlike the way I like to travel in Asia, the Europe trip will involve changing accommodation every few days, so packing and unpacking and hauling bags around will be much more of a pain, so I'll try and travel really minimally.
As such, my approach for this trip is "when in doubt, don't take it" and see what I actually use.
So the setup for this trip is:
GH7 14-140mm F3.5-5.6 zoom, which I use during the day at F5.6 which means my 1-5 stop vND is enough 12-35mm F2.8 zoom, which is a great walk-around lens after dark Takumar 50mm F1.4 with M42-MFT Speedbooster (with bokeh insert) for "night cinema" iPhone 17 Pro setup (Neewer phone filter mount, K&F 1-9 stop vND, MagSafe Popsocket) The GH7 and zooms are self-explanatory, so here's the 50mm F1.4 setup.
I have played around with "inserts" and ended up with a pretty extreme design, so this is a test to see if the vertical edges are too strong a look for me.
It's made from the sticky part of the post-it note, and a layer of sticky tape over the top to keep it a bit more together. It sits between the speed booster and the lens, and I won't use the speed booster for any other lenses while travelling so this will stay in there and protected, so doesn't need to be that robust.
It's a strong look in some situations and quite "painterly" in others, so I'll be curious how it goes.
For my iPhone 17 Pro, it's a phone most of the time and a camera only as a backup, so I searched for a setup that would:
Protect my phone from drops (I dropped it on the last trip and the screen shattered, despite it being in an Apple case - the only one available at the time... sigh) Still be right-sized for getting in and out of pockets etc Have a vND solution for when I want to shoot and use 180 shutter I'll spare everyone from the rant about the options out there (everyone wants you to buy into their "ecosystem" now) so I ended up with the Otterbox Defender Series Pro case, which makes the iPhone feel even larger than it did in the Apple case (which doesn't seem possible but is true), but seems very robust.
The vND is the Neewer phone filter mount, which sort-of clips onto the phone (It's designed to screw onto and clamp the phone but you're clamping against the screen, so I wouldn't tighten it that much). It's designed for a naked iPhone, so I had to modify it (and the Otterbox case) slightly where it interfered with the Otterbox case to get it to sit a bit flatter. It still doesn't sit flush, but it goes on and seems to be fine. I haven't got around to actually taking it out to shoot with it, so that remains to be seen.
I paired it with the K&F 1-9 stop vND, which boasts 18 layers etc, but doesn't claim to be a "True Colour" one like the 1-5 stop ones do. It doesn't have hard stops and I think it still gives the X at the max amount, but I'll see how I go. Not having an aperture sure sucks considering you're not really losing having shallow DOF.
That is all combined with the MagSafe Popsocket as a safeguard. I've used the adhesive popsockets before and they're great for giving a much better grip on the phone, but I wasn't sure how strongly the MagSafe would be. The Otterbox claims to have magnets in it that strengthen the MagSafe connection, and this might be true. It feels quite sturdy actually, and I tested it to require 1.75kg of force to pull off, compared to the 1.45kg of force it took to pull it off my naked iPhone 12 mini. No idea what strength a naked iPhone 17 Pro MagSafe connection would have, but it's not terrible.
Lots of compromises involved, but it's really my backup camera, and the Otterbox case is very grippy, so I'll see how I go.
-
kye got a reaction from ac6000cw in Panasonic on-camera mic released
Come on John... everyone knows that anyone who wants better footage than a smartphone can provide is 100% totally fine with a camera the size of a microwave oven that looks like a Borg prototype!
Being slightly serious though, it's easy to criticise, but as someone who wants flexibility and better sound options, this is FAR better than the previous options, so it's a welcome addition in my eyes. The worst enemy of progress is criticising everything that isn't perfect in every conceivable way.
-
kye got a reaction from John Matthews in New travel film-making setup and pipeline - I feel like the tech has finally come of age
Getting prepped for my next trip and have further refined my setup.
This trip is a quick trip to China, but it's also a test case for a trip I'm taking later in the year to Europe where the packing approach will be minimalism. Unlike the way I like to travel in Asia, the Europe trip will involve changing accommodation every few days, so packing and unpacking and hauling bags around will be much more of a pain, so I'll try and travel really minimally.
As such, my approach for this trip is "when in doubt, don't take it" and see what I actually use.
So the setup for this trip is:
GH7 14-140mm F3.5-5.6 zoom, which I use during the day at F5.6 which means my 1-5 stop vND is enough 12-35mm F2.8 zoom, which is a great walk-around lens after dark Takumar 50mm F1.4 with M42-MFT Speedbooster (with bokeh insert) for "night cinema" iPhone 17 Pro setup (Neewer phone filter mount, K&F 1-9 stop vND, MagSafe Popsocket) The GH7 and zooms are self-explanatory, so here's the 50mm F1.4 setup.
I have played around with "inserts" and ended up with a pretty extreme design, so this is a test to see if the vertical edges are too strong a look for me.
It's made from the sticky part of the post-it note, and a layer of sticky tape over the top to keep it a bit more together. It sits between the speed booster and the lens, and I won't use the speed booster for any other lenses while travelling so this will stay in there and protected, so doesn't need to be that robust.
It's a strong look in some situations and quite "painterly" in others, so I'll be curious how it goes.
For my iPhone 17 Pro, it's a phone most of the time and a camera only as a backup, so I searched for a setup that would:
Protect my phone from drops (I dropped it on the last trip and the screen shattered, despite it being in an Apple case - the only one available at the time... sigh) Still be right-sized for getting in and out of pockets etc Have a vND solution for when I want to shoot and use 180 shutter I'll spare everyone from the rant about the options out there (everyone wants you to buy into their "ecosystem" now) so I ended up with the Otterbox Defender Series Pro case, which makes the iPhone feel even larger than it did in the Apple case (which doesn't seem possible but is true), but seems very robust.
The vND is the Neewer phone filter mount, which sort-of clips onto the phone (It's designed to screw onto and clamp the phone but you're clamping against the screen, so I wouldn't tighten it that much). It's designed for a naked iPhone, so I had to modify it (and the Otterbox case) slightly where it interfered with the Otterbox case to get it to sit a bit flatter. It still doesn't sit flush, but it goes on and seems to be fine. I haven't got around to actually taking it out to shoot with it, so that remains to be seen.
I paired it with the K&F 1-9 stop vND, which boasts 18 layers etc, but doesn't claim to be a "True Colour" one like the 1-5 stop ones do. It doesn't have hard stops and I think it still gives the X at the max amount, but I'll see how I go. Not having an aperture sure sucks considering you're not really losing having shallow DOF.
That is all combined with the MagSafe Popsocket as a safeguard. I've used the adhesive popsockets before and they're great for giving a much better grip on the phone, but I wasn't sure how strongly the MagSafe would be. The Otterbox claims to have magnets in it that strengthen the MagSafe connection, and this might be true. It feels quite sturdy actually, and I tested it to require 1.75kg of force to pull off, compared to the 1.45kg of force it took to pull it off my naked iPhone 12 mini. No idea what strength a naked iPhone 17 Pro MagSafe connection would have, but it's not terrible.
Lots of compromises involved, but it's really my backup camera, and the Otterbox case is very grippy, so I'll see how I go.
-
kye got a reaction from eatstoomuchjam in New travel film-making setup and pipeline - I feel like the tech has finally come of age
Getting prepped for my next trip and have further refined my setup.
This trip is a quick trip to China, but it's also a test case for a trip I'm taking later in the year to Europe where the packing approach will be minimalism. Unlike the way I like to travel in Asia, the Europe trip will involve changing accommodation every few days, so packing and unpacking and hauling bags around will be much more of a pain, so I'll try and travel really minimally.
As such, my approach for this trip is "when in doubt, don't take it" and see what I actually use.
So the setup for this trip is:
GH7 14-140mm F3.5-5.6 zoom, which I use during the day at F5.6 which means my 1-5 stop vND is enough 12-35mm F2.8 zoom, which is a great walk-around lens after dark Takumar 50mm F1.4 with M42-MFT Speedbooster (with bokeh insert) for "night cinema" iPhone 17 Pro setup (Neewer phone filter mount, K&F 1-9 stop vND, MagSafe Popsocket) The GH7 and zooms are self-explanatory, so here's the 50mm F1.4 setup.
I have played around with "inserts" and ended up with a pretty extreme design, so this is a test to see if the vertical edges are too strong a look for me.
It's made from the sticky part of the post-it note, and a layer of sticky tape over the top to keep it a bit more together. It sits between the speed booster and the lens, and I won't use the speed booster for any other lenses while travelling so this will stay in there and protected, so doesn't need to be that robust.
It's a strong look in some situations and quite "painterly" in others, so I'll be curious how it goes.
For my iPhone 17 Pro, it's a phone most of the time and a camera only as a backup, so I searched for a setup that would:
Protect my phone from drops (I dropped it on the last trip and the screen shattered, despite it being in an Apple case - the only one available at the time... sigh) Still be right-sized for getting in and out of pockets etc Have a vND solution for when I want to shoot and use 180 shutter I'll spare everyone from the rant about the options out there (everyone wants you to buy into their "ecosystem" now) so I ended up with the Otterbox Defender Series Pro case, which makes the iPhone feel even larger than it did in the Apple case (which doesn't seem possible but is true), but seems very robust.
The vND is the Neewer phone filter mount, which sort-of clips onto the phone (It's designed to screw onto and clamp the phone but you're clamping against the screen, so I wouldn't tighten it that much). It's designed for a naked iPhone, so I had to modify it (and the Otterbox case) slightly where it interfered with the Otterbox case to get it to sit a bit flatter. It still doesn't sit flush, but it goes on and seems to be fine. I haven't got around to actually taking it out to shoot with it, so that remains to be seen.
I paired it with the K&F 1-9 stop vND, which boasts 18 layers etc, but doesn't claim to be a "True Colour" one like the 1-5 stop ones do. It doesn't have hard stops and I think it still gives the X at the max amount, but I'll see how I go. Not having an aperture sure sucks considering you're not really losing having shallow DOF.
That is all combined with the MagSafe Popsocket as a safeguard. I've used the adhesive popsockets before and they're great for giving a much better grip on the phone, but I wasn't sure how strongly the MagSafe would be. The Otterbox claims to have magnets in it that strengthen the MagSafe connection, and this might be true. It feels quite sturdy actually, and I tested it to require 1.75kg of force to pull off, compared to the 1.45kg of force it took to pull it off my naked iPhone 12 mini. No idea what strength a naked iPhone 17 Pro MagSafe connection would have, but it's not terrible.
Lots of compromises involved, but it's really my backup camera, and the Otterbox case is very grippy, so I'll see how I go.
-
kye got a reaction from eatstoomuchjam in New travel film-making setup and pipeline - I feel like the tech has finally come of age
Doh - forgot to list the 9mm F1.7 lens. That's the ultra-wide I'll be taking too.
So the total count is one body, 5 lenses, my phone with vND.
I was slightly conflicted about the "wide-angle night cinema" slot. The SB+50/1.4 is equivalent to a 71mm F2.0 on FF, so having something wider seems an obvious thing but I'm just not sure if I would use it.
I've mentioned the 12-35mm F2.8 as my night walk-around lens, and when combined with the GH7 low-light capability it's a fine combination, but it's not crazy fast/bright and isn't the best "cinema" option around.
The things I considered were:
my TTartsans 17mm F1.4, which is small and light and despite being soft wide-open is probably quite cinematic my 14mm F2.5 which is small and light but is bettered by the 12-35mm on flexibility grounds being a zoom my Voigtlander 17.5mm F0.95, which is a great performer but is quite heavy my c-mount 12.5mm F1.9, which is similar FOV when you crop in to its S16 image circle my 9mm F1.7 combined with the GH7 cropping, which is fast but sacrifices resolution and doesn't have the DOF advantages of other options (although I am already taking it) SB + 28mm F2.8 combos, but it's hard to get a reasonable quality 28mm F2.8 in M42 mount and it's not that fast anyway I opted to take the 12-35mm (which I sort-of take as a backup lens to the 14-140mm zoom) but if I do end up wanting a wider fast lens for night cinema, I think I might just bite the bullet and get the PanaLeica 15mm F1.7 as it'll be light and have AF and be sharper than I could ever want.
I looked at the reviews of a bunch of budget F1.4 or faster lenses around the 14-20mm mark but I'd never be sure if it was as sharp as I'd like, and spending money to get something that isn't that much faster than my 17/1.4 or that much lighter than my 17.5/0.95 seems silly. MFT is the wrong format for ultra-fast wide lenses, and I already have lots of options for something I might not use, so the whole thing might end up being academic anyway.
-
kye got a reaction from John Matthews in Panasonic on-camera mic released
Come on John... everyone knows that anyone who wants better footage than a smartphone can provide is 100% totally fine with a camera the size of a microwave oven that looks like a Borg prototype!
Being slightly serious though, it's easy to criticise, but as someone who wants flexibility and better sound options, this is FAR better than the previous options, so it's a welcome addition in my eyes. The worst enemy of progress is criticising everything that isn't perfect in every conceivable way.
-
kye got a reaction from sanveer in Panasonic on-camera mic released
Panasonic just released a new on-camera mic. Looks like an excellent option for events etc where you want something small or something really flexible.
I've watched a few YT showcases and for me, the best features are:
It gives you 32-bit without having to have the external mic preamp box (and then adding microphones to that, making it larger again) It's small, much smaller than an on-camera shotgun mic You can quickly swap between modes (I assume?) it's powered by the camera It unlocks the ability to record >2 channels of audio into the files (one person said you can record left/right/mono/mono-20dB as a combo, and left/right/left-20dB/right-20dB as a different combo) It's definitely not magic and the laws of physics still apply.
There don't seem to be any really good on-location stress tests posted yet, but there's a few examples.
Media Division did an in-kitchen test to compare it to in-camera mics and lav and a DJI clip-on, and also applied a bit of AI voice isolation too to see how far you can push it:
Dustin did some good tests including walking a 360 around the camera in each mode, which showed how directional it is, which seems pretty impressive. He also compared it to the Sennheiser MKE440.
This shows the different modes out in nature:
This is probably a complete revolution for a number of niche uses. Content creators would be one, where they're recording in noisy environments but still staying relatively close to the camera where physics will be helping them. Another is where the flexibility really helps, like shooting events where getting pristine audio isn't an absolute must but working super-quickly is more important and perhaps the 32-bit would really come into its own.
This reminds me of how people used to talk about Panasonic when the GH4 and GH5 were around and people were saying that Panasonic just listened to people and then implemented the features that people would use rather than trying to be flashy and grab headlines. This will be an invisible workhorse for lots and lots of people.
-
kye got a reaction from eatstoomuchjam in Panasonic on-camera mic released
Panasonic just released a new on-camera mic. Looks like an excellent option for events etc where you want something small or something really flexible.
I've watched a few YT showcases and for me, the best features are:
It gives you 32-bit without having to have the external mic preamp box (and then adding microphones to that, making it larger again) It's small, much smaller than an on-camera shotgun mic You can quickly swap between modes (I assume?) it's powered by the camera It unlocks the ability to record >2 channels of audio into the files (one person said you can record left/right/mono/mono-20dB as a combo, and left/right/left-20dB/right-20dB as a different combo) It's definitely not magic and the laws of physics still apply.
There don't seem to be any really good on-location stress tests posted yet, but there's a few examples.
Media Division did an in-kitchen test to compare it to in-camera mics and lav and a DJI clip-on, and also applied a bit of AI voice isolation too to see how far you can push it:
Dustin did some good tests including walking a 360 around the camera in each mode, which showed how directional it is, which seems pretty impressive. He also compared it to the Sennheiser MKE440.
This shows the different modes out in nature:
This is probably a complete revolution for a number of niche uses. Content creators would be one, where they're recording in noisy environments but still staying relatively close to the camera where physics will be helping them. Another is where the flexibility really helps, like shooting events where getting pristine audio isn't an absolute must but working super-quickly is more important and perhaps the 32-bit would really come into its own.
This reminds me of how people used to talk about Panasonic when the GH4 and GH5 were around and people were saying that Panasonic just listened to people and then implemented the features that people would use rather than trying to be flashy and grab headlines. This will be an invisible workhorse for lots and lots of people.
-
kye got a reaction from ac6000cw in Panasonic on-camera mic released
Panasonic just released a new on-camera mic. Looks like an excellent option for events etc where you want something small or something really flexible.
I've watched a few YT showcases and for me, the best features are:
It gives you 32-bit without having to have the external mic preamp box (and then adding microphones to that, making it larger again) It's small, much smaller than an on-camera shotgun mic You can quickly swap between modes (I assume?) it's powered by the camera It unlocks the ability to record >2 channels of audio into the files (one person said you can record left/right/mono/mono-20dB as a combo, and left/right/left-20dB/right-20dB as a different combo) It's definitely not magic and the laws of physics still apply.
There don't seem to be any really good on-location stress tests posted yet, but there's a few examples.
Media Division did an in-kitchen test to compare it to in-camera mics and lav and a DJI clip-on, and also applied a bit of AI voice isolation too to see how far you can push it:
Dustin did some good tests including walking a 360 around the camera in each mode, which showed how directional it is, which seems pretty impressive. He also compared it to the Sennheiser MKE440.
This shows the different modes out in nature:
This is probably a complete revolution for a number of niche uses. Content creators would be one, where they're recording in noisy environments but still staying relatively close to the camera where physics will be helping them. Another is where the flexibility really helps, like shooting events where getting pristine audio isn't an absolute must but working super-quickly is more important and perhaps the 32-bit would really come into its own.
This reminds me of how people used to talk about Panasonic when the GH4 and GH5 were around and people were saying that Panasonic just listened to people and then implemented the features that people would use rather than trying to be flashy and grab headlines. This will be an invisible workhorse for lots and lots of people.
-
kye got a reaction from Emanuel in Panasonic on-camera mic released
Panasonic just released a new on-camera mic. Looks like an excellent option for events etc where you want something small or something really flexible.
I've watched a few YT showcases and for me, the best features are:
It gives you 32-bit without having to have the external mic preamp box (and then adding microphones to that, making it larger again) It's small, much smaller than an on-camera shotgun mic You can quickly swap between modes (I assume?) it's powered by the camera It unlocks the ability to record >2 channels of audio into the files (one person said you can record left/right/mono/mono-20dB as a combo, and left/right/left-20dB/right-20dB as a different combo) It's definitely not magic and the laws of physics still apply.
There don't seem to be any really good on-location stress tests posted yet, but there's a few examples.
Media Division did an in-kitchen test to compare it to in-camera mics and lav and a DJI clip-on, and also applied a bit of AI voice isolation too to see how far you can push it:
Dustin did some good tests including walking a 360 around the camera in each mode, which showed how directional it is, which seems pretty impressive. He also compared it to the Sennheiser MKE440.
This shows the different modes out in nature:
This is probably a complete revolution for a number of niche uses. Content creators would be one, where they're recording in noisy environments but still staying relatively close to the camera where physics will be helping them. Another is where the flexibility really helps, like shooting events where getting pristine audio isn't an absolute must but working super-quickly is more important and perhaps the 32-bit would really come into its own.
This reminds me of how people used to talk about Panasonic when the GH4 and GH5 were around and people were saying that Panasonic just listened to people and then implemented the features that people would use rather than trying to be flashy and grab headlines. This will be an invisible workhorse for lots and lots of people.
-
kye got a reaction from empedocles in 2025 camera rankings new vs used
My take on the situation is that I'm super-happy with the GH7. It basically does everything I want, and apart from having ultra-sharp ultra-shallow DOF, pretty much does most things that FF does. It does low-light very well, and is only behind the low-light from FF cameras because they have gotten crazy good.
-
kye reacted to Cosimo in Vintage anamorphic adapters in 2025
I am planning to use it on my custom phone with a Linos Mevis c mount 16mm lens. But it will work also with a bigger sensor. In the past I have used super 8 babies on full frame with great results.
-
kye reacted to FHDcrew in 2025 camera rankings new vs used
Agreed. I felt the same about the G9II. Lowlight is good. Full frame cameras seem to just be INSANELY good. And seems like the crop of full frame cameras for the most part has been this way for the last few years. I owned the Nikon Z6 OG from 2020-2025. It has the same IMX410 sensor found in the Sony a7iii, Panasonic S5/S1/S5II/S5IIX. That sensor despite being used in 7 yr old bodies like the z6 or a7iii is great in lowlight, 12,800 ISO and 25,600 ISO never looked bad to me I used to push the z6 so hard with wedding films even dipping into 51,200 ISO and noise was always usable. I dabbled a bit with the G9II in January and lowlight seemed noticeably worse, but at the same time it wasn’t BAD per se and cleaned up well in post. Again I think it’s just that full frame cameras are insanely good. But then again so are crop sensors lol…I was just running some lowlight tests with my friends $649 Canon R50V. With some Denoise in Davinci resolve, 12,800 ISO looked great to my eye. Nuts! 12,800! $649 used to get me a Panasonic G7 and decent lens…how far all these cameras have come. I couldn’t dream of getting that type of result on the G7. But this $649 R50V was extremely impressive lol. We are so dang spoiled. I ended up getting a used canon r6 OG for a very good price ($929), overheating aside its a wonderful cam for $1k average. And looks great at ISO 25,600…
I think my biggest isssue with the g9II was PDAF seemed to shut off or be used a lot less when above ISO 2500 or 3200 in a lot of cases. Meaning if you want to rely on autofocus it’s hard to really push things. Because I did find that with some Denoise ISO 6400 and 12,800 were honestly not bad. Maybe I also didn’t have the most optimal lens choices…but when I was recently filming at a summer camp where they had a canon r5 (so I could use the r5 when I wanted and my G9II when I wanted), the r5 seemed to wipe the floor with the g9II at 3200ISO and above especially when pushing things. And unfortunately I just seem to have times where I need to shoot in very very lowlight settings. So full frame is a big help.
-
kye got a reaction from eatstoomuchjam in 2025 camera rankings new vs used
My take on the situation is that I'm super-happy with the GH7. It basically does everything I want, and apart from having ultra-sharp ultra-shallow DOF, pretty much does most things that FF does. It does low-light very well, and is only behind the low-light from FF cameras because they have gotten crazy good.
-
kye reacted to Cosimo in Vintage anamorphic adapters in 2025
Just scored this Petit Cinevision 1.5x baby anamorphic
-
kye reacted to Django in If not ZR, then Panasonic?
Yep that's the kind of intermediary codec that the ZR needs. But only if Nikon doesn't cook it with that aggressive noise reduction. You know the drill, Fuji had similar issues I seem to remember you pointing out.
Thing is, I don't buy cameras based on promised or wishful features anymore. Been burned too many times waiting for "coming soon" updates that arrive late, incomplete, or not at all. So as of right now, the ZR is off the table for me. It's not just the codec situation though tbh, the unreliable view assist/exposure tools and first gen quirks also give me cold feet.
Good to know LT is officially on the roadmap, though.. great for early adopters but I think I'm done gambling on "maybe later".
-
kye reacted to empedocles in 2025 camera rankings new vs used
No, I have a GH5s, but I'd like to upgrade, as I need PDAF among other things.
-
kye reacted to ArashM in 2026 Camera Pick (C50/R6 mk3, FX3/FX2, ZR)
I apologize for the delay, before I expand, I have to say Kye in a note above said it best. In general I don't find -For me and what I shoot- the ZR get's out of the way and just works, I'm not brand new to Nikon yet find the menu diving a bit of a pain, I also can't understand why I can't assign some common used settings to the first quick menu. Getting a card out once you rigged your camera is a nightmare, have to move the whole thing off and pull off anything on the base to access the card. See below on set's like this it's a bit of a mess and you then have to spend time and make sure your camera is back to the right place! Another challenge is the tragic H265, I shot a small table top for Sephora the other day and couple of mini clips ended up at 293 GIGs, would have shot it on H265 if it was fine, absolutely no need for red code in a perfectly lit set.
I normally shoot on cameras that just do what they need to do and that's all there is to it, we don't even really think much about the camera during the shoot, for my experience so far the ZR isn't that camera!
Again this is just me, I'm sure there are people who love using the ZR and that's excellent 🙂
Edit: spelling!
-
kye reacted to Benjamin Hilton in Are camera companies out of touch with the current financial reality?
While I enjoy following the latest camera releases, there would literally be zero ROI on us switching systems anytime in the next 5 years.
-
kye reacted to Benjamin Hilton in Are camera companies out of touch with the current financial reality?
Yeah 100%. We stayed in the Lumix eco system for years using Canon lenses, and it worked. 3 years ago we finally bit the bullet and dropped like 15 grand into upgrading to Sony bodies and Sigma E mount lenses. That being said, we probably won't do a camera upgrade until these die on us, they more than accomplish anything we need from them. At this point, if we need another body, we can always pick up a used FX30 for like $1200 and it fits in perfectly with our FX6 and A7IVs.
-
kye got a reaction from FHDcrew in Are camera companies out of touch with the current financial reality?
I find it incredible that people talk about switching bodies / systems all the time without really considering the wider ecosystem of lenses and accessories. Hell, I've stayed within the MFT system and whenever I get a new MFT body there are still all these extras that I end up being surprised about and inflate the price by 10-15%. If I was re-buying lenses then it would double/triple/quadruple the cost.
I have no idea what the economics of lenses are, but I wouldn't be surprised if the camera body is now a loss-leader and the lenses where all the profit is.
-
