[APP] [MOD] [v3.2] Camera X - Burst, 240FPS Slow-Motion, EIS & More

Are you rooted?


  • Total voters
    535
Search This thread

ViRb3

Senior Member
Aug 25, 2014
386
813
Good news fellows, 240 fps is back and working! Even greater news: I might be able to get better quality of 240fps on our Nexus 5X! That's right, I said it! I used to use the 120 fps video profile for 240 fps, which resulted in very bad bit rate and quality. For this update I had to dig deeper until I found a way to hopefully adjust the bitstream as well. I am still experimenting with this, but it might end up surprisingly well! Stay tuned :)
 
Last edited:

ViRb3

Senior Member
Aug 25, 2014
386
813
I need a N6P owner willing to run test APKs and 'dump' camera profiles to please contact me.

Thanks!
 

cambunch

Senior Member
Sep 11, 2009
861
1,485
I want to ask, can you tell the difference between 97% and 100%?

I guess you can't. So JPG quality is not too important, it's placebo effect.

I didn't realize it was 97% by default (I was expecting around 80% due to your previous post). You are correct, there is practically no difference between 97% and 100%.
 

khanjui

Senior Member
Dec 1, 2012
1,460
754
25
Eskisehir
500px.com
I didn't realize it was 97% by default (I was expecting around 80% due to your previous post). You are correct, there is practically no difference between 97% and 100%.
That was 97% in LG G2. Generally around 95% in most of phones (for stock camera app). So yeah, not really matter. But having 100% not hurts, right? :good:

Sent from my Nexus 5X using XDA Labs
 

ViRb3

Senior Member
Aug 25, 2014
386
813
Little update:

  • 240fps quality will remain the same as my old mod. I tried virtually every method of increasing bitrate, but without success. My last resort is hacking the drivers, but that will not happen any time soon due to lack of time.
  • Google implemented a new processing method that can save RAW images and then use them to automatically create a JPEG. iI enabled this and it worked pretty well :)
  • Image quality 95% to 100% will be added if more people want it than not.

The actual mod/flashable tweaks will come later this week! Cheers!
 
Last edited:

Doctorimpossible

Senior Member
Apr 5, 2015
55
9
Thank you so much for all of your hard work!

As far as implementation is concerned, if the 95% to 100% change isn't too hard and doesn't cause any crashes then go for it. The more features the better :victory:
 

AABatteries

Senior Member
Dec 20, 2010
61
29
  • Google implemented a new processing method that can save RAW images and then use them to automatically create a JPEG. iI enabled this and it worked pretty well :)

Does that mean we are getting DNG+JPEG output (two separate files?) That is great news! Is it possible for you to implement a toggle for this, in camera settings maybe? Thanks!
 

ViRb3

Senior Member
Aug 25, 2014
386
813
Does that mean we are getting DNG+JPEG output (two separate files?) That is great news! Is it possible for you to implement a toggle for this, in camera settings maybe? Thanks!

It produces 3 .RAW and 3 .YUV files, processes the YUV files, and then saves a JPEG. Quality is more or less identical. I'll have a settings toggle for this and 100% JPEG quality.
 

attr_reader

Member
Apr 29, 2016
26
3
Excessive image sharpening and noise reduction

@ViRb3, firstly thanks for the fantastic work!

I recently upgraded from (believe it or not) a Nokia N8 and one of the first things I noticed was the significant amount of image sharpening and noise reduction applied to the JPEG images captured by the Nexus 5X, irrespective of the Android camera app used.

Do you know if the Android camera2 API allows these parameters reduced or turned off entirely? It goes without saying that the 5X's RAW output doesn't seem to suffer from this problem.

Thanks
 

khanjui

Senior Member
Dec 1, 2012
1,460
754
25
Eskisehir
500px.com
@ViRb3, firstly thanks for the fantastic work!

I recently upgraded from (believe it or not) a Nokia N8 and one of the first things I noticed was the significant amount of image sharpening and noise reduction applied to the JPEG images captured by the Nexus 5X, irrespective of the Android camera app used.

Do you know if the Android camera2 API allows these parameters reduced or turned off entirely? It goes without saying that the 5X's RAW output doesn't seem to suffer from this problem.

