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()
502 _pitches, _offsets, _modifiers, &kmsmem->fb_id, in gst_kms_allocator_add_fb()
508 pitches, offsets, modifiers, &kmsmem->fb_id, DRM_MODE_FB_MODIFIERS); in gst_kms_allocator_add_fb()
511 offsets, &kmsmem->fb_id, 0); in gst_kms_allocator_add_fb()
514 pitches, offsets, &kmsmem->fb_id, 0); in gst_kms_allocator_add_fb()
529 GstKMSMemory *kmsmem; in gst_kms_allocator_bo_alloc() local
532 kmsmem = g_slice_new0 (GstKMSMemory); in gst_kms_allocator_bo_alloc()
533 if (!kmsmem) in gst_kms_allocator_bo_alloc()
538 mem = GST_MEMORY_CAST (kmsmem); in gst_kms_allocator_bo_alloc()
540 if (!gst_kms_allocator_memory_create (alloc, kmsmem, vinfo)) { in gst_kms_allocator_bo_alloc()
541 g_slice_free (GstKMSMemory, kmsmem); in gst_kms_allocator_bo_alloc()
546 kmsmem->bo->size, 0, 0, GST_VIDEO_INFO_SIZE (vinfo)); in gst_kms_allocator_bo_alloc()
548 if (!gst_kms_allocator_add_fb (alloc, kmsmem, vinfo->offset, vinfo)) in gst_kms_allocator_bo_alloc()
564 GstKMSMemory *kmsmem; in gst_kms_allocator_dmabuf_import() local
571 kmsmem = g_slice_new0 (GstKMSMemory); in gst_kms_allocator_dmabuf_import()
572 if (!kmsmem) in gst_kms_allocator_dmabuf_import()
575 mem = GST_MEMORY_CAST (kmsmem); in gst_kms_allocator_dmabuf_import()
582 &kmsmem->gem_handle[i]); in gst_kms_allocator_dmabuf_import()
587 if (!gst_kms_allocator_add_fb (alloc, kmsmem, offsets, vinfo)) in gst_kms_allocator_dmabuf_import()
591 struct drm_gem_close arg = { kmsmem->gem_handle[i], }; in gst_kms_allocator_dmabuf_import()
604 kmsmem->gem_handle[i] = 0; in gst_kms_allocator_dmabuf_import()
607 return kmsmem; in gst_kms_allocator_dmabuf_import()
627 GstKMSMemory *kmsmem = (GstKMSMemory *) _kmsmem; in gst_kms_allocator_dmabuf_export() local
634 g_return_val_if_fail (kmsmem->bo, NULL); in gst_kms_allocator_dmabuf_export()
637 ret = drmPrimeHandleToFD (alloc->priv->fd, kmsmem->bo->handle, in gst_kms_allocator_dmabuf_export()
652 GST_DEBUG_OBJECT (alloc, "Exported bo handle %d as %d", kmsmem->bo->handle, in gst_kms_allocator_dmabuf_export()
661 kmsmem->bo->handle, g_strerror (errno), ret); in gst_kms_allocator_dmabuf_export()
709 GstMemory * kmsmem) in gst_kms_allocator_cache() argument
720 g_quark_from_static_string ("kmsmem"), kmsmem, in gst_kms_allocator_cache()