[LG Optimus 3D] defcomg:
Forced ISO to 100

Forced high Quality Mode which gave me 2.3mb jpeg

but flash not working it only goes on to focus then it does not flash again

ISO MOD @ CameraEngine.smali

Change 0x0 1f to 0x0 1e

0x64 from 1e to 1f

public int setMode(int i)
{
if (i != 0x20000012)
{
if (i != 0x20000009)
{
mParameters.set("mode", "high-quality");
mIsVideoCamera = false;
} else
{
mParameters.set("mode", "high-performance");
mIsVideoCamera = false;
}
} else
{
mParameters.set("mode", "video-mode");
mIsVideoCamera = true;
}
return i;

Changed this in

Mode3Dnomal.smali/ModeNormal from 0x20000005 to 0x20000009

Mode

Some Variables

public static String getImageSizeString(int i)
{
String s;
switch (i)
{
default:
s = "?";
break;

case 17: // '\021'
s = "8M";
break;

case 18: // '\022'
s = "5M";
break;

case 19: // '\023'
s = "3M";
break;

case 20: // '\024'
s = "2M";
break;

case 21: // '\025'
s = "1M";
break;

case 32: // ' '
s = "VGA";
break;

case 33: // '!'
s = "QVGA";
break;
}
return s;

public static MSize getPreviewSize(int i)
{
MSize msize = new MSize(640, 480);
int j;
int k;
switch (i)
{
case 24: // '\030'
case 26: // '\032'
case 27: // '\033'
case 28: // '\034'
case 29: // '\035'
case 30: // '\036'
case 31: // '\037'
case 34: // '"'
default:
k = 640;
j = 480;
break;

case 20: // '\024'
k = 1600;
j = 1200;
break;

case 21: // '\025'
k = 1280;
j = 960;
break;

case 22: // '\026'
k = 1920;
j = 1080;
break;

case 23: // '\027'
k = 1280;
j = 720;
break;

case 25: // '\031'
k = 720;
j = 480;
break;

case 32: // ' '
k = 640;
j = 480;
break;

case 33: // '!'
k = 320;
j = 240;
break;

case 35: // '#'
k = 176;
j = 144;
break;

case 36: // '$'
k = 480;
j = 352;
break;

case 37: // '%'
k = 640;
j = 480;
break;
}
msize.width = k;
msize.height = j;
return msize;
}

public static int transformIso(int i)
{
char c;
switch (i)
{
default:
c = '\0';
break;

case 0: // '\0'
c = '\0';
break;

case 100: // 'd'
c = 'd';
break;

case 200:
c = '\310';
break;

case 400:
c = '\u0190';
break;

case 800:
c = '\u0320';
break;

Case 22 = 1080p
case 23 = 720p
case 25 = D1
case 32 = vga
case 33 = Qvga
case 35 = qcif

mProfile.fileFormat = 2;
Log.v(LogUtils.TAG, "CameraEngine:Crystal OutputFormat mpeg4");
}
if (0x20000111 == j)
mProfile.videoCodec = 2;
else
if (0x20000112 == j)
mProfile.videoCodec = 3;
if (0x20000114 == j1)
mProfile.audioCodec = 1;
else
if (0x20000113 == j1)
mProfile.audioCodec = 3;
else

int i;
int j;
int k;
int i1;
int j1;
int k1;
int l1;
int i2;
int j2;
int k2;
mCameraDevice.unlock();
mMediaRecorder.setCamera(mCameraDevice);
i1 = mVideoParameters.getInt(convertToStringKey(0x10000028), 30);
i2 = mVideoParameters.getInt((new StringBuilder()).append(convertToStringKey(0x10000027)).append("width").toString(), 0);
k1 = mVideoParameters.getInt((new StringBuilder()).append(convertToStringKey(0x10000027)).append("height").toString(), 0);
k2 = mVideoParameters.getInt(convertToStringKey(0x10000038), 33);
i = mVideoParameters.getInt(convertToStringKey(0x10000033), 0x2ee00);
l1 = mVideoParameters.getInt(convertToStringKey(0x10000035), 48000);
j2 = mVideoParameters.getInt(convertToStringKey(0x10000036), 22050);
j = mVideoParameters.getInt(convertToStringKey(0x10000032), 0x20000111);
k = mVideoParameters.getInt(convertToStringKey(0x10000029), 0);
l = mVideoParameters.getLong(convertToStringKey(0x10000030), 0L);
j1 = mVideoParameters.getInt(convertToStringKey(0x10000034), 0x20000113);

public static String getImageSizeString(int i)

{

String s;

switch (i)

{

default:

s = "?";

break;

case 17: // '\021'

s = "8M";

break;

case 18: // '\022'

s = "5M";

break;

case 19: // '\023'

s = "3M";

break;

case 20: // '\024'

s = "2M";

break;

case 21: // '\025'

s = "1M";

break;

case 32: // ' '

s = "VGA";

break;

case 33: // '!'

s = "QVGA";

break;

}

return s;

public static MSize getPreviewSize(int i)

{

MSize msize = new MSize(640, 480);

int j;

int k;

switch (i)

{

case 24: // '\030'

case 26: // '\032'

case 27: // '\033'

case 28: // '\034'

case 29: // '\035'

case 30: // '\036'

case 31: // '\037'

case 34: // '"'

default:

k = 640;

j = 480;

break;

case 20: // '\024'

k = 1600;

j = 1200;

break;

case 21: // '\025'

k = 1280;

j = 960;

break;

case 22: // '\026'

k = 1920;

j = 1080;

break;

case 23: // '\027'

k = 1280;

j = 720;

break;

case 25: // '\031'

k = 720;

j = 480;

break;

case 32: // ' '

k = 640;

j = 480;

break;

case 33: // '!'

k = 320;

j = 240;

break;

case 35: // '#'

k = 176;

j = 144;

break;

case 36: // '$'

k = 480;

j = 352;

break;

case 37: // '%'

k = 640;

j = 480;

break;

}

msize.width = k;

msize.height = j;

return msize;

}

public static int transformIso(int i)

{

char c;

switch (i)

{

default:

c = '\0';

break;

case 0: // '\0'

c = '\0';

break;

case 100: // 'd'

c = 'd';

break;

case 200:

c = '\310';

break;

case 400:

c = '\u0190';

break;

case 800:

c = '\u0320';

break;

Case 22 = 1080p

case 23 = 720p

case 25 = D1

case 32 = vga

case 33 = Qvga

case 35 = qcif

mProfile.fileFormat = 2;

Log.v(LogUtils.TAG, "CameraEngine:Crystal OutputFormat mpeg4");

}

if (0x20000111 == j)

mProfile.videoCodec = 2;

else

if (0x20000112 == j)

mProfile.videoCodec = 3;

if (0x20000114 == j1)

mProfile.audioCodec = 1;

else

if (0x20000113 == j1)

mProfile.audioCodec = 3;

else

int i;

int j;

int k;

int i1;

int j1;

int k1;

int l1;

int i2;

int j2;

int k2;

mCameraDevice.unlock();

mMediaRecorder.setCamera(mCameraDevice);

i1 = mVideoParameters.getInt(convertToStringKey(0x10000028), 30);

i2 = mVideoParameters.getInt((new StringBuilder()).append(convertToStringKey(0x10000027)).append("width").toString(), 0);

k1 = mVideoParameters.getInt((new StringBuilder()).append(convertToStringKey(0x10000027)).append("height").toString(), 0);

k2 = mVideoParameters.getInt(convertToStringKey(0x10000038), 33);

i = mVideoParameters.getInt(convertToStringKey(0x10000033), 0x2ee00);

l1 = mVideoParameters.getInt(convertToStringKey(0x10000035), 48000);

j2 = mVideoParameters.getInt(convertToStringKey(0x10000036), 22050);

j = mVideoParameters.getInt(convertToStringKey(0x10000032), 0x20000111);

k = mVideoParameters.getInt(convertToStringKey(0x10000029), 0);

l = mVideoParameters.getLong(convertToStringKey(0x10000030), 0L);

j1 = mVideoParameters.getInt(convertToStringKey(0x10000034), 0x20000113);

Will Try FIX the flash and take some pics in the day and raise max file size to 6mb from 2.6 theres the apk screwd up for now ISO Disabled in CameraEngine.smali

case 268435481:

s = "iso";

break;

it says this case 268435481:

it should say something like this

case 268435474:
String s1 = convertToStringValue(i, ((Integer)obj).intValue());
if (s1 != null)
mParameters.setiso(s1);
Log.v(LogUtils.TAG, (new StringBuilder()).append("CameraEngine:keyStringTemp = ").append(flag).append(" value = ").append(s1).toString());
break;

its easier when in java but in .smali not so easy