Thanks
You can use third party apps like A Better Camera, Camera FV-5 or ProShot.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 160
    I came across a thread that claimed it's possible to enable EIS (Electronic Image Stabilization) on Nexus 5X through a build.prop line. I was skeptical at first, but when I tried it for myself, it really worked! I immediately thought about the other features our device was mysteriously missing, but are available on the Nexus 6P, which has the same camera. The same day I opened up 5 desktops on my Windows laptop, launched my magic tools and denied sleep for a few days.

    Today, I am proud to present Camera X!

    Features:
    1. This is a Google Camera mod
    2. Burst mode
      To enable, simply disable 'Smart Burst' from the camera app settings.
    3. Smart Burst mode
    4. 240fps slow-motion*
    5. Video EIS**

    How to enable EIS? **
    EIS (electronic image stabilization) is triggered in the camera driver library and is impossible to alter without root access (source code of EIS check, found in 'camera.msm8992.so').

    If you are a root user, you can:
    • Edit your 'build.prop' file (using root file manager or Build Prop Editor app from PlayStore) and add these two lines:
      Code:
      persist.camera.eis.enable=1
      persist.camera.is_mode=4
    • Use the following flashable ZIP. Thank you synesthete for your work!
    You will see 'Camera Settings > Resolution & Quality > Enable video stabilization' after a phone reboot.

    NOTE: EIS does not work with 4K video due to hardware limitations!

    NOTE: persist lines will have an effect even if you remove them, so set them back to '0' if you want to disable them!

    What's IS mode?
    Code:
           //IS type will be 0 unless EIS is supported. If EIS is supported
            //it could either be 1 or 4 depending on the stream and video size
            if (setEis) {
                if (!m_bEisSupportedSize) {
                    is_type = IS_TYPE_DIS;
                } else {
                    is_type = IS_TYPE_EIS_2_0;
                }
                mStreamConfigInfo.is_type = is_type;
            } else {
                mStreamConfigInfo.is_type = IS_TYPE_NONE;
            }

    Story behind Camera X:
    I have a Nexus 5X. I began by modding Google Camera to think that it's running on a Nexus 6P. Surprisingly, this enabled Burst Mode!
    I started digging in. After 2-3 days of sleepless analysis I found where all features reside and how to enable them. I am constantly trying new tweaks and updating my mod accordingly if something is useful.

    Why didn't Google enable these features by default? *
    While 240fps works, you will notice that the quality is very low compared to the Nexus 6P, especially in low light. This is due to the processing limitations our device has. The bit rate cannot be increased any more than this (at least software-wise).

    Download:
    Click me (Google Drive)

    Note: In order to avoid having to remove the original camera app, my mod has the package name com.google.android.GoogleCameraX and app name Camera X.
    34
    Good news fellows, 240 fps is back and working! Even greater news: I might be able to get better quality of 240fps on our Nexus 5X! That's right, I said it! I used to use the 120 fps video profile for 240 fps, which resulted in very bad bit rate and quality. For this update I had to dig deeper until I found a way to hopefully adjust the bitstream as well. I am still experimenting with this, but it might end up surprisingly well! Stay tuned :)
    26
    I made a flashable zip script to add the build.prop entries for EIS. It seems to work fine for me. I have only tested it myself, so I would recommend making a backup, just in case (I'm not very experienced with scripting update zips). I figured I would share it, since I know it is a bit tedious to manually edit the file after flashing a new ROM. Currently, this does not include the camera app apk.

    Edit: I originally uploaded an unsigned zip. Use the "Enable_EIS-signed.zip" file instead.

    The script in the zip is as follows:

    Code:
    #!/sbin/sh
    #
    # Enable EIS
    # Made By Synesthete
    # Lisence : Do whatever the hell you want! :D
    #
    # ----- WHAT IT DOES ------
    #
    # This script adds entries to your build.prop file in order to enable
    # EIS (Electronic Image Stabilization) in the Google Camera app.
    mount system
    mount data
    # Set Variables
    echo "*  Setting Variables ..."
    echo
    STRING1="persist.camera.eis.enable=1"
    STRING2="persist.camera.is_mode=4"
    echo "*  Variables Set"
    echo
    
    # Check to see if string 1 already exists is build.prop
    echo "*  Checking to see if string #1 already exist in build.prop ..."
    echo
    if grep -Fxq "$STRING1" /system/build.prop
    then
        echo "   String #1 Found. No need to add it."
    else
        echo "   String #1 Not Found. Adding String ..."
        echo "persist.camera.eis.enable=1" >> /system/build.prop
        echo
        echo "   String #1 set."
    fi
    echo
    # Check to see if the string 2 already exists is build.prop
    echo "*  Checking to see if string #2 already exist in build.prop ..."
    echo
    if grep -Fxq "$STRING2" /system/build.prop
    then
        echo "   String #2 Found. No need to add it."
    else
        echo "   String #2 Not Found. Adding String ..."
        echo "persist.camera.is_mode=4" >> /system/build.prop
        echo
        echo "   String #2 set."
    fi
    echo
    echo "*  Done!"
    22
    Hey guys, sorry for being away for so long. I just came back to my home county, settled back in, and I am now somewhat ready to code again. I still have exams and school to catch up with, so don't expect 24/7 work.

    Here is a new idea I came up with: front camera flash (Retina Flash) for my Google Camera mod! Would you guys like to see this? And yes it should work on all phones!
    18
    Changelog:

    30 Apr 2016 -1
    • Fixed HDR+ not working
    30 Apr 2016
    • Updated mod to Google Camera v3.2.042:
      Android N support, UI improvements, faster camera, experimental RAW support, ZSL support
    • Re-implemented mod with new, more stable methods
    • CameraX version system now matches official Google Camera versions
    27 Dec 2015 - Renamed app name and package name to avoid having to uninstall the original app (no root required anymore)
    27 Dec 2015 - Initial release