NvBufferTransform vs copyToNvBuffer vs createNvBuffer for format conversion

I see, so createNvBuffer and copyToNvBuffer are both calling NvBufferTransform under the hood, but where does the NvBufferTransform computation (format conversion, scaling, etc…) actually happen? That’s mainly what I’m interested in.

Also, I’m slightly confused by the first comment. Based on other posts I thought the ISP output was NvBufferLayout_BlockLinear? Doesn’t that require a conversion to NvBufferLayout_Pitch even if both are YUV420?