Yi hacked resolution 2304x1296 30fps 35Mbits

follow @funnel 's instruction, I've found the address for 1080p/30fps/35Mbps in firmware 1.1.0.
Code:
Offset(h) 00 01 02 03 ...
...
004C3930  00 00 0C 42 ...
...

so the address should be, same as @funnel 's github script:
Code:
0xC0100000 + 0x004C3932 = 0xC05C3932

but the bitrate value, is opposited (maybe the high/low byte rules ?)
Code:
0C 42
should be writew as
0x420C

full autoexec.ash script:
Code:
#record 1080p/30fps/35Mbps
writew 0xC05C3932 0x420C

I will try to figure out how to get the hidden video resolution settings.
 
How looks the script when i want 60fps/35mbit and 30 fps /35 Mbit ? Is it possible ?

This doesnt work for me:

#set bitrate 1920x1080 60fps 35Mbps
writew 0xC05C38A2 0x420C

#record 1080p/30fps/35Mbps
writew 0xC05C3932 0x420C
 
Not sure, I haven't test funnel's script one by one.
 
How looks the script when i want 60fps/35mbit and 30 fps /35 Mbit ? Is it possible ?

This doesnt work for me:

#set bitrate 1920x1080 60fps 35Mbps
writew 0xC05C38A2 0x420C

#record 1080p/30fps/35Mbps
writew 0xC05C3932 0x420C
It should work, those addresses are correct for firmware 1.1.0. Have you saved the autoexec file as Unix script file and left a blank space at the end?
 
With some macros and excel magic I made a simple table to make it easier to find the bitrate location for other resolutions and fps. If there isn't any copy paste error it should be the same sequence as in AFT tool bitrate editor.

https://github.com/funneld/XiaomiYi/blob/master/autoexec.ash/bitrate_map.txt
I have looked for all the bitrate addresses in the 1.1.0 firmware, I think that they are correct: https://docs.google.com/spreadsheets/d/1rI01HMd2GYG9RO8PzKsmlgsJYdzpQ4KBDCOU9-FirKI/edit?usp=sharing
Hope it is useful for someone.

Regards.
 
Hi All!

At the first time thank you for Funnel your great script and everyone however working for a tweak of this cam !!!

I have a question:

I want to color grade my videos , and for this need a flat picture profile.
So I need to decrease video properties: sharpen, saturation and contrast.
Have enyone a working method for this? (script, etc.)

Thank You for your help!

BR.
 
Hey guys! great work here!

So, i'm new to scripts and just wanted to run something by all the experienced ones out here. I edited the autoexec scripts based on what I require and came up with this
https://www.dropbox.com/s/yu1x5463dmg7xjr/autoexec.ash?dl=0

Can i group those commands together in the order that I have?

Also, Im running OS X which is why I am doubting if the output of my file is in the right format. I used Text Wrangler to output as a Unix script with Western Latin 1 encoding since thats what I came across to be the ANSI equivalent, am i right? I read something about compatibility issues with line breaks and it would be of great help if someone could look at the script for a minute and let me know if the output is correct (format, line break etc.) and if the commands can be grouped and used together the way I have?

Any and all help is highly appreciated!

Sid
 
I always use this beep command at the end of the script to see if it executed.

t pwm 1 enable
sleep 2
t pwm 1 disable

Yes, you can put them all at once for different bitrates in one script.
 
Hi All!

At the first time thank you for Funnel your great script and everyone however working for a tweak of this cam !!!

I have a question:

I want to color grade my videos , and for this need a flat picture profile.
So I need to decrease video properties: sharpen, saturation and contrast.
Have enyone a working method for this? (script, etc.)

Thank You for your help!

BR.

All I know is this command but don't know exactly how all values work. You can try an test the vaious unknown parameters if you want.

t ia2 -adj ev 0 0 0 0 0 255 0

I figured this out for now

t ia2 -adj ev [brightness] [?] [gamma] [?] [?] [saturation] [?]

and for noise reduction

t ia2 -adj tidx -1 2048 -1

t ia2 -adj tidx [ev_idx][nf_idx][shutter_idx]
 
t ia2 -adj ev [brightness] [?] [gamma] [?] [?] [saturation] [?]

