[MOD] ZeroCamera One S | V3.3 | JPG100 | Volume Shutter | 18-JAN Updated]

Search This thread

TechieGeek

Senior Member
Feb 11, 2010
60
33
homio.co
I feel like this is the same as a mod which makes the resolutions of pictures we take 10,000 x 10,000 or something like that (don't mind the values). The point is, the camera can only record up to what that sensor can record. Trying to record anything higher than that will only fill a file with 'useless' information to make it bigger (as in, if the camera hardware can't physically record more than something, it really can't record more than that rate).

Or you can look at it another way. Our cameras save JPG photos. What would be the point of saving them as RAW photos, just for a minimal quality boost? The tiny camera that was engineered to be small and power efficient just can't take photos the size of some of these newer DSLRs.

A camera phone and 40Mbps just don't mix .
 

pirlano

Senior Member
I feel like this is the same as a mod which makes the resolutions of pictures we take 10,000 x 10,000 or something like that (don't mind the values). The point is, the camera can only record up to what that sensor can record. Trying to record anything higher than that will only fill a file with 'useless' information to make it bigger (as in, if the camera hardware can't physically record more than something, it really can't record more than that rate).

Or you can look at it another way. Our cameras save JPG photos. What would be the point of saving them as RAW photos, just for a minimal quality boost? The tiny camera that was engineered to be small and power efficient just can't take photos the size of some of these newer DSLRs.

A camera phone and 40Mbps just don't mix .

I think sensor is really not bad since can do something like 100/120fps with 800x480, also there is a BSI chip that help a lot in low light condition (so framerate with low light it's a bit better), so i don't think that increasing bitrate is a bad thing. I think we are much more limited with emmc write speed (20/30mbps). Also i think that 40mbps video are too big. 20 is a good compromise and works good with our emmc :)
I'm going to search fps cap for personal purpose/education (in both camera.apk and camera *.so libs, pretty sure this time that fps cap is not in media_profiles) in normal video recording (it should be 30 or 31, i remeber i've seen somewhere the value 31 hardcoded), i really think that our phone can go higher :D
 

psylooooo

Senior Member
May 11, 2010
476
128
Argelès/mer
Samsung Galaxy S22 Ultra
Thanks for that, actually my phone is at repair center, i'll try that when I receive it (I hope it will be a S4 model).
Someone can say if it makes real difference between stock bitrate and 20 Mb/s bitrate ?
Thank you again !
 

jboy15

Senior Member
Dec 11, 2010
289
89
ewa beach
Any samples between stock and 40 mbps? Also how many mbps is the original?

Sent from my galaxy one s3 lol
 
Last edited:

ICWS

Senior Member
Jan 9, 2009
282
27
I use 20 Mbs and it looks great. There aren't "pixel blocks" anymore when you move fast while recording. So yes there is an improvement.
I think 40 Mbs are too much, but modifying the framerate would be awesome.
 

pirlano

Senior Member
after some research i found that media_profiles fps are capped by camera.apk, but after camera.apk hack (stock values are 15fps for MMS, 30fps for video, 120fps for slow motion video) there is an other cap in some *.so lib:

E/CameraSource( 4054): Requested frame rate (60) is not supported: 5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
D/CameraSource( 4054): Change frame rate into default value: 31

(this message came from libstagefright.so, but i can't still find where values are stored, maybe in other libs, unfortunately nothing is open source and RE is hard, still searching...)
i'll be very happy if someone more aknowledged can help me :) currently studying open source implementation of that part (not One S one since they are closed libs), a lot of parts are very similar
EDIT: FOUND something very similar: http://source-android.frandroid.com/frameworks/base/media/libstagefright/CameraSource.cpp
EDIT2: http://source-android.frandroid.com/frameworks/base/libs/camera/CameraParameters.cpp
this one should communicate with camera app (i hope), searching KEY_SUPPORTED_PREVIEW_FRAME_RATES or similar now :D it's in camera.msm8960.so

also camera.msm8960.so is very important and contains slow motion multiplier value, maybe a jpeg quality cap too

i've very little time to research since i'm finishing exams, i hope to finish my research and share all results (maybe helpful for One X too)
 
Last edited:

iheartn1

Senior Member
Mar 20, 2010
134
24
after some research i found that media_profiles fps are capped by camera.apk, but after camera.apk hack (stock values are 15fps for MMS, 30fps for video, 120fps for slow motion video) there is an other cap in some *.so lib:

E/CameraSource( 4054): Requested frame rate (60) is not supported: 5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
D/CameraSource( 4054): Change frame rate into default value: 31

(this message came from libstagefright.so, but i can't still find where values are stored, maybe in other libs, unfortunately nothing is open source and RE is hard, still searching...)
i'll be very happy if someone more aknowledged can help me :) currently studying open source implementation of that part (not One S one since they are closed libs), a lot of parts are very similar
EDIT: FOUND something very similar: http://source-android.frandroid.com/frameworks/base/media/libstagefright/CameraSource.cpp
EDIT2: http://source-android.frandroid.com/frameworks/base/libs/camera/CameraParameters.cpp
this one should communicate with camera app (i hope), searching KEY_SUPPORTED_PREVIEW_FRAME_RATES or similar now :D it's in camera.msm8960.so

also camera.msm8960.so is very important and contains slow motion multiplier value, maybe a jpeg quality cap too

i've very little time to research since i'm finishing exams, i hope to finish my research and share all results (maybe helpful for One X too)

you can try looking at: http://xdaforums.com/showthread.php?t=1533238

this mod works on our phone too btw
 

pirlano

Senior Member
you can try looking at: http://xdaforums.com/showthread.php?t=1533238

this mod works on our phone too btw

this mod is NOT useful for us, since jpeg compression is already set to 0 in Sense 4 by default (thx HTC) and video bitrate can be modded easily via media_profiles (like zeroprobe did), there are some caps in camera.apk but seems not used at all.

All i'm researching is something else: i'm studying how slow motion works, and how to remove fps caps, and other caps in the libs.

I'm currently searching default camera parameter, maybe i found something hardcoded in framework.jar (other phones got a *.xml for camera parameter but it's not our case)
 

BackDaws

Senior Member
Oct 19, 2011
1,654
236
England
this mod is NOT useful for us, since jpeg compression is already set to 0 in Sense 4 by default (thx HTC) and video bitrate can be modded easily via media_profiles (like zeroprobe did), there are some caps in camera.apk but seems not used at all.

All i'm researching is something else: i'm studying how slow motion works, and how to remove fps caps, and other caps in the libs.

I'm currently searching default camera parameter, maybe i found something hardcoded in framework.jar (other phones got a *.xml for camera parameter but it's not our case)


But people have posted that its working so surely this mod IS useful ?

have HTC capped 1080p down because of the 16GB or is the ONE X also capped at 13mbps, what bitrate is the Galaxy S3 running at in 1080p.

Also i complained about the 1080p quality in the One S Q&A that the picture quality was very blocky and digitized when moving or walking and recording and was basically told my phone was faulty, this thread proves otherwise now doesnt it :)

