Yi hacked resolution 2304x1296 30fps 35Mbits

Why the raw photos has a diferente colors? I mean the jpg has a "cooler" colors than raw. Why?
https://en.wikipedia.org/wiki/Raw_image_format
Wikipedia explains raw image format pretty well. IMHO 99% of Yi owners have no good reason to use raw format. Fun to play with maybe, but otherwise a waste of time.

To answer your question, raw images give you the data from the image sensor directly, with no processing, while other file types, such as JPG cause the image to be processed in the camera for good color balance. That's why you see the difference in color.

<Edit>: "Good color balance" assuming a properly exposed image. Under-exposure or over-exposure will result in a well balanced underexposed or overexposed image. Unbalanced lighting will result in unbalanced color.
 
Last edited:
Has these been tested?
Width Height Fps Default bitrate
0 2560 1440 29,97 4190
1 2560 1440 29,97 4170
2 2560 1440 29,97 4140

I tried #0 yesterday. Camera choked. Nearly lost my SDXC card - took me 2 hours to recover it.
 
How you tried it?
Sorry, I misread your question...
How I tried it:
- Download funnel's bundle of scripts from Github.
- Copy the appropriate autoexec.ash file from 1.1.0-fw/Resolution/Experimental_high_res to the root level of my SD card in the camera.
- Start the camera.
- On startup, the resolution is set at 2560 x 1440 30fps. according to my IOS app.
- Use the IOS app to start shooting test video.

After a few seconds, the app went into a "busy" state & stayed that way - probably because my camera's on FW 1.20 and not 1.10. :(
 
Last edited:
I have tested these resolutions too with no issues on short recordings.. but I didn't see any improvement to 2.3k mode.. it's probably only upscaled so there's also more CPU intensive and thus more overheating may occur
 
Whats the correct script for 720p 30 /35 mbps for 1.2.0?
 
If i am already using autoexex.ash for wifi-client mode (from the forum here) can i just add the lines in the funnel scripts? or is there some order i need to respect? a how-to 4 dummies, please.
 
Hey thx for this script Funnel it will be pretty usefull for me but i have a little question;
If i put a new line on the autoexec like in the exemple below did the 1080p @ 30Mb/s bitrate AND the 2.3k resolution will work ?
Code:
#set video resolution to 2304x1296 30fps
writeb 0xC06CE446 0x02

#set bitrate to 30Mb/s
writew 0xC05C1006 0x41F0

#set bitrate 1920x1080 60fps 30Mbps
writew 0xC05C1036 0x41F0

*it's a combination between your 1080p 30 Mb/s and your 2,3k res from github. (1.2 fw)
 
@funnel sorry to trouble you again, I still don't know how to find the resolution address, based on fw 1.2.6 or fw 1.1.0:
Code:
fw 1.2.6
writeb 0xC06CE446 0x##
0xC06CE446 - 0xC0100000 = 0x005CE446

fw 1.1.0
writeb 0xC0697626 0x##
0xC0697626 - 0xC0100000 = 0x00597626

but where I can find the address ?
Code:
fw 1.2.6: 0x005CE446
fw 1.1.0: 0x00597626
 
The resolution and bitrate addresses are the same on 1.2.0 and 1.2.6.

You can't find it like you posted. It's more complicated. It involves disassembling, searching and figuring out the code in the firmware. If you need to ask to it's to much to explain.
 
Yes, I found it, it was the last bitrate in the table. By default is set to 18Mbits.

Code:
#1.0.12 1280x720 120fps 25Mbps
writew 0xC05C3206 0x41C8

#1.0.12 1280x720 120fps 30Mbps
writew 0xC05C3206 0x41F0

#1.0.12 1280x720 120fps 35Mbps
writew 0xC05C3206 0x420C

Hi funnel, do you know what the script for 720 120p 35Mbps for firmware 1.26? thank you
 
up
Hey thx for this script Funnel it will be pretty usefull for me but i have a little question;
If i put a new line on the autoexec like in the exemple below did the 1080p @ 30Mb/s bitrate AND the 2.3k resolution will work ?
Code:
#set video resolution to 2304x1296 30fps
writeb 0xC06CE446 0x02

#set bitrate to 30Mb/s
writew 0xC05C1006 0x41F0

#set bitrate 1920x1080 60fps 30Mbps
writew 0xC05C1036 0x41F0

*it's a combination between your 1080p 30 Mb/s and your 2,3k res from github. (1.2 fw)
 
"Bitrate and resolution values are the same as firmware 1.2.0", does it mean that I can use 1.2.0 autoexec for 1.2.6 ?
Thnks :)
 
Hello funnel

I tried to understand how to make a script for 2560 x 1440 30fps 25Mbps
using your table :
[res_bitrate_fps_addr.txt]
but to be honest I don't understand really how you set anything ^^


for example I took a look at your 2304 x 1296 30fps 25Mbps :
Code:
#set video resolution to 2304x1296 30fps
writeb 0xC06CE446 0x02

