Skip to content

Commit 61364ad

Browse files
committed
Paragraph "What Shapes the Converted Application" added
1 parent 3843416 commit 61364ad

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

docs/user-guide/dev_guide/convert_app.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,67 @@ The prompt orchestrates the conversion process using a sequence of well-defined
2525
| Document the conversion | Generate a detailed README and documentation for the converted application. |
2626
| Final compliance audit | Perform a final audit to ensure all requirements and deliverables are met. |
2727

28+
## What Shapes the Converted Application
29+
30+
The form and structure of the converted application are not fixed — they emerge
31+
from the interplay of several factors that the workflow analyses and resolves
32+
automatically. Understanding these factors helps set realistic expectations
33+
before starting a conversion.
34+
35+
### AI model and its context
36+
37+
The choice of AI model is one of the most influential factors:
38+
39+
- **Model architecture** (SSD, YOLO, ResNet, …) determines which DL Streamer
40+
inference elements are used (`gvadetect`, `gvaclassify`) and how the
41+
pipeline stages are chained.
42+
- **Inference mode** (`full-frame` vs `roi-list`) affects whether a
43+
single-pass or cascaded detection approach is used — this choice is made
44+
per-model based on object scale and density.
45+
- **Precision** (FP16 / FP32 / INT8) influences runtime performance and
46+
the target inference device selection.
47+
- **Training domain** of the model (e.g. barrier/toll-booth vs. open-road
48+
surveillance) determines whether a direct model reuse is valid or a
49+
domain-matching substitute must be found.
50+
- **Character set / language** for OCR and text-recognition models constrains
51+
which model is selected (e.g. Latin-alphabet vs. CJK character sets).
52+
53+
### Architecture of the source application
54+
55+
The source app's pipeline structure is preserved 1-to-1 in the conversion:
56+
57+
- **Number and order of inference stages** (PGIE, SGIE, secondary
58+
classifiers) maps directly to the number of DL Streamer elements.
59+
- **Presence of object tracking** determines whether `gvatrack` is included
60+
and which tracking mode is selected.
61+
- **Visualization and metadata output** requirements determine the rendering
62+
and publishing elements (`gvawatermark`, `gvametaconvert`,
63+
`gvametapublish`).
64+
65+
### Target execution environment
66+
67+
Runtime characteristics of the deployment machine affect the output:
68+
69+
- **Available inference device** (Intel iGPU / dGPU / CPU / NPU) determines
70+
the `device=` parameter and whether hardware video encoding is available.
71+
- **Display availability** (headless vs. GUI) determines whether
72+
`autovideosink`, `filesink`, or `fakesink` is used as the output sink.
73+
- **Operating system and driver stack** may require environment workarounds
74+
(e.g. GStreamer registry cache rebuild, Python plugin compatibility).
75+
76+
### Input and output format requirements
77+
78+
- **Input source type** (local file, USB camera, RTSP stream) selects the
79+
appropriate GStreamer source element.
80+
- **Required output format** (annotated video, JSON metadata, CSV log)
81+
determines the metadata publishing and sink configuration.
82+
83+
> **In short:** the converted application is a direct function of the source
84+
> app's pipeline, the models available for the target platform, and the
85+
> execution environment. The workflow resolves all these factors automatically
86+
> and documents every decision in the generated README under
87+
> **Conversion Notes**.
88+
2889
## Example Usage
2990

3091
While the prompt is primarily designed for use with an agent or automation, a typical conversion workflow may be initiated as follows (pseudo-command):

0 commit comments

Comments
 (0)