在内核函数中,窗口 API 必须作为输入和输出来使用。但在内核代码中,可以使用直接指针引用来读取/写入数据。
void func(input_window_int16 *w_input,
output_window_cint16 *w_output){
.....
v16int16 *ptr_in = (v16int16 *)w_input->ptr;
v8cint16 *ptr_out = (v8cint16 *)w_output->ptr;
......
}
窗口结构负责管理用于跟踪缓冲器类型(乒/乓)的缓冲器锁定,这可添加到周期计数中。当加载/存储采用无序方式(分散聚集)时,尤其如此。使用指针有助于减少加载和存储所需的周期计数。
注释: 如果使用指针来加载和存储数据,那么设计师负责避免发生界外存储器访问。