#set bitrate to 25Mb/s
writew 0xC05C1006 0x41C8
I can't find C06CE446 in it, but I did find C05C1006 & 41C8 but at a different line

So could you please try to explain a bit how you set diff resolutions / bitrates so people can make their own script w/o bugging you all the time (or for learning purpose)

I suppose that your write the word 0x41C8 (16840 ?) at the address 0xC05C1006 ?

Following this method would mean you write the byte 0x02 (2 ?) at the address 0xC06CE446.
But I can't find this address in your [res_bitrate_fps_addr.txt] file on github.

Also does this mean (the 0x02 thing) that this resolution is already registered but locked in the firmware and you just set it to the 2nd listed resolution ?


Is this also why when trying higher resolutions you have to write another line ?
Code:
#change resolution from 2304x1296 30fps to 2560x1440
#0x05A0==1440 0x0A00==2560
writel 0xC05C4674 0x05A00A00

And this would write a long at the address 0xC05C4674 (also not in the [res_bitrate_fps_addr.txt] file on github) and write the long 0x05A00A00 which as you explained in your file is simply the mash-up of 1440 and 2560 in Hexa.


Also on the forum I found a spreadsheet from Fullgame showing the changes to make for custom bitrate on
a custom firmware.
I followed a tutorial on YouTube ( [This one] ) a made myself a modified firmware.
Is it better not to use both a mod firmware and a script or is there no risk ?
Also is if I also use a script will this not make my changes useless as the script will simply use other modes from the spreadsheet that I didn't modified ?


Also I just tried to use your 1.2.0 (I'm updated to 1.2.6 modded) file for 2304 x 1296 30fps 25Mbps, created a blank file "autoexec.ash"
and wrote this inside :
Code:
#set video resolution to 2304x1296 30fps
writeb 0xC06CE446 0x02

#set bitrate to 25Mb/s
writew 0xC05C1006 0x41C8

But when I started the cam, nothing happened, and when I started the app it said 1920 x 1080, tried to film and the film is in 1920 x 1080.
What have I done wrong ?

A big thanks to you and anyone how can help with all the questions, and sorry if a few a them if not all are a bit stupid :)
 
Last edited by a moderator:
Hello funnel

I can't find C06CE446 in it, but I did find C05C1006 & 41C8 but at a different line

So could you please try to explain a bit how you set diff resolutions / bitrates so people can make their own script w/o bugging you all the time (or for learning purpose)

I suppose that your write the word 0x41C8 (16840 ?) at the address 0xC05C1006 ?

Following this method would mean you write the byte 0x02 (2 ?) at the address 0xC06CE446.
But I can't find this address in your [res_bitrate_fps_addr.txt] file on github.

Also does this mean (the 0x02 thing) that this resolution is already registered but locked in the firmware and you just set it to the 2nd listed resolution ?

0xC05C1006 is at position number 6 but you have to divide by 3 to get 0x02 because every bitrate is repeated 3 times(high, normal, low quality). Example 1920x1080 30fps is at 18, divide by 3 you get 0x06, so if you "writeb 0xC06CE446 0x06" you'll set resolution to 1920x1080 30fps.

0xC06CE446 is in the firmware, it's not listed anywhere.

Is this also why when trying higher resolutions you have to write another line ?
Code:
#change resolution from 2304x1296 30fps to 2560x1440
#0x05A0==1440 0x0A00==2560
writel 0xC05C4674 0x05A00A00

And this would write a long at the address 0xC05C4674 (also not in the [res_bitrate_fps_addr.txt] file on github) and write the long 0x05A00A00 which as you explained in your file is simply the mash-up of 1440 and 2560 in Hexa.


Also on the forum I found a spreadsheet from Fullgame showing the changes to make for custom bitrate on
a custom firmware.
I followed a tutorial on YouTube ( [This one] ) a made myself a modified firmware.
Is it better not to use both a mod firmware and a script or is there no risk ?

You can use both at the same time if you want. There's always risk and chance to brick the camera. If you want to be safe don't play with mods and hacks.

But when I started the cam, nothing happened, and when I started the app it said 1920 x 1080, tried to film and the film is in 1920 x 1080.
What have I done wrong ?

A big thanks to you and anyone how can help with all the questions, and sorry if a few a them if not all are a bit stupid :)

autoexec.ash newline character not in UNIX format. Use Notepad++ or PSpad or telent to the cam and use VI.
 
Last edited by a moderator:
autoexec.ash newline character not in UNIX format. Use Notepad++ or PSpad or telent to the cam and use VI.

I created mine using Notepad++ and saving it as "autoexec.ash" using the "all | *.*" option.
Also I was created in UTF-8 without BOM is it good? (although still not working)
As fot he VI, I have no Idea what this is ^^
 
hello, maybe I'll be the same to ask, but I wanted to ask you something .. let alone script, yi the camera could shoot video at 4K?
thanks:)
 
Last edited:
Back
Top