summarity Posted December 9, 2024 Share #1 Posted December 9, 2024 (edited) Advertisement (gone after registration) Hi there. I’m currently working on reverse engineering much of the proprietary Leica PTP extensions, to provide camera setup functionality without Leica Fotos for M11 cameras. That necessitates taking a closer look at what Fotos is doing. That's all going great, but time for a little detour. More or less accidentally, I came across several lists of camera code names that are part of Leica Fotos 4.8.1 (Oct 2024), and libleica, the native SDK that handles PTP IP and many other lower level tasks. Code names from Leica Fotos have been used before to identify the release of the Q3 (Wilson) and M11M (Rene). First, let’s take a look at the current list. If you ever wondered what name you should call your camera, now you know 😉. Over time, the code names tend to be replaced with a shortened version of the product name, but here I’ve restored all that I could find across a range of Fotos versions: LINK TO TABLE. But hold on! There’s a new one: Warp. Indeed, this could be an internal test product or catch-all value or whatnot. But there are signals pointing to this being the SL3-S, indeed we even get more insight into some of its capabilities (scroll to the end if you're impatient). Warp has been added with Fotos 4.5.0 (2 Jul 2024). The first clue is that the app seems to be configured with a solo feature flag to hide or show Warp in the list of cameras. We can see the flag mechanism in action in the app boot up code: default: kotlin.jvm.internal.k.f(deliverToView, "$this$deliverToView"); boolean a10 = this.f15825e.f15832n.f41104a.a("sso_skip_enabled"); C0917i c0917i3 = (C0917i) deliverToView; if (c0917i3.getActivity() == null) { dh.d.f23787a.m("Activity is null - do not show app introduction", new Object[0]); } else if (c0917i3.requireActivity().isFinishing()) { dh.d.f23787a.m("Activity is finishing - do not show app introduction", new Object[0]); where f41104a is the flag provider and "sso_skip_enabled" is the flag that is checked. This flag isn’t relevant to this discussion (it skips the login). But there is another: public final List a() { Sd.b bVar = EnumC1605D.f24471Z; Md.b e9 = Ld.r.e(); e9.addAll(this.f24627b); if (this.f24626a.f41104a.a("warp_enabled")) { e9.remove(EnumC1605D.f24475u); } return Ld.q.X(bVar, Ld.q.w0(Ld.r.d(e9))); } This snippet assembles the camera list, and if the flag isn’t set, it’ll boot Warp from the list. This implies that some people, either just Leica or likely testers, have access to the device and can use it with Fotos. Here’s where the list item (f24475u) is coming from - notice the proximity to the SL3, which is mirrored with the SL2 & SL2-S setup: EnumC1605D enumC1605D4 = new EnumC1605D("LeicaWarp", 3, "WARP", bVar3, R.string.camera_model_name_warp, R.string ...) f24475u = enumC1605D4; EnumC1605D enumC1605D5 = new EnumC1605D("LeicaSL3", 4, "SL3", Oc.b.f9880C, R.string.camera_model_name_picard, R....) f24476v = enumC1605D5; Oc.b bVar4 = Oc.b.f9879B; EnumC1603B enumC1603B = EnumC1603B.f24441f; C1607a c1607a2 = new C1607a(z10, i10); d0 d0Var = new d0(true, Ld.J.n(b0Var), Ld.J.n(c0Var)); EnumC1631z enumC1631z3 = EnumC1631z.f24660t; EnumC1605D enumC1605D6 = new EnumC1605D("LeicaSL2S", 5, "SL2-S", bVar4, R.string.camera_model_name_sl2s, R.strin...) f24477w = enumC1605D6; EnumC1605D enumC1605D7 = new EnumC1605D("LeicaSL2", 6, "SL2", Oc.b.f9878A, R.string.camera_model_name_sl2, R.str...) f24478x = enumC1605D7; At this point, I’m pretty convinced this is an SL camera. But to confirm, we can dig deeper and take a look at how picard (SL3) is used in Fotos. The remote shooting mode for picard is unique, in that it has discrete continuous drive mode configuration flags. Only the Q3 shares this feature. Helpfully, the flags tell you exactly what you get: public static final int picard_remote_settings_drive_mode_continuous_02fps = 0x7f140448; public static final int picard_remote_settings_drive_mode_continuous_04fps = 0x7f140449; public static final int picard_remote_settings_drive_mode_continuous_05fps = 0x7f14044a; public static final int picard_remote_settings_drive_mode_continuous_06fps = 0x7f14044b; public static final int picard_remote_settings_drive_mode_continuous_07fps = 0x7f14044c; public static final int picard_remote_settings_drive_mode_continuous_09fps = 0x7f14044d; public static final int picard_remote_settings_drive_mode_continuous_15fps = 0x7f14044e; Other cameras have more generic flags like “slow”, “fast”, etc. And here’s what we get with Warp: public static final int warp_remote_settings_drive_mode_continuous_05fps_14bit_af = 0x7f14071e; public static final int warp_remote_settings_drive_mode_continuous_07fps_12bit_af = 0x7f14071f; public static final int warp_remote_settings_drive_mode_continuous_15fps_12bit_af = 0x7f140720; public static final int warp_remote_settings_drive_mode_continuous_30fps_12bit_af = 0x7f140721; Up to 30fps with AF? Neat. Edited December 9, 2024 by summarity add version details 4 7 Link to post Share on other sites More sharing options...
Advertisement Posted December 9, 2024 Posted December 9, 2024 Hi summarity, Take a look here New Leica codename "Warp" - is it the SL3-S? (+ list of codenames). I'm sure you'll find what you were looking for!
nameBrandon Posted December 9, 2024 Share #2 Posted December 9, 2024 Well, I guess we know what category / setting 0x7f14 is.. wonder why the value is unique per camera, seems repetitive. Link to post Share on other sites More sharing options...
RMF Posted December 9, 2024 Share #3 Posted December 9, 2024 2 hours ago, summarity said: Hi there. I’m currently working on reverse engineering much of the proprietary Leica PTP extensions, to provide camera setup functionality without Leica Fotos for M11 cameras. That necessitates taking a closer look at what Fotos is doing. That's all going great, but time for a little detour. More or less accidentally, I came across several lists of camera code names that are part of Leica Fotos 4.8.1 (Oct 2024), and libleica, the native SDK that handles PTP IP and many other lower level tasks. Code names from Leica Fotos have been used before to identify the release of the Q3 (Wilson) and M11M (Rene). First, let’s take a look at the current list. If you ever wondered what name you should call your camera, now you know 😉. Over time, the code names tend to be replaced with a shortened version of the product name, but here I’ve restored all that I could find across a range of Fotos versions: LINK TO TABLE. But hold on! There’s a new one: Warp. Indeed, this could be an internal test product or catch-all value or whatnot. But there are signals pointing to this being the SL3-S, indeed we even get more insight into some of its capabilities (scroll to the end if you're impatient). Warp has been added with Fotos 4.5.0 (2 Jul 2024). The first clue is that the app seems to be configured with a solo feature flag to hide or show Warp in the list of cameras. We can see the flag mechanism in action in the app boot up code: default: kotlin.jvm.internal.k.f(deliverToView, "$this$deliverToView"); boolean a10 = this.f15825e.f15832n.f41104a.a("sso_skip_enabled"); C0917i c0917i3 = (C0917i) deliverToView; if (c0917i3.getActivity() == null) { dh.d.f23787a.m("Activity is null - do not show app introduction", new Object[0]); } else if (c0917i3.requireActivity().isFinishing()) { dh.d.f23787a.m("Activity is finishing - do not show app introduction", new Object[0]); where f41104a is the flag provider and "sso_skip_enabled" is the flag that is checked. This flag isn’t relevant to this discussion (it skips the login). But there is another: public final List a() { Sd.b bVar = EnumC1605D.f24471Z; Md.b e9 = Ld.r.e(); e9.addAll(this.f24627b); if (this.f24626a.f41104a.a("warp_enabled")) { e9.remove(EnumC1605D.f24475u); } return Ld.q.X(bVar, Ld.q.w0(Ld.r.d(e9))); } This snippet assembles the camera list, and if the flag isn’t set, it’ll boot Warp from the list. This implies that some people, either just Leica or likely testers, have access to the device and can use it with Fotos. Here’s where the list item (f24475u) is coming from - notice the proximity to the SL3, which is mirrored with the SL2 & SL2-S setup: EnumC1605D enumC1605D4 = new EnumC1605D("LeicaWarp", 3, "WARP", bVar3, R.string.camera_model_name_warp, R.string ...) f24475u = enumC1605D4; EnumC1605D enumC1605D5 = new EnumC1605D("LeicaSL3", 4, "SL3", Oc.b.f9880C, R.string.camera_model_name_picard, R....) f24476v = enumC1605D5; Oc.b bVar4 = Oc.b.f9879B; EnumC1603B enumC1603B = EnumC1603B.f24441f; C1607a c1607a2 = new C1607a(z10, i10); d0 d0Var = new d0(true, Ld.J.n(b0Var), Ld.J.n(c0Var)); EnumC1631z enumC1631z3 = EnumC1631z.f24660t; EnumC1605D enumC1605D6 = new EnumC1605D("LeicaSL2S", 5, "SL2-S", bVar4, R.string.camera_model_name_sl2s, R.strin...) f24477w = enumC1605D6; EnumC1605D enumC1605D7 = new EnumC1605D("LeicaSL2", 6, "SL2", Oc.b.f9878A, R.string.camera_model_name_sl2, R.str...) f24478x = enumC1605D7; At this point, I’m pretty convinced this is an SL camera. But to confirm, we can dig deeper and take a look at how picard (SL3) is used in Fotos. The remote shooting mode for picard is unique, in that it has discrete continuous drive mode configuration flags. Only the Q3 shares this feature. Helpfully, the flags tell you exactly what you get: public static final int picard_remote_settings_drive_mode_continuous_02fps = 0x7f140448; public static final int picard_remote_settings_drive_mode_continuous_04fps = 0x7f140449; public static final int picard_remote_settings_drive_mode_continuous_05fps = 0x7f14044a; public static final int picard_remote_settings_drive_mode_continuous_06fps = 0x7f14044b; public static final int picard_remote_settings_drive_mode_continuous_07fps = 0x7f14044c; public static final int picard_remote_settings_drive_mode_continuous_09fps = 0x7f14044d; public static final int picard_remote_settings_drive_mode_continuous_15fps = 0x7f14044e; Other cameras have more generic flags like “slow”, “fast”, etc. And here’s what we get with Warp: public static final int warp_remote_settings_drive_mode_continuous_05fps_14bit_af = 0x7f14071e; public static final int warp_remote_settings_drive_mode_continuous_07fps_12bit_af = 0x7f14071f; public static final int warp_remote_settings_drive_mode_continuous_15fps_12bit_af = 0x7f140720; public static final int warp_remote_settings_drive_mode_continuous_30fps_12bit_af = 0x7f140721; Up to 30fps with AF? Neat. Great find, nice job @summarity! Link to post Share on other sites More sharing options...
hdmesa Posted December 9, 2024 Share #4 Posted December 9, 2024 SL3-S stacked sensor. 30 fps would mean the A1 sensor, right? If so, looks like this would move into the halo position above the SL3 and at a higher price. 1 Link to post Share on other sites More sharing options...
Crem Posted December 9, 2024 Share #5 Posted December 9, 2024 I’ll be curious to see if this thread gets removed. Very nice work @summarity 2 Link to post Share on other sites More sharing options...
hdmesa Posted December 9, 2024 Share #6 Posted December 9, 2024 Might not even be the SL3-S at all: "SL3-X" flagship with the 50mp 30fps A1 stacked sensor priced above the SL3. That would still leave room for a slower rolling shutter SL3-S at a lower price later on. Link to post Share on other sites More sharing options...
RMF Posted December 9, 2024 Share #7 Posted December 9, 2024 Advertisement (gone after registration) 2 hours ago, Crem said: I’ll be curious to see if this thread gets removed. Very nice work @summarity Up on Leica Rumors now, references this thread Link to post Share on other sites More sharing options...
Smudgerer Posted December 9, 2024 Share #8 Posted December 9, 2024 9 hours ago, summarity said: Hi there. I’m currently working on reverse engineering much of the proprietary Leica PTP extensions, to provide camera setup functionality without Leica Fotos for M11 cameras. This for me is what's interesting, "without Fotos", that's very desirable...........the rest for me is pure mumbo-jumbo, I haven't the ability to comprehend any of that coding stuff at all. 1 Link to post Share on other sites More sharing options...
JohnathanLovm Posted December 9, 2024 Share #9 Posted December 9, 2024 So no data about the S4 huh… 1 Link to post Share on other sites More sharing options...
summarity Posted December 9, 2024 Author Share #10 Posted December 9, 2024 8 hours ago, nameBrandon said: Well, I guess we know what category / setting 0x7f14 is.. wonder why the value is unique per camera, seems repetitive. Good thought, but the number has no meaning in this context, this is a running index generated by the decompiler based on a long list of all possible Fotos settings. It's unique per camera since all cameras have different burst shooting rates, bit depths, and communicate slightly differently with Fotos. 5 minutes ago, Smudgerer said: This for me is what's interesting, "without Fotos", that's very desirable...........the rest for me is pure mumbo-jumbo, I haven't the ability to comprehend any of that coding stuff at all. No need to, I just wanted to show my workings. The TL;DR is that there's an unnamed new product code-named Warp introduced in June this year, it seems closely related to Picard (SL3), and has a faster drive mode. That's all we know for now. The M11 project is a tangent, I will post separately on this once I'm happy with the results. 8 minutes ago, JohnathanLovm said: So no data about the S4 huh… Not that I can see, no. Link to post Share on other sites More sharing options...
JohnathanLovm Posted December 9, 2024 Share #11 Posted December 9, 2024 5 hours ago, hdmesa said: SL3-S stacked sensor. 30 fps would mean the A1 sensor, right? If so, looks like this would move into the halo position above the SL3 and at a higher price. AFAIK, only A1 and Z9/Z8 can do 30 fps. I’m not sure if the SL3-S gonna price at $5500 above considering how fast the SL2 gen depreciation and without the proper professional support like the trinity brands. Link to post Share on other sites More sharing options...
padam Posted December 9, 2024 Share #12 Posted December 9, 2024 Canon R6 Mark II and R8 already shoot 40fps without a stacked sensor, so it is not really a given that this camera has one. 1 Link to post Share on other sites More sharing options...
jaapv Posted December 9, 2024 Share #13 Posted December 9, 2024 If Leica goes for 24 MP for the SL3-S they will most likely use the sensor they co-developed with Panasonic which is in the S5ii - max burst rate is 30 fps. Link to post Share on other sites More sharing options...
frame-it Posted December 9, 2024 Share #14 Posted December 9, 2024 10 hours ago, summarity said: Up to 30fps with AF? Neat. depends on whether the AF actually locks correctly after the 1st frame 2 1 Link to post Share on other sites More sharing options...
TeleElmar135mm Posted December 9, 2024 Share #15 Posted December 9, 2024 WARP? Engage ... Welcome, dear visitor! As registered member you'd see an image here… Simply register for free here – We are always happy to welcome new members! 1 Link to post Share on other sites Simply register for free here – We are always happy to welcome new members! ' data-webShareUrl='https://www.l-camera-forum.com/topic/417809-new-leica-codename-warp-is-it-the-sl3-s-list-of-codenames/?do=findComment&comment=5720196'>More sharing options...
Planetwide Posted December 9, 2024 Share #16 Posted December 9, 2024 public static final int warp_remote_settings_drive_mode_continuous_05fps_14bit_af = 0x7f14071e; public static final int warp_remote_settings_drive_mode_continuous_07fps_12bit_af = 0x7f14071f; public static final int warp_remote_settings_drive_mode_continuous_15fps_12bit_af = 0x7f140720; public static final int warp_remote_settings_drive_mode_continuous_30fps_12bit_af = 0x7f140721; Panasonic S52 Mechanical shutter, electronic front curtain Electronic shutter Live View when taking burst pictures [SH] — 30 frames/second None [H] (High speed) 9 frames/second ([AFS]/[MF]) 7 frames/second ([AFC]) 9 frames/second ([AFS]/[MF]) 8 frames/second ([AFC]) None ([AFS]/[MF]) Available ([AFC]) [M] (Medium speed) 5 frames/second Available [L] (Low speed) 2 frames/second Available The burst rate may be lower depending on the settings for recording such as [Picture Size] and focus mode. Link to post Share on other sites More sharing options...
Yang.Li Posted December 9, 2024 Share #17 Posted December 9, 2024 I hope Leica brings more telephoto lens for that 30fps camera body, and better AF. Link to post Share on other sites More sharing options...
helged Posted December 9, 2024 Share #18 Posted December 9, 2024 (edited) If SL3-S is based on the S5ii sensor - which sounds reasonable based on past Panasonic and Leica camera models - the readout time is 21 ms (or thereabout), which is too slow for fast-ish moving objects when using the electronic shutter. This is at least my conclusion based on birds in flight and running dogs. Would prefer an L-mount body with a readout time of 10 ms or less. Yes, it will come, but apperently not in the next generation of bodies. More/Most importantly - which wrap-bag to Warp...? Edited December 9, 2024 by helged 1 Link to post Share on other sites More sharing options...
LocalHero1953 Posted December 9, 2024 Share #19 Posted December 9, 2024 I'm glad this thread started. Recently I've been missing a good speculative thread on the forum. 5 Link to post Share on other sites More sharing options...
hdmesa Posted December 9, 2024 Share #20 Posted December 9, 2024 5 hours ago, JohnathanLovm said: AFAIK, only A1 and Z9/Z8 can do 30 fps. I’m not sure if the SL3-S gonna price at $5500 above considering how fast the SL2 gen depreciation and without the proper professional support like the trinity brands. 4 hours ago, jaapv said: If Leica goes for 24 MP for the SL3-S they will most likely use the sensor they co-developed with Panasonic which is in the S5ii - max burst rate is 30 fps. 3 hours ago, Planetwide said: public static final int warp_remote_settings_drive_mode_continuous_05fps_14bit_af = 0x7f14071e; public static final int warp_remote_settings_drive_mode_continuous_07fps_12bit_af = 0x7f14071f; public static final int warp_remote_settings_drive_mode_continuous_15fps_12bit_af = 0x7f140720; public static final int warp_remote_settings_drive_mode_continuous_30fps_12bit_af = 0x7f140721; Panasonic S52 Mechanical shutter, electronic front curtain Electronic shutter Live View when taking burst pictures [SH] — 30 frames/second None [H] (High speed) 9 frames/second ([AFS]/[MF]) 7 frames/second ([AFC]) 9 frames/second ([AFS]/[MF]) 8 frames/second ([AFC]) None ([AFS]/[MF]) Available ([AFC]) [M] (Medium speed) 5 frames/second Available [L] (Low speed) 2 frames/second Available Welcome, dear visitor! As registered member you'd see an image here… Simply register for free here – We are always happy to welcome new members! The burst rate may be lower depending on the settings for recording such as [Picture Size] and focus mode. 2 hours ago, helged said: If SL3-S is based on the S5ii sensor - which sounds reasonable based on past Panasonic and Leica camera models - the readout time is 21 ms (or thereabout), which is too slow for fast-ish moving objects when using the electronic shutter. This is at least my conclusion based on birds in flight and running dogs. Would prefer an L-mount body with a readout time of 10 ms or less. Yes, it will come, but apperently not in the next generation of bodies. More/Most importantly - which wrap-bag to Warp...? If Leica uses the S5II sensor, then the only thing "Warp" will refer to is the rolling shutter. 5 Link to post Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now