Lines Matching refs:kmsmem
171 GstKMSMemory * kmsmem, GstVideoInfo * vinfo) in gst_kms_allocator_memory_create() argument
179 if (kmsmem->bo) in gst_kms_allocator_memory_create()
185 kmsmem->bo = g_malloc0 (sizeof (*kmsmem->bo)); in gst_kms_allocator_memory_create()
186 if (!kmsmem->bo) in gst_kms_allocator_memory_create()
228 kmsmem->bo->handle = arg.handle; in gst_kms_allocator_memory_create()
230 kmsmem->bo->size = arg.size; in gst_kms_allocator_memory_create()
233 if (kmsmem->bo->size < GST_VIDEO_INFO_SIZE (vinfo)) { in gst_kms_allocator_memory_create()
237 kmsmem->bo->size, GST_VIDEO_INFO_SIZE (vinfo)); in gst_kms_allocator_memory_create()
248 g_free (kmsmem->bo); in gst_kms_allocator_memory_create()
249 kmsmem->bo = NULL; in gst_kms_allocator_memory_create()
258 GstKMSMemory *kmsmem; in gst_kms_allocator_free() local
261 kmsmem = (GstKMSMemory *) mem; in gst_kms_allocator_free()
263 gst_kms_allocator_memory_reset (alloc, kmsmem); in gst_kms_allocator_free()
264 g_slice_free (GstKMSMemory, kmsmem); in gst_kms_allocator_free()
349 GstKMSMemory *kmsmem; in gst_kms_memory_map() local
360 kmsmem = (GstKMSMemory *) mem; in gst_kms_memory_map()
361 if (!kmsmem->bo) in gst_kms_memory_map()
365 if (kmsmem->bo->ptr != NULL) { in gst_kms_memory_map()
369 arg.handle = kmsmem->bo->handle; in gst_kms_memory_map()
378 out = mmap (0, kmsmem->bo->size, in gst_kms_memory_map()
385 kmsmem->bo->ptr = out; in gst_kms_memory_map()
388 g_atomic_int_inc (&kmsmem->bo->refs); in gst_kms_memory_map()
389 return kmsmem->bo->ptr; in gst_kms_memory_map()
395 GstKMSMemory *kmsmem; in gst_kms_memory_unmap() local
400 kmsmem = (GstKMSMemory *) mem; in gst_kms_memory_unmap()
401 if (!kmsmem->bo) in gst_kms_memory_unmap()
404 if (g_atomic_int_dec_and_test (&kmsmem->bo->refs)) { in gst_kms_memory_unmap()
405 munmap (kmsmem->bo->ptr, kmsmem->bo->size); in gst_kms_memory_unmap()
406 kmsmem->bo->ptr = NULL; in gst_kms_memory_unmap()
443 gst_kms_allocator_add_fb (GstKMSAllocator * alloc, GstKMSMemory * kmsmem, in gst_kms_allocator_add_fb() argument
452 if (kmsmem->fb_id) in gst_kms_allocator_add_fb()
460 if (kmsmem->bo) in gst_kms_allocator_add_fb()
461 bo_handles[i] = kmsmem->bo->handle; in gst_kms_allocator_add_fb()
463 bo_handles[i] = kmsmem->gem_handle[i]; in gst_kms_allocator_add_fb()
473 offsets, &kmsmem->fb_id, 0); in gst_kms_allocator_add_fb()
487 GstKMSMemory *kmsmem; in gst_kms_allocator_bo_alloc() local
490 kmsmem = g_slice_new0 (GstKMSMemory); in gst_kms_allocator_bo_alloc()
491 if (!kmsmem) in gst_kms_allocator_bo_alloc()
496 mem = GST_MEMORY_CAST (kmsmem); in gst_kms_allocator_bo_alloc()
498 if (!gst_kms_allocator_memory_create (alloc, kmsmem, vinfo)) { in gst_kms_allocator_bo_alloc()
499 g_slice_free (GstKMSMemory, kmsmem); in gst_kms_allocator_bo_alloc()
504 kmsmem->bo->size, 0, 0, GST_VIDEO_INFO_SIZE (vinfo)); in gst_kms_allocator_bo_alloc()
506 if (!gst_kms_allocator_add_fb (alloc, kmsmem, vinfo->offset, vinfo)) in gst_kms_allocator_bo_alloc()
522 GstKMSMemory *kmsmem; in gst_kms_allocator_dmabuf_import() local
528 kmsmem = g_slice_new0 (GstKMSMemory); in gst_kms_allocator_dmabuf_import()
529 if (!kmsmem) in gst_kms_allocator_dmabuf_import()
532 mem = GST_MEMORY_CAST (kmsmem); in gst_kms_allocator_dmabuf_import()
539 &kmsmem->gem_handle[i]); in gst_kms_allocator_dmabuf_import()
544 if (!gst_kms_allocator_add_fb (alloc, kmsmem, offsets, vinfo)) in gst_kms_allocator_dmabuf_import()
548 struct drm_gem_close arg = { kmsmem->gem_handle[i], }; in gst_kms_allocator_dmabuf_import()
556 kmsmem->gem_handle[i] = 0; in gst_kms_allocator_dmabuf_import()
559 return kmsmem; in gst_kms_allocator_dmabuf_import()
579 GstKMSMemory *kmsmem = (GstKMSMemory *) _kmsmem; in gst_kms_allocator_dmabuf_export() local
586 g_return_val_if_fail (kmsmem->bo, NULL); in gst_kms_allocator_dmabuf_export()
589 ret = drmPrimeHandleToFD (alloc->priv->fd, kmsmem->bo->handle, in gst_kms_allocator_dmabuf_export()
604 GST_DEBUG_OBJECT (alloc, "Exported bo handle %d as %d", kmsmem->bo->handle, in gst_kms_allocator_dmabuf_export()
613 kmsmem->bo->handle, g_strerror (errno), ret); in gst_kms_allocator_dmabuf_export()
661 GstMemory * kmsmem) in gst_kms_allocator_cache() argument
672 g_quark_from_static_string ("kmsmem"), kmsmem, in gst_kms_allocator_cache()