Lines Matching refs:enc
76 static struct amdgpu_vce_encode enc; variable
120 memset(&enc, 0, sizeof(struct amdgpu_vce_encode)); in suite_vce_tests_init()
239 enc.width = vce_create[6]; in amdgpu_cs_vce_create()
240 enc.height = vce_create[7]; in amdgpu_cs_vce_create()
243 alloc_resource(&enc.fb[0], 4096, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_cs_vce_create()
244 resources[num_resources++] = enc.fb[0].handle; in amdgpu_cs_vce_create()
255 ib_cpu[len + 2] = enc.fb[0].addr >> 32; in amdgpu_cs_vce_create()
256 ib_cpu[len + 3] = enc.fb[0].addr; in amdgpu_cs_vce_create()
262 free_resource(&enc.fb[0]); in amdgpu_cs_vce_create()
290 static void amdgpu_cs_vce_encode_idr(struct amdgpu_vce_encode *enc) in amdgpu_cs_vce_encode_idr() argument
296 luma_offset = enc->vbuf.addr; in amdgpu_cs_vce_encode_idr()
297 chroma_offset = luma_offset + enc->width * enc->height; in amdgpu_cs_vce_encode_idr()
304 ib_cpu[len + 2] = enc->bs[0].addr >> 32; in amdgpu_cs_vce_encode_idr()
305 ib_cpu[len + 3] = enc->bs[0].addr; in amdgpu_cs_vce_encode_idr()
308 ib_cpu[len + 2] = enc->cpb.addr >> 32; in amdgpu_cs_vce_encode_idr()
309 ib_cpu[len + 3] = enc->cpb.addr; in amdgpu_cs_vce_encode_idr()
314 ib_cpu[len + 2] = enc->fb[0].addr >> 32; in amdgpu_cs_vce_encode_idr()
315 ib_cpu[len + 3] = enc->fb[0].addr; in amdgpu_cs_vce_encode_idr()
325 enc->ib_len = len; in amdgpu_cs_vce_encode_idr()
326 if (!enc->two_instance) { in amdgpu_cs_vce_encode_idr()
332 static void amdgpu_cs_vce_encode_p(struct amdgpu_vce_encode *enc) in amdgpu_cs_vce_encode_p() argument
337 len = (enc->two_instance) ? enc->ib_len : 0; in amdgpu_cs_vce_encode_p()
338 luma_offset = enc->vbuf.addr; in amdgpu_cs_vce_encode_p()
339 chroma_offset = luma_offset + enc->width * enc->height; in amdgpu_cs_vce_encode_p()
341 if (!enc->two_instance) { in amdgpu_cs_vce_encode_p()
348 ib_cpu[len + 2] = enc->bs[1].addr >> 32; in amdgpu_cs_vce_encode_p()
349 ib_cpu[len + 3] = enc->bs[1].addr; in amdgpu_cs_vce_encode_p()
352 ib_cpu[len + 2] = enc->cpb.addr >> 32; in amdgpu_cs_vce_encode_p()
353 ib_cpu[len + 3] = enc->cpb.addr; in amdgpu_cs_vce_encode_p()
358 ib_cpu[len + 2] = enc->fb[1].addr >> 32; in amdgpu_cs_vce_encode_p()
359 ib_cpu[len + 3] = enc->fb[1].addr; in amdgpu_cs_vce_encode_p()
384 static void check_result(struct amdgpu_vce_encode *enc) in check_result() argument
392 r = amdgpu_bo_cpu_map(enc->fb[i].handle, (void **)&enc->fb[i].ptr); in check_result()
394 ptr = (uint32_t *)enc->fb[i].ptr; in check_result()
396 r = amdgpu_bo_cpu_unmap(enc->fb[i].handle); in check_result()
398 r = amdgpu_bo_cpu_map(enc->bs[i].handle, (void **)&enc->bs[i].ptr); in check_result()
401 sum += enc->bs[i].ptr[j]; in check_result()
403 r = amdgpu_bo_cpu_unmap(enc->bs[i].handle); in check_result()
413 vbuf_size = enc.width * enc.height * 1.5; in amdgpu_cs_vce_encode()
416 alloc_resource(&enc.fb[0], 4096, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_cs_vce_encode()
417 resources[num_resources++] = enc.fb[0].handle; in amdgpu_cs_vce_encode()
418 alloc_resource(&enc.fb[1], 4096, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_cs_vce_encode()
419 resources[num_resources++] = enc.fb[1].handle; in amdgpu_cs_vce_encode()
420 alloc_resource(&enc.bs[0], bs_size, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_cs_vce_encode()
421 resources[num_resources++] = enc.bs[0].handle; in amdgpu_cs_vce_encode()
422 alloc_resource(&enc.bs[1], bs_size, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_cs_vce_encode()
423 resources[num_resources++] = enc.bs[1].handle; in amdgpu_cs_vce_encode()
424 alloc_resource(&enc.vbuf, vbuf_size, AMDGPU_GEM_DOMAIN_VRAM); in amdgpu_cs_vce_encode()
425 resources[num_resources++] = enc.vbuf.handle; in amdgpu_cs_vce_encode()
426 alloc_resource(&enc.cpb, cpb_size, AMDGPU_GEM_DOMAIN_VRAM); in amdgpu_cs_vce_encode()
427 resources[num_resources++] = enc.cpb.handle; in amdgpu_cs_vce_encode()
430 r = amdgpu_bo_cpu_map(enc.vbuf.handle, (void **)&enc.vbuf.ptr); in amdgpu_cs_vce_encode()
432 memcpy(enc.vbuf.ptr, frame, sizeof(frame)); in amdgpu_cs_vce_encode()
433 r = amdgpu_bo_cpu_unmap(enc.vbuf.handle); in amdgpu_cs_vce_encode()
440 amdgpu_cs_vce_encode_idr(&enc); in amdgpu_cs_vce_encode()
441 amdgpu_cs_vce_encode_p(&enc); in amdgpu_cs_vce_encode()
442 check_result(&enc); in amdgpu_cs_vce_encode()
446 amdgpu_cs_vce_encode_idr(&enc); in amdgpu_cs_vce_encode()
447 amdgpu_cs_vce_encode_p(&enc); in amdgpu_cs_vce_encode()
448 check_result(&enc); in amdgpu_cs_vce_encode()
452 enc.two_instance = true; in amdgpu_cs_vce_encode()
455 amdgpu_cs_vce_encode_idr(&enc); in amdgpu_cs_vce_encode()
458 amdgpu_cs_vce_encode_p(&enc); in amdgpu_cs_vce_encode()
459 check_result(&enc); in amdgpu_cs_vce_encode()
464 amdgpu_cs_vce_encode_idr(&enc); in amdgpu_cs_vce_encode()
465 amdgpu_cs_vce_encode_p(&enc); in amdgpu_cs_vce_encode()
466 check_result(&enc); in amdgpu_cs_vce_encode()
469 free_resource(&enc.fb[0]); in amdgpu_cs_vce_encode()
470 free_resource(&enc.fb[1]); in amdgpu_cs_vce_encode()
471 free_resource(&enc.bs[0]); in amdgpu_cs_vce_encode()
472 free_resource(&enc.bs[1]); in amdgpu_cs_vce_encode()
473 free_resource(&enc.vbuf); in amdgpu_cs_vce_encode()
474 free_resource(&enc.cpb); in amdgpu_cs_vce_encode()
482 alloc_resource(&enc.fb[0], 4096, AMDGPU_GEM_DOMAIN_GTT); in amdgpu_cs_vce_destroy()
483 resources[num_resources++] = enc.fb[0].handle; in amdgpu_cs_vce_destroy()
493 ib_cpu[len + 2] = enc.fb[0].addr >> 32; in amdgpu_cs_vce_destroy()
494 ib_cpu[len + 3] = enc.fb[0].addr; in amdgpu_cs_vce_destroy()
502 free_resource(&enc.fb[0]); in amdgpu_cs_vce_destroy()