• Home
  • Raw
  • Download

Lines Matching refs:upload

204     gpointer (*new) (GstGLUpload * upload);
218 GstGLUpload *upload; member
224 _gl_memory_upload_new (GstGLUpload * upload) in _gl_memory_upload_new() argument
228 mem->upload = upload; in _gl_memory_upload_new()
239 struct GLMemoryUpload *upload = impl; in _gl_memory_upload_transform_caps() local
255 if (upload->input_target != GST_GL_TEXTURE_TARGET_NONE) { in _gl_memory_upload_transform_caps()
256 target_mask = 1 << upload->input_target; in _gl_memory_upload_transform_caps()
284 struct GLMemoryUpload *upload = impl; in _gl_memory_upload_accept() local
299 GstVideoInfo *in_info = &upload->upload->priv->in_info; in _gl_memory_upload_accept()
325 struct GLMemoryUpload *upload = impl; in _gl_memory_upload_propose_allocation() local
343 GST_ALLOCATOR (gst_gl_memory_allocator_get_default (upload-> in _gl_memory_upload_propose_allocation()
344 upload->context)); in _gl_memory_upload_propose_allocation()
349 if (upload->upload->context in _gl_memory_upload_propose_allocation()
350 && gst_gl_context_get_gl_platform (upload->upload->context) == in _gl_memory_upload_propose_allocation()
378 pool = gst_gl_buffer_pool_new (upload->upload->context); in _gl_memory_upload_propose_allocation()
386 if (upload->upload->priv->out_caps) { in _gl_memory_upload_propose_allocation()
391 _caps_get_texture_target (upload->upload->priv->out_caps, in _gl_memory_upload_propose_allocation()
413 GST_WARNING_OBJECT (upload->upload, "invalid caps specified"); in _gl_memory_upload_propose_allocation()
418 GST_WARNING_OBJECT (upload->upload, "failed setting config"); in _gl_memory_upload_propose_allocation()
427 struct GLMemoryUpload *upload = impl; in _gl_memory_upload_perform() local
436 if (!gst_gl_context_can_share (upload->upload->context, in _gl_memory_upload_perform()
440 if (upload->output_target == GST_GL_TEXTURE_TARGET_NONE && in _gl_memory_upload_perform()
441 upload->upload->priv->out_caps) { in _gl_memory_upload_perform()
442 upload->output_target = in _gl_memory_upload_perform()
443 _caps_get_texture_target (upload->upload->priv->out_caps, in _gl_memory_upload_perform()
449 upload->input_target = gl_mem->tex_target; in _gl_memory_upload_perform()
450 if (upload->output_target != gl_mem->tex_target) { in _gl_memory_upload_perform()
490 GstGLUpload *upload; member
512 _dma_buf_upload_new (GstGLUpload * upload) in _dma_buf_upload_new() argument
515 dmabuf->upload = upload; in _dma_buf_upload_new()
577 GST_DEBUG_OBJECT (dmabuf->upload, "transformed %" GST_PTR_FORMAT " into %" in _dma_buf_upload_transform_caps()
620 GstVideoInfo *in_info = &dmabuf->upload->priv->in_info; in _dma_buf_upload_accept()
633 if (!dmabuf->upload->context->gl_vtable->EGLImageTargetTexture2D) in _dma_buf_upload_accept()
637 if (gst_gl_context_get_gl_platform (dmabuf->upload->context) != in _dma_buf_upload_accept()
641 if (!gst_gl_context_check_feature (dmabuf->upload->context, in _dma_buf_upload_accept()
643 GST_DEBUG_OBJECT (dmabuf->upload, "no EGL_KHR_image_base extension"); in _dma_buf_upload_accept()
648 !gst_gl_context_check_feature (dmabuf->upload->context, in _dma_buf_upload_accept()
650 GST_DEBUG_OBJECT (dmabuf->upload, in _dma_buf_upload_accept()
657 GST_DEBUG_OBJECT (dmabuf->upload, "input not dmabuf"); in _dma_buf_upload_accept()
663 GST_DEBUG_OBJECT (dmabuf->upload, in _dma_buf_upload_accept()
689 upload->context, NULL, out_info, -1, NULL, dmabuf->target, 0, in _dma_buf_upload_accept()
704 GST_DEBUG_OBJECT (dmabuf->upload, "could not find memory %u", i); in _dma_buf_upload_accept()
710 GST_DEBUG_OBJECT (dmabuf->upload, "data for plane %u spans %u memories", in _dma_buf_upload_accept()
719 GST_DEBUG_OBJECT (dmabuf->upload, "memory %u is not dmabuf", i); in _dma_buf_upload_accept()
730 if (!gst_egl_image_check_dmabuf_direct (dmabuf->upload->context, in_info, in _dma_buf_upload_accept()
732 GST_DEBUG_OBJECT (dmabuf->upload, "direct check failed"); in _dma_buf_upload_accept()
752 gst_egl_image_from_dmabuf_direct_target (dmabuf->upload->context, fd, in _dma_buf_upload_accept()
755 dmabuf->eglimage[i] = gst_egl_image_from_dmabuf (dmabuf->upload->context, in _dma_buf_upload_accept()
759 GST_DEBUG_OBJECT (dmabuf->upload, "could not create eglimage"); in _dma_buf_upload_accept()
804 GST_VIDEO_INFO_FORMAT (&dmabuf->upload->priv->in_info) != in _dma_buf_upload_perform()
808 gst_gl_context_thread_add (dmabuf->upload->context, in _dma_buf_upload_perform()
849 _direct_dma_buf_upload_new (GstGLUpload * upload) in _direct_dma_buf_upload_new() argument
851 struct DmabufUpload *dmabuf = _dma_buf_upload_new (upload); in _direct_dma_buf_upload_new()
938 GST_DEBUG_OBJECT (dmabuf->upload, "transformed %" GST_PTR_FORMAT " into %" in _direct_dma_buf_upload_transform_caps()
959 _direct_dma_buf_external_upload_new (GstGLUpload * upload) in _direct_dma_buf_external_upload_new() argument
961 struct DmabufUpload *dmabuf = _direct_dma_buf_upload_new (upload); in _direct_dma_buf_external_upload_new()
982 GstGLUpload *upload; member
991 _upload_meta_upload_new (GstGLUpload * upload) in _upload_meta_upload_new() argument
995 meta->upload = upload; in _upload_meta_upload_new()
1045 struct GLUploadMeta *upload = impl; in _upload_meta_upload_accept() local
1065 if (upload->pool == NULL) in _upload_meta_upload_accept()
1066 upload->pool = gst_gl_buffer_pool_new (upload->upload->context); in _upload_meta_upload_accept()
1068 if (!gst_buffer_pool_is_active (upload->pool)) { in _upload_meta_upload_accept()
1069 config = gst_buffer_pool_get_config (upload->pool); in _upload_meta_upload_accept()
1071 size = upload->upload->priv->in_info.size; in _upload_meta_upload_accept()
1074 if (!gst_buffer_pool_set_config (upload->pool, config)) { in _upload_meta_upload_accept()
1075 GST_WARNING_OBJECT (upload->upload, "failed to set bufferpool config"); in _upload_meta_upload_accept()
1078 gst_buffer_pool_set_active (upload->pool, TRUE); in _upload_meta_upload_accept()
1086 GST_FIXME_OBJECT (upload, "only single rgba texture supported"); in _upload_meta_upload_accept()
1092 GST_FIXME_OBJECT (upload, "only x-normal, y-normal textures supported"); in _upload_meta_upload_accept()
1104 struct GLUploadMeta *upload = impl; in _upload_meta_upload_propose_allocation() local
1110 gst_gl_api_to_string (gst_gl_context_get_gl_api (upload->upload-> in _upload_meta_upload_propose_allocation()
1113 gst_gl_platform_to_string (gst_gl_context_get_gl_platform (upload-> in _upload_meta_upload_propose_allocation()
1114 upload->context)); in _upload_meta_upload_propose_allocation()
1115 handle = (gpointer) gst_gl_context_get_gl_context (upload->upload->context); in _upload_meta_upload_propose_allocation()
1119 GST_TYPE_GL_CONTEXT, upload->upload->context, "gst.gl.context.handle", in _upload_meta_upload_propose_allocation()
1135 _do_upload_with_meta (GstGLContext * context, struct GLUploadMeta *upload) in _do_upload_with_meta() argument
1137 if (!gst_video_gl_texture_upload_meta_upload (upload->meta, in _do_upload_with_meta()
1138 upload->texture_ids)) { in _do_upload_with_meta()
1139 upload->result = FALSE; in _do_upload_with_meta()
1143 upload->result = TRUE; in _do_upload_with_meta()
1150 struct GLUploadMeta *upload = impl; in _upload_meta_upload_perform() local
1152 GstVideoInfo *in_info = &upload->upload->priv->in_info; in _upload_meta_upload_perform()
1160 GST_LOG_OBJECT (upload, "Attempting upload with GstVideoGLTextureUploadMeta"); in _upload_meta_upload_perform()
1162 upload->meta = gst_buffer_get_video_gl_texture_upload_meta (buffer); in _upload_meta_upload_perform()
1164 if (gst_buffer_pool_acquire_buffer (upload->pool, outbuf, in _upload_meta_upload_perform()
1166 GST_WARNING_OBJECT (upload, "failed to acquire buffer from bufferpool"); in _upload_meta_upload_perform()
1178 upload->texture_ids[i] = tex_id; in _upload_meta_upload_perform()
1183 upload->texture_ids[0], upload->texture_ids[1], in _upload_meta_upload_perform()
1184 upload->texture_ids[2], upload->texture_ids[3], in _upload_meta_upload_perform()
1185 upload->texture_ids[4], upload->texture_ids[5], in _upload_meta_upload_perform()
1186 upload->texture_ids[6], upload->texture_ids[7]); in _upload_meta_upload_perform()
1188 gst_gl_context_thread_add (upload->upload->context, in _upload_meta_upload_perform()
1189 (GstGLContextThreadFunc) _do_upload_with_meta, upload); in _upload_meta_upload_perform()
1191 if (!upload->result) in _upload_meta_upload_perform()
1200 struct GLUploadMeta *upload = impl; in _upload_meta_upload_free() local
1204 if (upload->pool) in _upload_meta_upload_free()
1205 gst_object_unref (upload->pool); in _upload_meta_upload_free()
1207 g_free (upload); in _upload_meta_upload_free()
1234 GstGLUpload *upload; member
1252 if (!gst_video_frame_map (&frame->frame, &raw->upload->priv->in_info, in _raw_upload_frame_new()
1258 raw->upload->priv->in_info = frame->frame.info; in _raw_upload_frame_new()
1259 info = &raw->upload->priv->in_info; in _raw_upload_frame_new()
1287 _raw_data_upload_new (GstGLUpload * upload) in _raw_data_upload_new() argument
1291 raw->upload = upload; in _raw_data_upload_new()
1356 gst_gl_video_allocation_params_new_wrapped_data (raw->upload->context, in _raw_data_upload_accept()
1357 NULL, &raw->upload->priv->in_info, -1, NULL, in _raw_data_upload_accept()
1379 GstVideoInfo *in_info = &raw->upload->priv->in_info; in _raw_data_upload_perform()
1384 (raw->upload->context)); in _raw_data_upload_perform()
1388 raw->params->parent.context = raw->upload->context; in _raw_data_upload_perform()
1394 gst_buffer_add_gl_sync_meta (raw->upload->context, *outbuf); in _raw_data_upload_perform()
1396 GST_ERROR_OBJECT (raw->upload, "Failed to allocate wrapped texture"); in _raw_data_upload_perform()
1459 GstGLUpload *upload; member
1475 _directviv_upload_new (GstGLUpload * upload) in _directviv_upload_new() argument
1478 directviv->upload = upload; in _directviv_upload_new()
1540 gst_gl_context_thread_add (directviv->upload->context, in _directviv_upload_accept()
1555 gst_gl_video_allocation_params_new (directviv->upload->context, NULL, in _directviv_upload_accept()
1556 &directviv->upload->priv->out_info, -1, NULL, in _directviv_upload_accept()
1645 in_info = &directviv->upload->priv->in_info; in _directviv_upload_perform_gl_thread()
1715 gst_gl_context_thread_add (directviv->upload->context, in _directviv_upload_perform()
1758 GstGLUpload *upload; member
1778 _nvmm_upload_new (GstGLUpload * upload) in _nvmm_upload_new() argument
1781 nvmm->upload = upload; in _nvmm_upload_new()
1840 GST_DEBUG_OBJECT (nvmm->upload, "transformed %" GST_PTR_FORMAT " into %" in _nvmm_upload_transform_caps()
1851 GstVideoInfo *in_info = &nvmm->upload->priv->in_info; in _nvmm_upload_accept()
1860 GST_DEBUG_OBJECT (nvmm->upload, "NVMM uploader only supports " in _nvmm_upload_accept()
1867 if (!nvmm->upload->context->gl_vtable->EGLImageTargetTexture2D) in _nvmm_upload_accept()
1871 if (gst_gl_context_get_gl_platform (nvmm->upload->context) != in _nvmm_upload_accept()
1875 if (!gst_gl_context_check_feature (nvmm->upload->context, in _nvmm_upload_accept()
1880 GST_DEBUG_OBJECT (nvmm->upload, "Failed to map readonly NvBuffer"); in _nvmm_upload_accept()
1884 GST_DEBUG_OBJECT (nvmm->upload, "Memory size (%" G_GSIZE_FORMAT ") is " in _nvmm_upload_accept()
1913 upload->context, NULL, out_info, -1, NULL, nvmm->target, 0, NULL, in _nvmm_upload_accept()
2127 GST_DEBUG_OBJECT (nvmm->upload, "Failed to map readonly NvBuffer"); in _nvmm_upload_perform()
2132 GST_DEBUG_OBJECT (nvmm->upload, "Failed to extract fd from NvBuffer"); in _nvmm_upload_perform()
2136 GST_WARNING_OBJECT (nvmm->upload, "Failed to get NvBuffer params"); in _nvmm_upload_perform()
2139 dump_nv_buf_params ((GstObject *) nvmm->upload, &params); in _nvmm_upload_perform()
2142 gst_gl_display_egl_from_gl_display (nvmm->upload->context->display); in _nvmm_upload_perform()
2152 GST_DEBUG_OBJECT (nvmm->upload, "Failed construct EGLImage " in _nvmm_upload_perform()
2156 GST_DEBUG_OBJECT (nvmm->upload, "constructed EGLImage %p " in _nvmm_upload_perform()
2159 eglimage = gst_egl_image_new_wrapped (nvmm->upload->context, image, in _nvmm_upload_perform()
2163 GST_WARNING_OBJECT (nvmm->upload, "Failed to wrap constructed " in _nvmm_upload_perform()
2179 GST_WARNING_OBJECT (nvmm->upload, "Failed to setup " in _nvmm_upload_perform()
2191 sync_meta = gst_buffer_add_gl_sync_meta (nvmm->upload->context, *outbuf); in _nvmm_upload_perform()
2193 gst_gl_sync_meta_set_sync_point (sync_meta, nvmm->upload->context); in _nvmm_upload_perform()
2280 gst_gl_upload_init (GstGLUpload * upload) in gst_gl_upload_init() argument
2282 upload->priv = gst_gl_upload_get_instance_private (upload); in gst_gl_upload_init()
2294 GstGLUpload *upload = g_object_new (GST_TYPE_GL_UPLOAD, NULL); in gst_gl_upload_new() local
2297 gst_object_ref_sink (upload); in gst_gl_upload_new()
2300 gst_gl_upload_set_context (upload, context); in gst_gl_upload_new()
2302 upload->context = NULL; in gst_gl_upload_new()
2305 upload->priv->upload_impl = g_malloc (sizeof (gpointer) * n); in gst_gl_upload_new()
2307 upload->priv->upload_impl[i] = upload_methods[i]->new (upload); in gst_gl_upload_new()
2310 GST_DEBUG_OBJECT (upload, "Created new GLUpload for context %" GST_PTR_FORMAT, in gst_gl_upload_new()
2313 return upload; in gst_gl_upload_new()
2317 gst_gl_upload_set_context (GstGLUpload * upload, GstGLContext * context) in gst_gl_upload_set_context() argument
2319 g_return_if_fail (upload != NULL); in gst_gl_upload_set_context()
2321 gst_object_replace ((GstObject **) & upload->context, (GstObject *) context); in gst_gl_upload_set_context()
2327 GstGLUpload *upload; in gst_gl_upload_finalize() local
2330 upload = GST_GL_UPLOAD (object); in gst_gl_upload_finalize()
2332 upload->priv->method_i = 0; in gst_gl_upload_finalize()
2334 if (upload->context) { in gst_gl_upload_finalize()
2335 gst_object_unref (upload->context); in gst_gl_upload_finalize()
2336 upload->context = NULL; in gst_gl_upload_finalize()
2339 if (upload->priv->in_caps) { in gst_gl_upload_finalize()
2340 gst_caps_unref (upload->priv->in_caps); in gst_gl_upload_finalize()
2341 upload->priv->in_caps = NULL; in gst_gl_upload_finalize()
2344 if (upload->priv->out_caps) { in gst_gl_upload_finalize()
2345 gst_caps_unref (upload->priv->out_caps); in gst_gl_upload_finalize()
2346 upload->priv->out_caps = NULL; in gst_gl_upload_finalize()
2351 if (upload->priv->upload_impl[i]) in gst_gl_upload_finalize()
2352 upload_methods[i]->free (upload->priv->upload_impl[i]); in gst_gl_upload_finalize()
2354 g_free (upload->priv->upload_impl); in gst_gl_upload_finalize()
2360 gst_gl_upload_transform_caps (GstGLUpload * upload, GstGLContext * context, in gst_gl_upload_transform_caps() argument
2366 if (upload->priv->method) { in gst_gl_upload_transform_caps()
2367 tmp = upload->priv->method->transform_caps (upload->priv->method_impl, in gst_gl_upload_transform_caps()
2390 upload_methods[i]->transform_caps (upload->priv->upload_impl[i], in gst_gl_upload_transform_caps()
2416 gst_gl_upload_propose_allocation (GstGLUpload * upload, GstQuery * decide_query, in gst_gl_upload_propose_allocation() argument
2422 upload_methods[i]->propose_allocation (upload->priv->upload_impl[i], in gst_gl_upload_propose_allocation()
2427 _gst_gl_upload_set_caps_unlocked (GstGLUpload * upload, GstCaps * in_caps, in _gst_gl_upload_set_caps_unlocked() argument
2430 g_return_val_if_fail (upload != NULL, FALSE); in _gst_gl_upload_set_caps_unlocked()
2433 if (upload->priv->in_caps && upload->priv->out_caps in _gst_gl_upload_set_caps_unlocked()
2434 && gst_caps_is_equal (upload->priv->in_caps, in_caps) in _gst_gl_upload_set_caps_unlocked()
2435 && gst_caps_is_equal (upload->priv->out_caps, out_caps)) in _gst_gl_upload_set_caps_unlocked()
2438 gst_caps_replace (&upload->priv->in_caps, in_caps); in _gst_gl_upload_set_caps_unlocked()
2439 gst_caps_replace (&upload->priv->out_caps, out_caps); in _gst_gl_upload_set_caps_unlocked()
2441 gst_video_info_from_caps (&upload->priv->in_info, in_caps); in _gst_gl_upload_set_caps_unlocked()
2442 gst_video_info_from_caps (&upload->priv->out_info, out_caps); in _gst_gl_upload_set_caps_unlocked()
2444 upload->priv->method = NULL; in _gst_gl_upload_set_caps_unlocked()
2445 upload->priv->method_impl = NULL; in _gst_gl_upload_set_caps_unlocked()
2446 upload->priv->method_i = 0; in _gst_gl_upload_set_caps_unlocked()
2462 gst_gl_upload_set_caps (GstGLUpload * upload, GstCaps * in_caps, in gst_gl_upload_set_caps() argument
2467 GST_OBJECT_LOCK (upload); in gst_gl_upload_set_caps()
2468 ret = _gst_gl_upload_set_caps_unlocked (upload, in_caps, out_caps); in gst_gl_upload_set_caps()
2469 GST_OBJECT_UNLOCK (upload); in gst_gl_upload_set_caps()
2481 gst_gl_upload_get_caps (GstGLUpload * upload, GstCaps ** in_caps, in gst_gl_upload_get_caps() argument
2484 GST_OBJECT_LOCK (upload); in gst_gl_upload_get_caps()
2487 upload->priv->in_caps ? gst_caps_ref (upload->priv->in_caps) : NULL; in gst_gl_upload_get_caps()
2490 upload->priv->out_caps ? gst_caps_ref (upload->priv->out_caps) : NULL; in gst_gl_upload_get_caps()
2491 GST_OBJECT_UNLOCK (upload); in gst_gl_upload_get_caps()
2495 _upload_find_method (GstGLUpload * upload, gpointer last_impl) in _upload_find_method() argument
2501 if (upload->priv->method_i == 0) { in _upload_find_method()
2502 upload->priv->method_i = upload->priv->saved_method_i; in _upload_find_method()
2503 upload->priv->saved_method_i = 0; in _upload_find_method()
2506 if (upload->priv->method_i >= G_N_ELEMENTS (upload_methods)) { in _upload_find_method()
2508 upload->priv->method_i = 0; in _upload_find_method()
2513 method_i = upload->priv->method_i; in _upload_find_method()
2515 if (last_impl == upload->priv->upload_impl[method_i]) in _upload_find_method()
2518 upload->priv->method = upload_methods[method_i]; in _upload_find_method()
2519 upload->priv->method_impl = upload->priv->upload_impl[method_i]; in _upload_find_method()
2521 GST_DEBUG_OBJECT (upload, "attempting upload with uploader %s", in _upload_find_method()
2522 upload->priv->method->name); in _upload_find_method()
2524 upload->priv->method_i++; in _upload_find_method()
2541 gst_gl_upload_perform_with_buffer (GstGLUpload * upload, GstBuffer * buffer, in gst_gl_upload_perform_with_buffer() argument
2546 gpointer last_impl = upload->priv->method_impl; in gst_gl_upload_perform_with_buffer()
2548 g_return_val_if_fail (GST_IS_GL_UPLOAD (upload), FALSE); in gst_gl_upload_perform_with_buffer()
2552 GST_OBJECT_LOCK (upload); in gst_gl_upload_perform_with_buffer()
2556 if (!_upload_find_method (upload, last_impl)) { \ in gst_gl_upload_perform_with_buffer()
2557 GST_OBJECT_UNLOCK (upload); \ in gst_gl_upload_perform_with_buffer()
2563 if (!upload->priv->method_impl) in gst_gl_upload_perform_with_buffer()
2564 _upload_find_method (upload, last_impl); in gst_gl_upload_perform_with_buffer()
2567 if (!upload->priv->method->accept (upload->priv->method_impl, buffer, in gst_gl_upload_perform_with_buffer()
2568 upload->priv->in_caps, upload->priv->out_caps)) in gst_gl_upload_perform_with_buffer()
2572 upload->priv->method->perform (upload->priv->method_impl, buffer, in gst_gl_upload_perform_with_buffer()
2574 GST_LOG_OBJECT (upload, "uploader %s returned %u, buffer: %p", in gst_gl_upload_perform_with_buffer()
2575 upload->priv->method->name, ret, outbuf); in gst_gl_upload_perform_with_buffer()
2581 upload->priv->method = &_raw_data_upload; in gst_gl_upload_perform_with_buffer()
2582 upload->priv->method_impl = upload->priv->upload_impl[i]; in gst_gl_upload_perform_with_buffer()
2583 upload->priv->method_i = i; in gst_gl_upload_perform_with_buffer()
2592 if (last_impl != upload->priv->method_impl) { in gst_gl_upload_perform_with_buffer()
2593 GstCaps *caps = gst_gl_upload_transform_caps (upload, upload->context, in gst_gl_upload_perform_with_buffer()
2594 GST_PAD_SINK, upload->priv->in_caps, NULL); in gst_gl_upload_perform_with_buffer()
2595 if (!gst_caps_is_subset (caps, upload->priv->out_caps)) { in gst_gl_upload_perform_with_buffer()
2603 upload->priv->method_impl = NULL; in gst_gl_upload_perform_with_buffer()
2614 upload->priv->saved_method_i = upload->priv->method_i - 1; in gst_gl_upload_perform_with_buffer()
2616 GST_OBJECT_UNLOCK (upload); in gst_gl_upload_perform_with_buffer()