Gcam port for Pro1

Flash-A-Holic

Senior Member
Jul 8, 2015
159
84
0
I have been testing few Gcam ports for F(x)tec Pro1 and so far best one is Gcam port for PocoPhone F1 F1v9.5_6.2.030. PocoPhone F1 has similar camera setup (IMX363 main sensor and second 5MP depth sensor) than Pro1 so that makes sense.
Most of the functions seems to work and image quality is great. However, viewfinder is upside down if you select Night Sight. Also, it can freeze in low light situations. I checked that viewfinder can be rotated by editing pref_ns_image_rotation_key value from 0 to 1. I don't have skills to do that so I am looking for help. Maybe someone could make a separate version for Pro1? @j1505243 maybe?

See info from here:
https://forum.xda-developers.com/ap...amera-port-t3862448/post79735161#post79735161
Also, those who have night sight portrait viewfinder flipped upside down should go to More > Settings > [Photo] Advanced > Image Rotation toggle ON. (or go into your config xml file and change pref_ns_image_rotation_key value from 0 to 1).
Arnova8G2 ports are not working on Pro1 so I can't use that setting to rotate viewfinder. It has to be changed in the code.

Example pics with Gcam (Pocophone port):
 

S-I-M-O-N

Member
Feb 12, 2010
25
41
13
Ok, I had a closer look now.
The method I wrongly suggested previously was based on the assumption that the xml file is inside the apk, which is not the case
In fact some versions of GCam allow to export and import settings via an xml file. The version you referred does not. Accordingly this cannot be fixed by editing the xml file. You will need to hack the app itself, which will be more complicated.
 
Last edited:

j1505243

Senior Member
Jan 2, 2016
483
481
0
Masovia
My approach wouldn't be to touch gcam, since everything about it depends on the drivers (tho this specific bug actually comes from poor implementation). There are few things I can try, but I'd like to explain the misconception. Sensors matter the least, it's rather the platform and the specific OEM changes. GC5025 (the aux sensor) is what we shouldn't be bothered about, while IMX363 is nothing new to Google (Pixels) itself. The IMX363 calibs are common, so it's not like we're in any way doomed due to hardware. You can safely take the newest versions from BSG.

---------- Post added at 01:31 PM ---------- Previous post was at 01:26 PM ----------

Here's what Arnova had to say:


Code:
sget v5, Ldfx;->sCam:I

    if-nez v5, :cond_0

    sget-object v5, Landroid/os/Build;->DEVICE:Ljava/lang/String;

    const-string v19, "Nexus 6P"

    invoke-virtual {v5, v19}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v5

    if-eqz v5, :cond_0

    const/16 v0, 0xb4

    :cond_0    
  invoke-static {v0}, Lcom/google/googlex/gcam/hdrplus/MetadataConverter;->getImageRotation(I)I

in SeeDarkSession.smali
 
Last edited:
  • Like
Reactions: Flash-A-Holic

Flash-A-Holic

Senior Member
Jul 8, 2015
159
84
0
My approach wouldn't be to touch gcam, since everything about it depends on the drivers (tho this specific bug actually comes from poor implementation). There are few things I can try, but I'd like to explain the misconception. Sensors matter the least, it's rather the platform and the specific OEM changes. GC5025 (the aux sensor) is what we shouldn't be bothered about, while IMX363 is nothing new to Google (Pixels) itself. The IMX363 calibs are common, so it's not like we're in any way doomed due to hardware. You can safely take the newest versions from BSG.

---------- Post added at 01:31 PM ---------- Previous post was at 01:26 PM ----------

Here's what Arnova had to say:


Code:
sget v5, Ldfx;->sCam:I

    if-nez v5, :cond_0

    sget-object v5, Landroid/os/Build;->DEVICE:Ljava/lang/String;

    const-string v19, "Nexus 6P"

    invoke-virtual {v5, v19}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v5

    if-eqz v5, :cond_0

    const/16 v0, 0xb4

    :cond_0    
  invoke-static {v0}, Lcom/google/googlex/gcam/hdrplus/MetadataConverter;->getImageRotation(I)I