I might be wrong, but 3rd value looks like vibrance, not gamma.
 
Thank you @funnel, I don't have an Yi, but I have an Ambarella based dashcam and your post saved my time. By simple accident I saw in the list of new posts "hacked resolutions" and I became curios about that. I don't need to change my resolutions as it already works at 2560X1080 instead I want to change the contrast, brightness, etc. for videos.

While there are many examples for Hero, strangely, my dashcam didn't answer to my query with a complete list of supported commands. For example I don't have the pwd, but when I queried about pwd I found
Usage: pwm [id]
[id] enable
[id] disable
[id] config [sync_to_vin] [inverted]
[id] config_levels [on_ticks] [off_ticks] [total_lvls]
[id] set_clk_ref [ref_from] : 0 - apb, 1/2 - sensor, 3 - clk_ref
[id] pwm_config_clocks [clk_div] [pulse_div] [sync_vin] [inverted]
[id] set_level [level]
[id] get_level

So, are you sure about this command. Wouldn't be wiser to use:
t audio beep [beep_type] [volume_step]
beep_type: 0~N
volume_step: 0~64

The command I was searching and fits my needs is: t ia2 -adj ev [brightness] [?] [gamma] [?] [?] [saturation] [?]
but when I query to get more details about this I obtain only:
Usage: t ia2 -adj [on|off]: turn on/off ADJ
While there is nothing about the ev parameter for me, the above command works on my dashcam.

So, my question is: how did you find the description of this command ?
Also, by any chance, do you have a full description of:
t ia2 -adj
t ia2 -ae
t ia2 -awb
t ia2 -ei
 
Last edited:
Without having access to the above command, I was thinking I could change video parameters using one of the following commands (maybe someone is interested) (their description is the one given by my dashcam):
-------------------------------------------------------------------
t cal -3a command:
Usage: t cal -3a [on|off]: turn on/off 3A
cal -3a [info] : display 3A status
cal -3a [ae][awb][af][adj] :turn on/off ae/awb/af/adj
ae = [0|1], 0: on 1: off AE
awb = [0|1], 0: on 1: off AWB
af = [0|1], 0: on 1: off AF
adj = [0|1], 0: on 1: off ADJ

