Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/drivers/media/platform/qcom/iris/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  iris_instance.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
 */


#ifndef __IRIS_INSTANCE_H__
#define __IRIS_INSTANCE_H__

#include <media/v4l2-ctrls.h>

#include "iris_buffer.h"
#include "iris_core.h"
#include "iris_utils.h"

/**
 * struct iris_inst - holds per video instance parameters
 *
 * @list: used for attach an instance to the core
 * @core: pointer to core structure
 * @session_id: id of current video session
 * @ctx_q_lock: lock to serialize queues related ioctls
 * @lock: lock to seralise forward and reverse threads
 * @fh: reference of v4l2 file handler
 * @fmt_src: structure of v4l2_format for source
 * @fmt_dst: structure of v4l2_format for destination
 * @ctrl_handler: reference of v4l2 ctrl handler
 * @crop: structure of crop info
 * @completion: structure of signal completions
 * @flush_completion: structure of signal completions for flush cmd
 * @flush_responses_pending: counter to track number of pending flush responses
 * @fw_caps: array of supported instance firmware capabilities
 * @buffers: array of different iris buffers
 * @fw_min_count: minimnum count of buffers needed by fw
 * @state: instance state
 * @sub_state: instance sub state
 * @once_per_session_set: boolean to set once per session property
 * @max_input_data_size: max size of input data
 * @power: structure of power info
 * @icc_data: structure of interconnect data
 * @m2m_dev: a reference to m2m device structure
 * @m2m_ctx: a reference to m2m context structure
 * @sequence_cap: a sequence counter for capture queue
 * @sequence_out: a sequence counter for output queue
 * @tss: timestamp metadata
 * @metadata_idx: index for metadata buffer
 * @codec: codec type
 * @last_buffer_dequeued: a flag to indicate that last buffer is sent by driver
 */


struct iris_inst {
 struct list_head  list;
 struct iris_core  *core;
 u32    session_id;
 struct mutex   ctx_q_lock;/* lock to serialize queues related ioctls */
 struct mutex   lock; /* lock to serialize forward and reverse threads */
 struct v4l2_fh   fh;
 struct v4l2_format  *fmt_src;
 struct v4l2_format  *fmt_dst;
 struct v4l2_ctrl_handler ctrl_handler;
 struct iris_hfi_rect_desc crop;
 struct completion  completion;
 struct completion  flush_completion;
 u32    flush_responses_pending;
 struct platform_inst_fw_cap fw_caps[INST_FW_CAP_MAX];
 struct iris_buffers  buffers[BUF_TYPE_MAX];
 u32    fw_min_count;
 enum iris_inst_state  state;
 enum iris_inst_sub_state sub_state;
 bool    once_per_session_set;
 size_t    max_input_data_size;
 struct iris_inst_power  power;
 struct icc_vote_data  icc_data;
 struct v4l2_m2m_dev  *m2m_dev;
 struct v4l2_m2m_ctx  *m2m_ctx;
 u32    sequence_cap;
 u32    sequence_out;
 struct iris_ts_metadata  tss[VIDEO_MAX_FRAME];
 u32    metadata_idx;
 u32    codec;
 bool    last_buffer_dequeued;
};

#endif

Messung V0.5
C=99 H=100 G=99

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.