Hello!
I want to allocate NvBufSurface, width = 1504, height = 1500, pitch = 1504*4, Why NvBufSurfaceAllocate get pitch = 6144?
Hello!
I want to allocate NvBufSurface, width = 1504, height = 1500, pitch = 1504*4, Why NvBufSurfaceAllocate get pitch = 6144?
NvBufSurfaceAllocateParams create_params;
memset(&create_params, 0, sizeof(create_params));
create_params.params.gpuId = 0;
create_params.params.width = 1504;
create_params.params.height = 1500;
create_params.params.memType = NVBUF_MEM_SURFACE_ARRAY;
create_params.params.layout = NVBUF_LAYOUT_PITCH;
create_params.params.colorFormat = NVBUF_COLOR_FORMAT_BGRA;
create_params.memtag = NvBufSurfaceTag_VIDEO_CONVERT;
NvBufSurface *src0;
int ret = NvBufSurfaceAllocate(&src0, 1, &create_params);
printf("src0->surfaceList[0].pitch:%d",src0->surfaceList[0].pitch);
How can I set pitch = 1504*4?
Hi,
The pitch alignment is due to hardware design, so it is fixed and cannot be arbitrarily changed. Please note this.
Ok, thank you for your answer
Hi,
I want to know NVBUF_LAYOUT_BLOCK_LINEAR data arrangement rule,can tell me?
NvBufSurfaceAllocateParams create_params;
memset(&create_params, 0, sizeof(create_params));
create_params.params.gpuId = 0;
create_params.params.width = 300;
create_params.params.height = 200;
create_params.params.memType = NVBUF_MEM_SURFACE_ARRAY;
create_params.params.layout = NVBUF_LAYOUT_PITCH;
create_params.params.colorFormat = NVBUF_COLOR_FORMAT_BGRA;
create_params.memtag = NvBufSurfaceTag_VIDEO_CONVERT;
NvBufSurface *src0, *src1;
int ret = NvBufSurfaceAllocate(&src0, 1, &create_params);
create_params.params.layout = NVBUF_LAYOUT_BLOCK_LINEAR;
ret = NvBufSurfaceAllocate(&src1, 1, &create_params);
NvBufSurfaceMap(src0, 0, -1, NVBUF_MAP_READ_WRITE);
NvBufSurfaceMap(src1, 0, -1, NVBUF_MAP_READ_WRITE);
NvBufSurf::NvCommonTransformParams transform_params;
transform_params.src_top = 0;
transform_params.src_left = 0;
transform_params.src_width = 300;
transform_params.src_height = 200;
transform_params.dst_top = 0;
transform_params.dst_left = 0;
transform_params.dst_width = 300;
transform_params.dst_height = 200;
transform_params.flag = NVBUFSURF_TRANSFORM_FILTER;
transform_params.flip = NvBufSurfTransform_None;
transform_params.filter = NvBufSurfTransformInter_Nearest;
uchar * ptrStartAddr = (uchar * )src0->surfaceList[0].mappedAddr.addr[0];
for(int i = 0; i < src0->surfaceList[0].dataSize; i++)
{
*ptrStartAddr = 0xee;
ptrStartAddr++;
}
src0->numFilled = 1;
src1->numFilled = 1;
NvBufSurf::NvTransform(&transform_params, src0->surfaceList[0].bufferDesc, src1->surfaceList[0].bufferDesc);
std::ofstream outfile("/home/root/test.txt");
outfile.is_open();
u_char* ptr = (u_char*)src1->surfaceList[0].mappedAddr.addr[0];
for(int i = 0; i < src1->surfaceList[0].dataSize; i++)
{
outfile.put(*ptr);
ptr++;
}
outfile.close();
I filled all the data in NVBUF_LAYOUT_PITCH mode with 0xee,but use NvTransform to NVBUF_LAYOUT_BLOCK_LINEAR, data output like this
0000000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024140 0000 0000 0000 0000 0000 0000 0000 0000
*
0024180 eeee eeee eeee eeee eeee eeee eeee eeee
*
00241c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0024200 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024340 0000 0000 0000 0000 0000 0000 0000 0000
*
0024380 eeee eeee eeee eeee eeee eeee eeee eeee
*
00243c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0024400 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024540 0000 0000 0000 0000 0000 0000 0000 0000
*
0024580 eeee eeee eeee eeee eeee eeee eeee eeee
*
00245c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0024600 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024740 0000 0000 0000 0000 0000 0000 0000 0000
*
0024780 eeee eeee eeee eeee eeee eeee eeee eeee
*
00247c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0024800 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024940 0000 0000 0000 0000 0000 0000 0000 0000
*
0024980 eeee eeee eeee eeee eeee eeee eeee eeee
*
00249c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0024a00 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024b40 0000 0000 0000 0000 0000 0000 0000 0000
*
0024b80 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024bc0 0000 0000 0000 0000 0000 0000 0000 0000
*
0024c00 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024d40 0000 0000 0000 0000 0000 0000 0000 0000
*
0024d80 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024dc0 0000 0000 0000 0000 0000 0000 0000 0000
*
0024e00 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024f40 0000 0000 0000 0000 0000 0000 0000 0000
*
0024f80 eeee eeee eeee eeee eeee eeee eeee eeee
*
0024fc0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025140 0000 0000 0000 0000 0000 0000 0000 0000
*
0025180 eeee eeee eeee eeee eeee eeee eeee eeee
*
00251c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025200 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025340 0000 0000 0000 0000 0000 0000 0000 0000
*
0025380 eeee eeee eeee eeee eeee eeee eeee eeee
*
00253c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025400 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025540 0000 0000 0000 0000 0000 0000 0000 0000
*
0025580 eeee eeee eeee eeee eeee eeee eeee eeee
*
00255c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025600 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025740 0000 0000 0000 0000 0000 0000 0000 0000
*
0025780 eeee eeee eeee eeee eeee eeee eeee eeee
*
00257c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025800 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025940 0000 0000 0000 0000 0000 0000 0000 0000
*
0025980 eeee eeee eeee eeee eeee eeee eeee eeee
*
00259c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025a00 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025b40 0000 0000 0000 0000 0000 0000 0000 0000
*
0025b80 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025bc0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025c00 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025d40 0000 0000 0000 0000 0000 0000 0000 0000
*
0025d80 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025dc0 0000 0000 0000 0000 0000 0000 0000 0000
*
0025e00 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025f40 0000 0000 0000 0000 0000 0000 0000 0000
*
0025f80 eeee eeee eeee eeee eeee eeee eeee eeee
*
0025fc0 0000 0000 0000 0000 0000 0000 0000 0000
*
0026000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0027200 0000 0000 0000 0000 0000 0000 0000 0000
*
0028000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0029200 0000 0000 0000 0000 0000 0000 0000 0000
*
002a000 eeee eeee eeee eeee eeee eeee eeee eeee
*
002b200 0000 0000 0000 0000 0000 0000 0000 0000
*
002c000 eeee eeee eeee eeee eeee eeee eeee eeee
*
002d200 0000 0000 0000 0000 0000 0000 0000 0000
*
002e000 eeee eeee eeee eeee eeee eeee eeee eeee
*
002f200 0000 0000 0000 0000 0000 0000 0000 0000
*
0030000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0031200 0000 0000 0000 0000 0000 0000 0000 0000
*
0032000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0033200 0000 0000 0000 0000 0000 0000 0000 0000
*
0034000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0035200 0000 0000 0000 0000 0000 0000 0000 0000
*
0036000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0037200 0000 0000 0000 0000 0000 0000 0000 0000
*
0038000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0039200 0000 0000 0000 0000 0000 0000 0000 0000
*
003a000 eeee eeee eeee eeee eeee eeee eeee eeee
*
003b200 0000 0000 0000 0000 0000 0000 0000 0000
*
003c000 eeee eeee eeee eeee eeee eeee eeee eeee
*
003d200 0000 0000 0000 0000 0000 0000 0000 0000
*
003e000 eeee eeee eeee eeee eeee eeee eeee eeee
*
003f200 0000 0000 0000 0000 0000 0000 0000 0000
*
0040000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0041200 0000 0000 0000 0000 0000 0000 0000 0000
*
0042000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0043200 0000 0000 0000 0000 0000 0000 0000 0000
*
0044000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0045200 0000 0000 0000 0000 0000 0000 0000 0000
*
0046000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0047200 0000 0000 0000 0000 0000 0000 0000 0000
*
0048000 eeee eeee eeee eeee eeee eeee eeee eeee
*
0049200 0000 0000 0000 0000 0000 0000 0000 0000
*
004a000 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a140 0000 0000 0000 0000 0000 0000 0000 0000
*
004a180 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a1c0 0000 0000 0000 0000 0000 0000 0000 0000
*
004a200 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a340 0000 0000 0000 0000 0000 0000 0000 0000
*
004a380 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a3c0 0000 0000 0000 0000 0000 0000 0000 0000
*
004a400 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a540 0000 0000 0000 0000 0000 0000 0000 0000
*
004a580 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a5c0 0000 0000 0000 0000 0000 0000 0000 0000
*
004a600 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a740 0000 0000 0000 0000 0000 0000 0000 0000
*
004a780 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a7c0 0000 0000 0000 0000 0000 0000 0000 0000
*
004a800 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a940 0000 0000 0000 0000 0000 0000 0000 0000
*
004a980 eeee eeee eeee eeee eeee eeee eeee eeee
*
004a9c0 0000 0000 0000 0000 0000 0000 0000 0000
*
004aa00 eeee eeee eeee eeee eeee eeee eeee eeee
*
004ab40 0000 0000 0000 0000 0000 0000 0000 0000
*
004ab80 eeee eeee eeee eeee eeee eeee eeee eeee
*
004abc0 0000 0000 0000 0000 0000 0000 0000 0000
*
004ac00 eeee eeee eeee eeee eeee eeee eeee eeee
*
004ad40 0000 0000 0000 0000 0000 0000 0000 0000
*
004ad80 eeee eeee eeee eeee eeee eeee eeee eeee
*
004adc0 0000 0000 0000 0000 0000 0000 0000 0000
*
004ae00 eeee eeee eeee eeee eeee eeee eeee eeee
*
004af40 0000 0000 0000 0000 0000 0000 0000 0000
*
004af80 eeee eeee eeee eeee eeee eeee eeee eeee
*
004afc0 0000 0000 0000 0000 0000 0000 0000 0000
*
004b000 eeee eeee eeee eeee eeee eeee eeee eeee
*
004b140 0000 0000 0000 0000 0000 0000 0000 0000
*
004b180 eeee eeee eeee eeee eeee eeee eeee eeee
*
004b1c0 0000 0000 0000 0000 0000 0000 0000 0000
*
0060000
I took the 0xee data, 0xee data = 240000, Same result as 300* 200 *4,but I don’t know how to sort it
I thought NVBUF_LAYOUT_BLOCK_LINEAR should be all of 0xee, And there is no have 0x00
Hi,
The blocklinear format is private. Please use pitch linear.
Private way, I also want to know the arrangement, because I see that the previous data are all linearly arranged, matching the type of data I want
Hi,
We are not able to provide information about block linear. Please use pitch linear.
Okay, thanks for your answer.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.