EDIT: im using the 20mbps mod and im well impressed now, the slight stutter and blockyness has gone :) the movement is now very smooth, thanks mate this is a keeper :)
 
Last edited:
  • Like
Reactions: Elloco305

ICWS

Senior Member
Jan 9, 2009
282
27
Is it possible to improve framerate stability? For example in dark areas the framerate goes down to nearly 15 fps and this looks terrible. When I used the Xperia Arc S from my aunt I noticed that it records at stable 30 fps even in low light conditions. The recorded video was darker but you still could see details. Any chance this could be managed on 1S?

EDIT: By the way the Arc S just has 1,4 ghz singlecore!
 

zeroprobe

Senior Member
Apr 20, 2010
1,387
1,436
Updated mod

Camera.apk bitrate limit raised to 20Mb

Increased JPEG file cap. Not sure how this works if you would like to test and see if you can get bigger files I would like to know.
 
  • Like
Reactions: pirlano

mannequin

Senior Member
Feb 7, 2011
1,603
362
New York
i think Sensation camera mod offered the uncompressed pictures option (maybe i'm totally wrong though). wondering if it's possible here.
 

Will972

Senior Member
Feb 17, 2011
1,886
1,591
paris
OPPO Find X3 Pro
After flashing, camera is still stock camera and tried to push via root explorer and no camera .. what's wrong
I'm rooted and running trickdroid's rom

Sent from my HTC One S using xda app-developers app
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 67

    UPDATE 18/01/13 :

    V3.3 ( For roms with JB 3.16 base )
    -----------------------------------------------------------------------
    * Fixed audio bitrate and channels. Thanks lthawker :)
    -----------------------------------------------------------------------

    This camera is based off lyapota's - One X HTCCamera JB Plus, Extrim edition. Thanks for the awesome camera.
    http://xdaforums.com/showthread.php?t=1925013

    I compared the code of the One S and X cameras and it was 99% the same. I have added the few code changes and also some images had to be resized for the One S.

    40/30/20 Mbps are now selectable from the settings menu of the camera.
    Image Non Forced and Forced 100% is the same.

    Video Auto mode = 30 Mbps
    Image Quality non forced = 100%



    UPDATE 05/09 :

    V2.3 ( For roms with 2.31 base, eg ViperOneS 1.1 )
    -----------------------------------------------------------------------

    * Added optional Volume+Up Camera Shutter ( in Camera app only. Normal functionality when not using Camera )
    * Fixed JPEG 100 bug. Thanks abo_mara7
    * All in one installer. Choose from

    Quick test I did. I zoomed in on my monitor and took some video, these are two screenshots from the stock camera and 40mbps. Tried to keep the zoom level the same to make it a fair test.

    http://s8.postimage.org/b6niv6vat/10mbps.png
    http://s8.postimage.org/bkouusfed/40bmps.png

    Download

    ZeroCamera V3.3 / for JB 3.16 base roms
    Download

    ZeroCamera V2.3 / for 2.31 base roms
    Download

    ZeroCamera V1.21 / for pre 2.21 base roms
    Download
    9
    Updated the camera based off lyapota's - One X HTCCamera JB Plus, Extrim edition. Many Thanks to him.

    Check the first page.
    5
    Sorry for my noobness but I'm guessing the bigger the number the better the quality of the picture will be?

    Sent from my HTC VLE_U using xda premium

    You got it.
    5
    Updated latest Camera 2.31, check the original post.

    Framerate seems very smooth on the new camera.

    Damn all these updates :)
    5
    i want to share with your some results :)

    i'm currently using decompiled with JAD camera to find some values and i'm using baksmali/smali to make changes (because smali it's 1:1 copy with bytecode and recompiling smali will make no difference with original code, recompiling java can create some differences with old code, it's hard to make future changes)

    using baksmali-1.3.3 i found these value:

    zeroprobe found photo max size here (props to zeroprobe :D )
    \com\android\camera\ResolutionSize.smali
    (maybe it's useful to mod lower resolution too, not only 8MPixel)

    also there are video bitrate values in:
    \com\android\camera\RecordLimitCheck.smali
    (maybe we should set the same bitrate value of media_profiles to get better stability??)

    also maybe we can increase audio quality, didn't search for that but should be simple

    about FPS hacks - Slow Motion etc etc:

    of course we need modded media_profiles for 1st fps cap
    than we can control fps here:
    \com\android\camera\CameraThread.smali
    at line 15724 there is: const/16 v16, 0x78 #120 FPS for slow motion
    at line 15730 there is: const/16 v16, 0x1e #30 FPS for normal video recording

    I also found:
    \com\android\camera\component\CaptureBar$14.smali
    at line 472 there is: const/high16 v10, 0x4080 #4.0 float multiplier for slow motion 4x

    \com\android\camera\component\RecordingTimerUI$1.smali
    at line 205 there is: const/high16 v6, 0x4080 #4.0 float multiplier for slow motion 4x

    and slow motion resolutions size:
    \com\android\camera\MovieModeHandler.smali
    at line 1528 there is: const/16 v1, 0x300 #768
    at line 1530 there is: const/16 v2, 0x1b0 #432
    can be increased to 800x480 without problem, more than this i get a black screen

    than i found with static analysis and IDA Pro 6.1 some default camera parameter in lib/hw/camera.msm8960.so and lib/libcamera_client.so

    for example in camera.msm8960.so there is slow-motion-x = 04 in 0x000189D4 (slow motion multiplier hardcoded)
    and slow-motion-res = 768x432 here: 0x0002D46A (slow motion resolution hardcoded in libs)

    still searching where default-frame-rate is hardcoded (default fps is 31, 0x1F), if we found it, we can remove 31fps cap!!!

    Trying to debugging *.so libs but my spare time is ended...time to study for last exam and thesis :D

    Also we can check all default camera parameters with CameraGetParams app (use GooglePlay! It's free!)