This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7:CAC 模块无效

Guru**** 2422260 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1544407/am62a7-the-cac-module-is-invalid

器件型号:AM62A7


工具/软件:

你好

我想调整 CAC 模块。

我使用 MATLAB 脚本和 DCC 工具校准了 CAC 块、如下所示:

【常见问题解答】TDA4VH/AM62A:如何为 DCC 调优工具输入创建 CAC 网状 LUT? -处理器论坛 — 处理器- TI E2E 支持论坛

cac_shift_1 = [0, 0; 400, -2; 800, -4; 1600, -8; 2400, -15; 3300, -20; 4000, -30];
cac_shift_2 = [0, 0; 400, +2; 800, +4; 1600, +8; 2400, +15; 3300, +20; 4000, +30];
im_sz = [2160, 3840];
hc = im_sz(2) / 2;
vc = im_sz(1) / 2;
make_cac_lut('cac_lut_m.txt', im_sz, hc, vc, cac_shift_1, cac_shift_2);

function [] = make_cac_lut(fout, im_sz, hc, vc, cac_radial_shift_1, cac_radial_shift_2)

block_s = find_block_s(im_sz);
[mesh_dx1, mesh_dy1] = prep_cac_dxdy(im_sz, hc, vc, cac_radial_shift_1, block_s);
[mesh_dx2, mesh_dy2] = prep_cac_dxdy(im_sz, hc, vc, cac_radial_shift_2, block_s);
mesh_lut = prep_cac_text_lut(mesh_dx1, mesh_dy1, mesh_dx2, mesh_dy2);
dlmwrite(fout, mesh_lut, 'delimiter', '\t');
disp(['image size: ', int2str(im_sz(2)), ' x ', int2str(im_sz(1))])
disp(['CAC LUT size: ', int2str(size(mesh_dx1,2)), ' x ', int2str(size(mesh_dx1,1))])
disp(['CAC down-sampling: ', int2str(block_s)])
end

%-------------------------------------------------------------------------------------------------------------------------
function [dx, dy] = prep_cac_dxdy(im_sz, hc, vc, lca_radial_curve, block_s)

[xt, yt] = meshgrid( [0:ceil(im_sz(2)/block_s)]*block_s, [0:ceil(im_sz(1)/block_s)]*block_s);

[phi, ro] = cart2pol(xt - hc, yt - vc);
ro1 = interp1(lca_radial_curve(:,1), lca_radial_curve(:,2), ro);
[xt, yt] = pol2cart(phi, ro1);

dx = round(-xt * 8);
dy = round(-yt * 8);
end

%-------------------------------------------------------------------------------------------------------------------------
function [cac_text_lut] = prep_cac_text_lut(mesh1_dx, mesh1_dy, mesh2_dx, mesh2_dy)
mesh1_dx = min(64, max(-64, mesh1_dx)); 
mesh1_dy = min(32, max(-32, mesh1_dy)); 
dx1 = mesh1_dx';
dy1 = mesh1_dy';
mesh1_lut0 = [dx1(:), dy1(:)];

mesh2_dx = min(64, max(-64, mesh2_dx));
mesh2_dy = min(32, max(-32, mesh2_dy));
dx2 = mesh2_dx';
dy2 = mesh2_dy';
mesh2_lut0 = [dx2(:), dy2(:)];

cac_text_lut = [mesh1_lut0, mesh2_lut0];
end
%-------------------------------------------------------------------------------------------------------------------------
function [block_s] = find_block_s(imsz)
block_s = 0;
for k = 4:4:128
    if ceil(imsz(1) / k + 1) * ceil(imsz(2) / k + 1) <= 2048
        block_s = k;
        break;
    end
end
end

e2e.ti.com/.../cac_5F00_lut_5F00_m.txt

 将生成 CAC_XML、并在./generate_dcc.sh 中添加 CAC_XML

e2e.ti.com/.../ar0823_5F00_cac_5F00_dcc.xml

 但 编译后发现映像未更改

我的设置是否有问题