Down the line, we probably should not have one directory per ISA
extension. This replicates the model from the hw/*/ directory.
isa/ seems better than arch/ because:
- "Instruction Set Architecture" is more specific than "Architecture",
- it saves one character,
- no modules/ subdirectory starts with I yet (so this will not break
auto-completion habits).
This also moves non-NEON-specific files to isa/arm/.
Sort of revert 1d2b56c68b but it actually
finish the work done in ticket #9367 by removing the last recursive
makefile target in modules/.
It allows faster make (though not significant here) but most of all,
sharing the same variable definition scope in modules/ for all
makefiles.
In particular, this facilitate for future work implementing partial
linking at the module level, which actually needs the list of all
plugins being compiled.
This is based on the GSoC project of Jai Luthra which final code can be
found here https://code.videolan.org/gsoc2019/darkapex/vlc/commits/nvdec_merge
The added patches on top of this proposal (cleaning, fixing, more codecs) can
be found here https://code.videolan.org/robUx4/vlc/tree/nvdec/10
By default we use Bob deinterlacing if the source is interlaced.
Do not use the VP9 decoder if the profile is unknown, it may need 10 bits
support and the hardware may not support it. This is the same way we support
VP9 in DXVA.
The decoder currently has a lower priority than libavcodec.
Co-authored-by: Jai Luthra <me@jailuthra.in>
Co-authored-by: Steve Lhomme <robux4@videolabs.io>
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
The QApplication constructor exits the entire process if it cannot find
a working Qt back-end. This is unacceptable within VLC, as we expect to
fallback to another interface plugin in such circumstances.
Qt 4.x selected its back-end at build time. VLC would try to connect to
the same back-end system (in practice: X11) to second-guess
QApplication, and preempt the initialization failure.
Qt 5.x selects its back-end at run time depending on installed back-end
plugins and running windowing system(s). There are no reasonable and
reliable ways to second-guess Qt anymore.
This commit introduces a dummy executable program that simply tries to
instantiate a QApplication. If it succeeds, it returns 0. Otherwise, it
returns an error. This allows its parent process to safely check if Qt
is available at run-time.
This avoids having to enable it explicitly in configure, while also not
installing it by default outside build trees. In the unlikely event
that you actually want to install the plugin, you can still do so but
manually (e.g. libtool install mode).
These changes introduces a new module type named stream_extractor. The
added documentation should explain when such module should be used,
but in short it allows for extraction of data within a stream,
effectively resulting in a new stream that refers to the extracted
data.
Interaction with the stream-extractor shall never happen directly,
instead the module-backend is written in a way so that it exposes a
stream_t to the public.
[ access ] -> [ stream_t ] -> [ stream consumer ]
'- [ stream extractor ]
Future changes are necessary in order to make modules of this type
usable in practice, but has been split into individual commits so that
the changes are easier to follow.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Deactivated by default since secret is not encrypted.
To use it (for test purpose only):
./vlc --keystore=plaintext --keystore-plaintext-file=<my_file> <url>
As the mmal modules will require some shared code in the future move them out
of the split directory structure into a hw/mmal subdirectory, like it
is handled with vdpau plugins already.
Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>