Skip to content

Instantly share code, notes, and snippets.

@cleverca22

cleverca22/foo.c Secret

Created May 8, 2024 19:27
Show Gist options
  • Save cleverca22/1557f726bc1e88ae20c18adf93c7c34d to your computer and use it in GitHub Desktop.
Save cleverca22/1557f726bc1e88ae20c18adf93c7c34d to your computer and use it in GitHub Desktop.
undefined4 write_isp_config(FILE *param_1,int param_2,undefined4 param_3,byte *param_4)
{
float fVar1;
float fVar2;
undefined4 uVar3;
undefined auStack100 [28];
undefined auStack72 [4];
undefined4 local_44;
undefined4 local_3c;
short local_38;
short local_36;
undefined auStack52 [16];
uint local_24;
uint local_20;
(**(code **)(param_2 + 0x3c))(param_3,auStack52,*(code **)(param_2 + 0x3c));
fprintf(param_1,"name: BROADCOM\n\n");
fprintf(param_1,"isp_bits_per_pixel: %d\n\n",(uint)*param_4);
write_isp_frame(param_1,param_2,param_3);
if ((local_24 & 4) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_black_level(param_1,param_2,param_3);
if ((local_24 & 1) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
(**(code **)(param_2 + 0x44))(param_3,auStack72);
fprintf(param_1,"IMAGE_INPUT\n");
fprintf(param_1," stride: %d\n",local_44);
uVar3 = get_raw_input_format_name(local_3c);
fprintf(param_1," format: %s\n",uVar3);
fprintf(param_1,"END\n\n");
if ((local_24 & 8) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_lens_shading(param_1,param_2,param_3);
if ((local_20 & 0x80) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_distortion(param_1,param_2,param_3);
if ((local_24 & 0x20) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_white_balance(param_1,param_2,param_3);
if ((local_24 & 0x20) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_gain(param_1,param_2,param_3);
if ((local_24 & 0x200) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_crosstalk(param_1,param_2,param_3);
if ((local_24 & 0x400) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_denoise(param_1,param_2,param_3);
if ((local_24 & 0x80) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_defective_pixel_auto(param_1,param_2,param_3);
if ((local_24 & 0x800) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_demosaic(param_1,param_2,param_3);
if ((local_20 & 2) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_colour_correction(param_1,param_2,param_3);
if ((local_20 & 4) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_gamma(param_1,param_2,param_3);
if ((local_20 & 0x20) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_false_colour(param_1,param_2,param_3);
if ((local_20 & 0x40) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_sharpen(param_1,param_2,param_3);
if ((local_20 & 8) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
(**(code **)(param_2 + 0xa0))(param_3,&local_38);
fprintf(param_1,"Y_G_COEFFS\n");
fVar1 = (float)fexp2(0x41400000);
fVar2 = (float)fexp2(0x41400000);
fprintf(param_1," y_coeffs: %.3f %.3f\n",(float)(int)local_38 / fVar1,
(float)(int)local_36 / fVar2);
fprintf(param_1,"END\n\n");
if ((local_20 & 0x100) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_chrominance_stretch(param_1,param_2,param_3);
if ((local_20 & 0x4000) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_tone_mapping(param_1,param_2,param_3);
if ((local_20 & 0x200) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_hresize(param_1,param_2,param_3);
if ((local_20 & 0x800) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_lresize(param_1,param_2,param_3);
if ((local_20 & 0x400) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
write_isp_conversion(param_1,param_2,param_3);
if ((local_20 & 0x1000) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
(**(code **)(param_2 + 0x4c))(param_3,auStack100);
fprintf(param_1,"HI_RES_OUTPUT\n");
write_isp_output(param_1,auStack100);
fprintf(param_1,"END\n\n");
if ((local_20 & 0x2000) == 0) {
fprintf(param_1,"# N.B. stage is disabled\n");
}
(**(code **)(param_2 + 0x50))(param_3,auStack100);
fprintf(param_1,"LO_RES_OUTPUT\n");
write_isp_output(param_1,auStack100);
fprintf(param_1,"END\n\n");
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment