Related
I recently got an Optimus S and am disappointed that the camera has no exposure control. It's almost a deal breaker because it's such a step down from my old Samsung m510 flip phone's camera. I have posted at length about it on androidcentral, but here is the deal:
The Optimus S has no exposure control, even though the T definitly does, and by one review, the Optimus U does too. It's not a matter of the camera app; even apps that show an exposure slider have no effect on the exposure. (Scene modes also have no effect.) Because the hardware is so similar on all these phones, I can't believe it's simply a hardware limitation - the app, camera driver, or the interface between the driver and Android's java APIs, has to control exposure somehow in software, right?
I got ahold of some other roms, from the Optimus T and the V, and tried swapping all lib files with camera in the name - libcamera, libcamera_client, libcameraservice, and liboemcamera on both phones, and additionally libOlaCameraJNI, libOlaEngine, and libOlaMaskResource on the T. Rebooting with various combinations of those resulted in a hang on boot, crashing camera apps, or no effect at all. Also tried installing CameraApp.apk from the T's rom to no effect.
Downloaded the S and U's source code from LG, ran a diff, and noticed that the Optimus U's kernel/drivers/media/video/msm folder has some differences compared the Optimus S's, including at least one file that the S doesn't have at all that seems to send different hex codes for setting exposure values. I also think the T had similar differences from the S. So I copied the msm folder over from the U to the S, compiled the S kernel from scratch, flashed it, and verified it was actually running from my new kernel, but the camera apps still had no control over the exposure.
Flashing a custom rom from the V will allow the S to boot, but doesn't give camera control. Flashing a rom from the T will make it hang while booting.
Where else can I go with this? Is there some bridge between the kernel drivers and the Android camera API (look up Camera.Parameters in the android dev site), that I'm missing? What actually goes between a call to getMinExposureCompensation() and the kernel to find out what capabilities the camera has? Again, I don't see how the Optimus S hardware would simply not support exposure adjustments when other Optimus phones do.
Thanks!
Found Camera.java in frameworks/base/core/java/android/hardware from Google's source code. It says "This class is a client for the Camera service, which manages the actual camera hardware." Then I looked for the camera service, which I found at frameworks/base/services/camera/libcameraservice . But this is in Google's code, not LG's device-specific code, which leads me to believe that this stuff is the same across every phone. So I'm still trying to figure out where in the software exposure control happens.
Bump. Tried boggling around more folders and config files between various kernels from different versions of this phone. Am now thinking about using the ndk and modifying the original camera app. Will I be able to use it to access the hardware directly in native code and send exposure adjustments to the camera?
The file kernel/drivers/media/video/msm/isx005.c (for a Sony camera chip - how do I know if that's what's actually in my phone?) contains the following code:
It looks like the other files in kernel/drivers/media/video/msm allow have functions along the lines of [chipname]_write_exp_gain(uint16_t gain, uint32_t line).
Code:
static int32_t isx005_set_brightness(int8_t brightness)
{
int32_t rc = 0;
switch (brightness) {
case 0:
rc = isx005_i2c_write(isx005_client->addr,
0x0060, 0x80, BYTE_LEN);
if (rc < 0)
return rc;
rc = isx005_i2c_write(isx005_client->addr,
0x0061, 0x50, BYTE_LEN);
if (rc < 0)
return rc;
break;
case 1:
rc = isx005_i2c_write(isx005_client->addr,
0x0060, 0x80, BYTE_LEN);
if (rc < 0)
return rc;
rc = isx005_i2c_write(isx005_client->addr,
0x0061, 0x60, BYTE_LEN);
if (rc < 0)
return rc;
break;
case 2:
...etc.
It still seems that auto exposure control wouldn't happen in the camera firmware. Maybe I'm wrong?
edit: from the looks of these files, it seems like it's done in firmware. Still, would I be able to call these exposure functions from an application built using ndk?
Another edit: from kernel/arch/arm/configs/thunderc-sprint-perf_defconfig:
Code:
#
# Qualcomm MSM Camera And Video
#
CONFIG_MSM_CAMERA=y
# CONFIG_MSM_CAMERA_DEBUG is not set
#
# Camera Sensor Selection
#
# CONFIG_MT9T013 is not set
CONFIG_ISX005=y
CONFIG_ISX005_ROTATION_180=y
# CONFIG_MT9D112 is not set
# CONFIG_MT9P012 is not set
# etc, etc, etc - no other camera drivers enabled
The time changes in build.prop walk testing, here are some improvements ...
They can also be applied to stock roms!
The optimization can vary from one device to another (I believe)! : Confused:
Be careful not to duplicate lines!
If you do not have the line, you can add it to end!
For the changes you need a file manager (with root access)
How: Go to System / build.prop build.prop and open with text editor and add (if not already) or change for better results!
Just made the changes save and exit and restart the machine!
Note: I am not responsible for killing your phone! Use at your own risk! It is indicated by guarantee having a backup!
1. Increase to 100% quality JPG
Code:
ro.media.enc.jpeg.quality = 100
2. render UI for GPU
Code:
debug.sf.hw = 1
3. Decrease delay dial
Code:
ro.telephony.call_ring.delay = 0
4. Help answer scroll (higher the value, the answer scroll!)
Code:
windowsmgr.max_events_per_sec = 150
5. battery Save
Code:
wifi.supplicant_scan_interval = 150
pm.sleep_mode = 1
ro.ril.disable.power.collapse = 1
6. Disable debugging notification icon in the status bar
Code:
persist.adb.notify = 0
7. Increase the overall touch response
Code:
debug.performance.tuning = 1
video.accelerate.hw = 1
8. Signal (3G) tweaks
Code:
ro.ril.hsxpa = 2
ro.ril.gprsclass = 10
ro.ril.hep = 1
ro.ril.enable.dtm = 1
ro.ril.hsdpa.category = 10
ro.ril.enable.a53 = 1
ro.ril.enable.3g.prefix = 1
ro.ril.htcmaskw1.bitmask = 4294967295
ro.ril.htcmaskw1 = 14449
ro.ril.hsupa.category = 5
9. Net speed settings
Code:
net.tcp.buffersize.default = 4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi = 4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts = 4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs = 4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge = 4096,87380,256960,4096,16384,256960
10. Disable the animation to boot faster startup
Code:
debug.sf.nobootanimation = 1
11. Phone will not wake up by pressing the volume
Code:
ro.config.hwfeature_wakeupkey = 0
12. enable JIT
Code:
dalvik.vm.execution-mode=int:jit
13. disable JIT
Code:
dalvik.vm.execution-mode=int:fast
14. enables lockscreen to unlock menu button (true = false = enable and disable)
Code:
ro.config.hw_menu_unlockscreen = false
15. disable black screen after a call
Code:
ro.lge.proximity.delay = 25
mot.proximity.delay = 25
16. Fix some application issues
Code:
ro.kernel.android.checkjni=0
17. Photos and videos with the recording quality
Code:
ro.media.dec.jpeg.memcap = 8000000
ro.media.enc.hprof.vid.bps = 8000000
There are some other tweaks, so far posted only tested by me! If anyone has any better or any setting is only post I will be making additions and changes! Enjoy!
Credits Jazux Knzo and the same!
Thanks
Sorry for poor English!
Nice work that you got them all together! /sarcasm
To bad you did not link to the original topic and give proper credits for the man that searched for hours and hours to make a complete list
Sent from my Optimus 2X using xda premium
owain94 said:
Nice work that you got them all together! /sarcasm
To bad you did not link to the original topic and give proper credits for the man that searched for hours and hours to make a complete list
Sent from my Optimus 2X using xda premium
Click to expand...
Click to collapse
Yes, nice work. I don't care about the original link as long as this particular one is the one that helps ME.
So thanks, this was helpful!
owain94 said:
Nice work that you got them all together! /sarcasm
To bad you did not link to the original topic and give proper credits for the man that searched for hours and hours to make a complete list
Sent from my Optimus 2X using xda premium
Click to expand...
Click to collapse
Ok! As the credits!
They were not taken from only one site.
Owain shut up, because the ones like you people dont want to develop for minis and you will scare away another dev/programer
Sent from my U20i using XDA Premium App
Driveskull said:
Owain shut up, because the ones like you people dont want to develop for minis and you will scare away another dev/programer
Sent from my U20i using XDA Premium App
Click to expand...
Click to collapse
Ehhm excuse me?
Chill out man you don't know me
And I don't scare him away
I just told the man to give proper credits
the tweaks he post are nice tweaks...
But it is nice to see some credits
Gustavo RD78 said:
Ok! As the credits!
They were not taken from only one site,
sorry, it was not my intention!
Click to expand...
Click to collapse
No need to sorry was just saying you know
Sent from my Optimus 2X using xda premium
Nice to see Owen94 around in mini forum .. he was the most exiting developer for mini .. newbies should think before commenting on recognized developers like him...
Sent from my X10mini using XDA App
anything from this topic has effect on miniCM7 2.1.1 with new kernel?
llava said:
anything from this topic has effect on miniCM7 2.1.1 with new kernel?
Click to expand...
Click to collapse
Yes, I did several tests and all those who tried were successful!
But you can guarantee to keep a backup ... : P
Hi!
I want to change the audio bitrate in video recording.
possible to make code for this or no?
ES File Exlorer FORCE CLOSES
I tried except 4,6,10,11,12,13,14,15 and then my ES file explorer got this problem. It won't open and prompt force close
Hi all,
I have attempted to make a custom ringtone using WavePad (some free popular sound recording/editing software), and copied it over to the Ringtones folder in my S3 as a 320kps mp3 file. For a short 32 secs, it's weighing in at 1.2mb.
But when I played it back on my S3, it sound horrible compared to the default ringtones already in my S3. They just sound SO MUCH clearer.
Any ideas on how to improve the quality of my custom ringtone?
Hope i'm asking on the correct forum!
Thanks.
kai2810 said:
Hi all,
I have attempted to make a custom ringtone using WavePad (some free popular sound recording/editing software), and copied it over to the Ringtones folder in my S3 as a 320kps mp3 file. For a short 32 secs, it's weighing in at 1.2mb.
But when I played it back on my S3, it sound horrible compared to the default ringtones already in my S3. They just sound SO MUCH clearer.
Any ideas on how to improve the quality of my custom ringtone?
Hope i'm asking on the correct forum!
Thanks.
Click to expand...
Click to collapse
Try change to OGG format
Stock ringtone format .
General
mod\system\media\audio\ringtones\12_Mother_Nature.ogg
Format : OGG
File size : 390 KiB
Duration : 25s 127ms
Overall bit rate mode : Variable
Overall bit rate : 127 Kbps
Album : Samsung
Track name : Mother Nature
Performer : Samsung
Genre : Ringtone
Comment : Samsung
ANDROID_LOOP : true
Audio
ID : 7847 (0x1EA7)
Format : Vorbis
Format settings, Floor : 1
Duration : 25s 127ms
Bit rate mode : Variable
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 393 KiB
Writing library : libVorbis 1.0 (UTC 2002-07-17)
Hi guys,
I just tried recording and saving as an OGG format using WavePad, transferred it over to my S3, but no sound came out when selecting that file as a ringtone in the sound settings.
Did I miss something?
Hello, someone ported the LG G2 Stock Camera and it works on my device p760 running cm10.2 and it will work on aosp 4.3 and CM 10.2
http://forum.xda-developers.com/showthread.php?t=2522889
Fl3kzZ said:
Hello, someone ported the LG G2 Stock Camera and it works on my device p760 running cm10.2 and it will work on aosp and probably also stock
http://forum.xda-developers.com/showthread.php?t=2522889
Click to expand...
Click to collapse
thanks but i cant install it on stock jb
It actually brings back fullHD recording on my P768 (P778g variant with 8mp camera) on a non-stock ROM, very nice!
Im using CM10.2
This is the data of a video with 1920x1080 30fps setting on very low light (its night here):
Code:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=29
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 11s 623ms
Source duration : 11s 643ms
Bit rate : 1 020 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Rotation : 90°
Frame rate mode : Variable
Frame rate : 14.944 fps
Minimum frame rate : 11.466 fps
Maximum frame rate : 14.978 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.033
Stream size : 1.42 MiB (61%)
Source stream size : 1.42 MiB (61%)
Title : VideoHandle
Language : English
Encoded date : UTC 2013-11-14 02:00:26
Tagged date : UTC 2013-11-14 02:00:26
mdhd_Duration : 11623
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 12s 54ms
Bit rate mode : Constant
Bit rate : 96.0 Kbps
Channel count : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 142 KiB (6%)
Title : SoundHandle
Language : English
Encoded date : UTC 2013-11-14 02:00:26
Tagged date : UTC 2013-11-14 02:00:26
And this is from a video with 1920x1080 60fps setting also on very low light :
Code:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=29
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 39s 72ms
Source duration : 39s 187ms
Bit rate : 29.9 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Rotation : 90°
Frame rate mode : Variable
Frame rate : 12.045 fps
Minimum frame rate : 4.636 fps
Maximum frame rate : 24.026 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 1.196
Stream size : 139 MiB (99%)
Source stream size : 140 MiB (99%)
Title : VideoHandle
Language : English
Encoded date : UTC 2013-11-14 02:00:02
Tagged date : UTC 2013-11-14 02:00:02
mdhd_Duration : 39072
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 39s 745ms
Bit rate mode : Constant
Bit rate : 96.0 Kbps
Channel count : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 466 KiB (0%)
Title : SoundHandle
Language : English
Encoded date : UTC 2013-11-14 02:00:02
Tagged date : UTC 2013-11-14 02:00:02
Now i need to test on day light.
The fps is 12-14 so not much but indeed its right resolution and i wonder how the quality Is and sorry if it doesnt work on stock.
I i think android version to low but not sure
Might check it out tonight gonna flash cm 10.1 and checkout the app
Send from my LG P760 cm 10.2 (soon kitkat 4.4 by mateo1111)
Fl3kzZ said:
The fps is 12-14 so not much but indeed its right resolution and i wonder how the quality Is and sorry if it doesnt work on stock.
I i think android version to low but not sure
Might check it out tonight gonna flash cm 10.1 and checkout the app
Send from my LG P760 cm 10.2 (soon kitkat 4.4 by mateo1111)
Click to expand...
Click to collapse
The fps are low on low light when adjusting exposition, but on day light i always get 24 fps. Quality is the same as stock. No more reason to go back now (i hate stock rom anyways)
mato_d007 said:
The fps are low on low light when adjusting exposition, but on day light i always get 24 fps. Quality is the same as stock. No more reason to go back now (i hate stock rom anyways)
Click to expand...
Click to collapse
so this is a fix for the 1080p video bug
Fl3kzZ said:
so this is a fix for the 1080p video bug
Click to expand...
Click to collapse
Pretty much. But the app needs some more tweaking to be perfect, currently the front facing camera cant connect and there is two useless 10 and 12 megapixel options that will take a 1mpx foto (our hardware cant do it so it resets to 1 apparently). Some other G2 features dont work but thats also a hardware thing. I think that we could edit the apk to remove the non working features (because of a diferent hw) and fix the front facing camera, and then we will have a better camera experience on AOSP/CM.
mato_d007 said:
Pretty much. But the app needs some more tweaking to be perfect, currently the front facing camera cant connect and there is two useless 10 and 12 megapixel options that will take a 1mpx foto (our hardware cant do it so it resets to 1 apparently). Some other G2 features dont work but thats also a hardware thing. I think that we could edit the apk to remove the non working features (because of a diferent hw) and fix the front facing camera, and then we will have a better camera experience on AOSP/CM.
Click to expand...
Click to collapse
Well im getting started on learning abour building roms etc and more, though it will be a long process cause i dont have that much time
Send from my LG P760 cm 10.2 (soon kitkat 4.4 by mateo1111)
Well,p760 have a 5mpx camera and only a half of options works
Sent from my P760 using Tapatalk 2
zviki said:
Well,p760 have a 5mpx camera and only a half of options works
Sent from my P760 using Tapatalk 2
Click to expand...
Click to collapse
thats true but that will be fixed, though it will take some time cause i need to learn
Don't work on MIUI.
noisexoma said:
Don't work on MIUI.
Click to expand...
Click to collapse
what version of miui?
Fl3kzZ said:
what version of miui?
Click to expand...
Click to collapse
MIUI v5 3.11.15 EN by ZduneX25
noisexoma said:
MIUI v5 3.11.15 EN by ZduneX25
Click to expand...
Click to collapse
Maybe its because android 4.2.2 i run cm 10.2 wich is android 4.3
Check out my post on XDA Thread : http://forum.xda-developers.com/google-nexus-5/themes-apps/app-omnirom-dsp-manager-rom-extra-t3179056
WORK ON ALL NOTE 4 Variant
Now with 12 bands equalizer!!!
CPU usage around 35%-60%!!!
DSP Manager for me is a amazing audio effect. But new features only develop for Omnirom, that's a disappointment.
So what I done is modifying original DSP Manager source code to add audio framework component into it to make it works, now I'm able to add more new effects and options into it easily. Also, it basically work for any CPU.
Now support LOLLIPOP and Marshmallow devices.
Original DSP Manager features:
1. Compression
2. Bass Boost
3. Virtualizer
4. 12 Band Hybrid Equalizer (1 low shelf, 9 band shelves, 1 adjustable-Q band shelf, 1 high shelves)
5. Stereo Widen
6. Adjustable Low pass filter(Bass Boost)
7. 3 custom bass boost mode
On development:
1. Linear phase FIR Equalizer------Status: Windowed Sinc FIR Coefficient generator works!
2. Equalizer presets
3. Parameterized Room Convolution
---I solve bugs appear in Omnirom version. It now can do preset saving/loading on each tab without restriction.
7. Noise reduced compare with original one, since it turn on Triangular Probability Dither only when suitable strength applied. Compression, Virtualizer and Stereo Widener have zero noise!
Misc change: Remove log for reduce binary size.
New icon design and Russian translation by XDA member scrubber
Download it on Github:
Github Page: https://james34602.github.io/JamesDSPManager/
How to install?
1.copy app into your /system
2.copy lib variant of corresponding platform you got.
e.g. For ARM cpu, rename lib_arm to lib and copy it into your /system
For x86 cpu, rename lib_x86 to lib and copy it into your /system
3.copy vendor into your /system
Why use this equalizer/effects?
This is fully open source, no extra code added, check above Github link.
Will NOT deal with anything with SELinux
Current Updates and FUTURE Update:
25th October, 2016
1. Update code in order to compile successfully on latest Clang compiler.
2. Add one more build option, the 'ARM Mode'. I'm not sure it is work for you or not, if it works, it really process faster, and more power saving.
23th October, 2016
1. Remove unused stuff, interpolation, etc. Less calculation instructions.
22th October, 2016
1. Reduce band number to 12, reduce CPU usage to minimize audio lag.
24th September, 2016
1. Fix permission grant on Android 6.0 when saving preset.
3rd September, 2016
1. Bands frequency fix.
2. Bands bandwidth fix.
3. Use stlport_static for reduce binary size
15th Augest, 2016
1. 14 Band Hybrid equalizer
--- (Latest)Equalizer band 13 fix.
2. More bass boost mode, more low pass filter slope selection.
3. Minor improvement on Virtualizer.
4. New icon and Russian translation.
5. Reduce binary size
...........
Unknown date
Unknown change
...........
2nd Aug 2015
1. Initialize repository.
2. All feature merged with Omnirom and run success on other roms.
Tested CPU: Snapdragon, Exynos, Intel i7 and Atom series
Will nerver support KitKat
NOW SUPPORT both LOLLIPOP and KITKAT
I make a new bass boost mode that make difference sound from every DSP Manager, it will not attenuate signals even high Q filter!
Hi James, i have install the flashable.zip i can open the app and do the setup but no Effects on Note 4 Snapdragon with Alexanders dev base MM 6.0.1
regards
sonic76
Working great on Emotion Rewolution 15.1 on Note 4 SM-N910F MM 6.0.1
Wysłano z SM-N910F
I reach my milestone and made 14 Band Equalizer works @ 32, 64, 126, 200, 317, 502, 796, 1260, 2000, 3170, 5020, 7960, 13500 and 15000 Hz
And more nice bass filters
I have done more on optimize the audio engine, it use less and less CPU usage than before.
So far I have update:
Pure stereo widening.
Reduce band number to 12 bands.