-
Notifications
You must be signed in to change notification settings - Fork 22
[v3] autodetect / driver scan #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
rzerres
wants to merge
12
commits into
bootlin:master
Choose a base branch
from
rzerres:wip_driver-scan
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- indentation struct buffer_type - spaces Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
in default mode user needs to provide working video- and media-device names. This patch will introduce libudev, to scan the classes 'video4linux' and 'media' for suitable devices. - parse topologie and find entities and interfaces that do provide video-decoding functionality - will preset the config values for 'video_path' and 'media_path' using the first match corresponding to driver named 'cedrus' - given commandline config options have precedence - update build systems to include needed symbols (libs, cflags) Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- build for project 'v4l2-request-test' - respect dependencies (libdrm, libudev) - test: decoder_vector Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- since crtc_id is defined as unsigned int *, update printf conversion specifier
- beside the literal strin, also output the error int number Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- const struct codec (.name, .type) use a descriptive name when referencing codecs by enum type Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- define a V4L2 buffer type structure (.name, .type) - refer 'v4l2_buf_type' enum values to their lexical names Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- media_scan_topology(): parse v4l2 media topologie and find entities and interfaces that do provide video-decoding functionality (MEDIA_G_TOPOLOGY) - pick video decoder entities (function: 'MEDIA_ENT_F_PROC_VIDEO_DECODER') - pick interfaces (type 'MEDIA_INTF_T_V4L_VIDEO') - assign struct v4l2_decoder holding entities of capable video decoder / media devices - provide helper functions convert v4l2 symbols to human readable strings Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
The decoder vector is used to store v4l2 entities from capable decoder drivers. It will offer access to the corresponding interfaces and media devices. Patch v1: - implement useful methods to dynamic manage the array elements (methods: initialize, append, delete, extend, get, num_entities, print, reduce, set, free) - integrate into meson build system - implemnt meson test (decoder_test) Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- update header-file - update c-file Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
- use prama defines push/pop just around the frames.h content
- enable getopt_long supporting long option style (e.g --video-path, --fps, etc.) - try to be consistent which 'v4l2-compliance' binary when choosing option names - adapt help message - to adopt the slice-path you need to explicitly prepend an argument-option (-s or --slice-path) with the path as an option-string - adopt summary output to be in line with long options - typo corrections - update code style (tabify vs whitespace, alingement) Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
17682d1 to
b74ab72
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
autodetect / media-driver scan
[v3] autoprobing devices
in default mode user needs to provide working video- and media-device names.
This patch will introduce needed infrastructure to autoscan suitable devices.
video-decoding functionality
using the first named 'cedrus'
use a descriptive name when referencing codecs by enum type
use pragma defines push/pop just around the frames.h content
[v2] autoprobing media devices via libudev
the user needs to select a cedrus aware video and media path.
This patch will use libudev, to scan the classes 'video4linux'
and 'media'.
using the first match corresponding to driver named 'cedrus'.
beside the literal string, also output the error int number
[v1] autoscan for video_path