in SeeDarkSession.smali
Thanks for your reply. I tried to install latest Arnova8G2 version and BSG 6.1 previously but ended up to an error during installation process. Now I tried with lastest version of BSG (BSG's 7.2.018 V0b) and I am able to install it. However, the Night Sight is not working very well. Viewfinder is not upside down but picture quality is not great. It looks like that it doesn't combine several shots to one picture since the photo is taken right away. With PocoPhone F1 port the camera ask me to hold phone still and it takes multiple shots to combine those together. Am I missing some setting with BSG?
 

j1505243

Senior Member
Jan 2, 2016
483
481
0
Masovia
My approach wouldn't be to touch gcam, since everything about it depends on the drivers (tho this specific bug actually comes from poor implementation). There are few things I can try, but I'd like to explain the misconception. Sensors matter the least, it's rather the platform and the specific OEM changes. GC5025 (the aux sensor) is what we shouldn't be bothered about, while IMX363 is nothing new to Google (Pixels) itself. The IMX363 calibs are common, so it's not like we're in any way doomed due to hardware. You can safely take the newest versions from BSG.

---------- Post added at 01:31 PM ---------- Previous post was at 01:26 PM ----------

Here's what Arnova had to say:



Thanks for your reply. I tried to install latest Arnova8G2 version and BSG 6.1 previously but ended up to an error during installation process. Now I tried with lastest version of BSG (BSG's 7.2.018 V0b) and I am able to install it. However, the Night Sight is not working very well. Viewfinder is not upside down but picture quality is not great. It looks like that it doesn't combine several shots to one picture since the photo is taken right away. With PocoPhone F1 port the camera ask me to hold phone still and it takes multiple shots to combine those together. Am I missing some setting with BSG?
See MGC_7.2.018_RPII.MiVIII_V0b, it goes well here. (Unless it's the one you meant, then dunno)
No inverted/rotated viewfinder, multiple frames captured during Night Sight, only the noise profile is borked.

---------- Post added at 10:14 PM ---------- Previous post was at 10:00 PM ----------

Tho there's a chance that I messed with something and it survived an OTA. If that would be the case, a fix should be easy since I didn't touch anything crazy yet.
 
Last edited:

Flash-A-Holic

Senior Member
Jul 8, 2015
159
84
0
See MGC_7.2.018_RPII.MiVIII_V0b, it goes well here. (Unless it's the one you meant, then dunno)
No inverted/rotated viewfinder, multiple frames captured during Night Sight, only the noise profile is borked.

---------- Post added at 10:14 PM ---------- Previous post was at 10:00 PM ----------

Tho there's a chance that I messed with something and it survived an OTA. If that would be the case, a fix should be easy since I didn't touch anything crazy yet.
What do you mean when you say that noise profile is borked? Here you can see two shots that I take with Pocophone port and latest BSG. As you can see the picture taken with BSG is not usable. Do I need to tune some settings?

PocoPhone port

BSG port
 

j1505243

Senior Member
Jan 2, 2016
483
481
0
Masovia
What do you mean when you say that noise profile is borked? Here you can see two shots that I take with Pocophone port and latest BSG. As you can see the picture taken with BSG is not usable. Do I need to tune some settings?
As long as the camera drivers don't report a proper noise profile, a gcam port needs to contain it. I'm only assuming tho (that BSG port doesn't ship it), judging only by the results. Didn't dig deep into that yet.
 

Flash-A-Holic

Senior Member
Jul 8, 2015
159
84
0
MGC 7.4 has a similar issue with a rotated viewfinder and is solved by disabling "OpenGL viewfinder". Maybe something similar would work here?
Can you tell me what port exactly mean? Is there some settings where you are able to disable "OpenGL viewfinder". It would be great If I could fix the viewfinder for Pro1.