-------------------------------------------------------------------
t cal -me [mode][agc][shutter][iris][dgain] : Set specified parameter
mode = [0|1], 0:VIDEO, 1:STILL
-------------------------------------------------------------------
t cal -sc command:
Usage: t cal -sc [0|1|2|......]: set the scene mode.
-------------------------------------------------------------------
t cal -raw command:
t cal -raw [mode] [count] [compress]: raw caputre
mode = [0..8], 0:VIDEO
2:LOW-ISO STILL
3:HIGH-ISO STILL
4:MID-ISO STILL
5:LOW-ISO MULTI-CAP STILL
6:HIGH-ISO MULTI-CAP STILL
7:MID-ISO MULTI-CAP STILL
8:MULTI-FRAME HIGH-ISO CAPTURE (old pipe only)
9:VIDEO HDR(dump Raw, idsp config only)
count = number of pictures to capture
compress = [0, 1] optional, capture and dump the compressed raw
-------------------------------------------------------------------
t ia2 -3a command:
Usage: t ia2 -3a [on|off]: turn on/off 3A
ia2 -3a [info] : display 3A status
ia2 -3a [ae][awb][af][adj] :turn on/off ae/awb/af/adj
ae = [0|1], 0: on 1: off AE
awb = [0|1], 0: on 1: off AWB
af = [0|1], 0: on 1: off AF
adj = [0|1], 0: on 1: off ADJ
ia2 -3a [exif] :turn on/off for still 3A info saved to EXIF
-------------------------------------------------------------------
t ia2 -adj command:
Usage: t ia2 -adj [on|off]: turn on/off ADJ
-------------------------------------------------------------------
t ia2 -ae command:
Usage: t ia2 -ae [on|off]: turn on/off AE
-------------------------------------------------------------------
t ia2 -af command:
Usage: t ia2 -af [cmd] .....
Supported cmd:
on|off turn on/off AF
capinfo display AF capability status
cap set AF capability
cst continuous AF setting
sst still AF setting
tune AF ext-parameters setting
ifc in-focus point check
score show score for still AF
tile1 [col_s] [row_s] [w] [h] [col]
[row] [act_w] [act_h] [fmod] [fv1_h]
[fv1_v] [fv2_h] [fv2_v]
Fixed AF tile setting
tile2 Floating AF tile setting
-------------------------------------------------------------------
t ia2 -awb command:
Usage: t ia2 -awb [on|off]: turn on/off AWB
-------------------------------------------------------------------
t ia2 -exp command:
t ia2 -exp set [mode][agc][shutter][iris][dgain] : Set specified parameter
mode = [0|1], 0:VIDEO, 1:Video_init
t ia2 -exp debug [en] : Enable/Disable exposure module debug message
en = [0|1], 0:disable, 1:enable
t ia2 -exp lock [en] : Enable/Disable exposure module lock
en = [0|1], 0:disable, 1:enable
t ia2 -exp info : Print exposure parameters
t ia2 -exp ss_style [1|2] : 1080i60 SS cmd timing 1:TOP/2:BOTTOM field
-------------------------------------------------------------------
t is2 -le command:
Usage: t is2 -le: get the current local exposure setting
t is2 -le [enable] [rad] [lum_wgt_r] [lum_wgt_g] [lum_wgt_b] [lum_wgt_shift] [gain_curve_path]
: set the current local exposure setting
t is2 -le default [enable] [rad] [lum_wgt_r] [lum_wgt_g] [lum_wgt_b] [lum_wgt_shift]
: set the current local exposure setting with default LE table
t is2 -le [chan_id]: get the channel current local exposure setting
t is2 -le [chan_id] [enable] [rad] [lum_wgt_r] [lum_wgt_g] [lum_wgt_b] [lum_wgt_shift] [gain_curve_path]
: set the current channel local exposure setting
t is2 -le default [chan_id] [enable] [rad] [lum_wgt_r] [lum_wgt_g] [lum_wgt_b] [lum_wgt_shift]
: set the current channel local exposure setting with default LE table
-------------------------------------------------------------------
t is2 -wb command:
Usage: t is2 -wb: get the current wb gain
t is2 -wb [r_gain] [g_gain] [b_gain]:set the current wb gain
t is2 -wb [chan_id]: get the current channel wb gain
t is2 -wb [chan_id] [r_gain] [g_gain] [b_gain]:set the current wb gain
 
Last edited:
So, my question is: how did you find the description of this command ?
Also, by any chance, do you have a full description of:
t ia2 -adj
t ia2 -ae
t ia2 -awb
t ia2 -ei

Some commands have short descriptions in the fw but don't get displayed in the output.

For adj for example
Code:
"t ia2 -adj ae :",9,"disable ae target",0
"           ae [target]:",9,"set ae target",0
"t ia2 -adj awb :",9,"disable awb ratio",0
"           awb [][][][][][]:",9,"set awb ratio",0
"t ia2 -adj blc :",9,"disable blc",0
"           blc [][][][][][][][][][][][]:",9,"set blc",0
"t ia2 -adj ev :",9,"disable ev_color",0
"           ev [][][][][][][]:",9,"set ev_color",0
"t ia2 -adj dzoom :",9,"show video Dzoom filter value",0
"           dzoom [on|off] :",9,"turn on/off Dzoom",0
"           dzoom [info] :",9,"show video Dzoom info",0
"t ia2 -adj [video|still] :",9,"show ADJ info",0
"t ia2 -adj gamma [0~255] :",9,"set gamma value",0
"t ia2 -adj l_expo [0~255] :",9,"set l_expo value",0
"t ia2 -adj autoknee [0~255] :",9,"set autoknee value",0
"t ia2 -adj vr :",9,"show version number",0
"t ia2 -adj reset :",9,"reset ADJ",0xA,0
"t ia2 -adj binning :",9,"show current binning mode",0
"t ia2 -adj piv [tsk_enable]:\tpiv cap"...
"t ia2 -adj [on|off] :",9,"turn on/off ADJ",0

For others I would have to look if they have any description at all.
 
Back
Top