tests: kmscapture: simple v4l2 capture test tool
Simple tool on top of libkms to display video from attached V4L cameras.
w/o parameter the kmscapture will try to use all cameras. With -s/--single
cmd line parameter it can be forced to open only /dev/video0.
The camera resolution is chosen based on the screen resolution, number of
cameras and the supported resolutions by the camera itself.
By default the buffer is provided by DRM. This can be changed with the
--buffer-type=v4l, so the buffer is provided by the V4L layer.
Simple tool on top of libkms to display video from attached V4L cameras.
w/o parameter the kmscapture will try to use all cameras. With -s/--single
cmd line parameter it can be forced to open only /dev/video0.
The camera resolution is chosen based on the screen resolution, number of
cameras and the supported resolutions by the camera itself.
By default the buffer is provided by DRM. This can be changed with the
--buffer-type=v4l, so the buffer is provided by the V4L layer.
dumbframebuffer: fix throw linefeed in in prime_fd
add public PixelFormatInfo
Add IMappedFramebuffer and remove MappedBuffer
kmsview: scale down to fit into screen
kmsview: support multiple planes
kmsview: show multiple frames
libkmstest: color & draw_rect
py improvements
crtc: add disable_plane()
fbtestpat: fix stride
add ob::set_prop_value()
add *.patch to gitignore
kmscube: fix atomic FB_ID set for crtc
db: fix atomic FB_ID set for crtc
add fbtestpat
add MappedBuffer & co
Add definition to DRM_CLIENT_CAP_ATOMIC undef case
This patch adds a missing DRM_MODE_ATOMIC_NONBLOCK
definiton for cases were the kernel supports atomic
modesetting but the libdrm version used does not.
Without this patch a "'DRM_MODE_ATOMIC_NONBLOCK' was
not declared in this scope" error is seen when
trying compile the library
Signed-off-by: Alejandro Hernandez <ajhernandez@ti.com>
This patch adds a missing DRM_MODE_ATOMIC_NONBLOCK
definiton for cases were the kernel supports atomic
modesetting but the libdrm version used does not.
Without this patch a "'DRM_MODE_ATOMIC_NONBLOCK' was
not declared in this scope" error is seen when
trying compile the library
Signed-off-by: Alejandro Hernandez <ajhernandez@ti.com>
testpat: show video mode Hz
libkms: fix Connector::get_default_mode when no modes
db: use the configured mode, not default
testpat: support interlace
libkms: add 'ilace' param for Connector::get_mode()
DumbFB: fix dumb buffer alloc for omap NV12
Dividing the bitspp with xsub works better than dividing the width, as
otherwise the buffer stride will get aligned easily quite a bit. This is
somewhat OMAP specific fix/work-around, but then, it's not clear how
NV12 buffer sizes should be calculated anyway.
Dividing the bitspp with xsub works better than dividing the width, as
otherwise the buffer stride will get aligned easily quite a bit. This is
somewhat OMAP specific fix/work-around, but then, it's not clear how
NV12 buffer sizes should be calculated anyway.
README: add notes about test tools
remove lua bindings
README: add LIBKMS_ENABLE_KMSCUBE
remove the old cmdoptions.h
kmsprint: use the new option parser
testpat: big rewrite
libkmstest: add Option & OptionSet
DumbFB: don't unmap if not mapped
Merge branch 'kmscube'
Add kmscube
kmstest: remove unused color_convert
fix pykms
Card: support opening specific drm device
Fb: collect fbs and destroy them in card's destructor
Connector: prettier connector names
Connector: add get_mode(xres, yres, refresh)
Videomode cleanup
libkmstest: disable draw perf prints
libkmstest: add EXIT()
libkmstest: add FAIL()
dumbfb: move prime_fd() and fix its return type
dumbfb: lazy mmap
connector: consider UNKNOWNCONNECTION as connected
libkms++: dumbframebuffer: Get file descriptor for the FB
v4l linux needs file descriptor instead of handle.
v4l linux needs file descriptor instead of handle.
card: fix has_atomic if libdrm does not have atomic support
If libdrm was missing DRM_CLIENT_CAP_ATOMIC, but the driver still
supported atomic modesetting, m_has_atomic was set to true. The end
result was that test apps thought they can use atomic modesetting, but
it wasn't functional in the libkmsxx.
If libdrm was missing DRM_CLIENT_CAP_ATOMIC, but the driver still
supported atomic modesetting, m_has_atomic was set to true. The end
result was that test apps thought they can use atomic modesetting, but
it wasn't functional in the libkmsxx.
db: print slowest frame time
AtomicReq: use nonblocking commit
pixelformat: add undefined
dumbfb: improve exception texts
remove print_short
card: use object vectors
card: use vectors with get_xxxs() methods
card: collect obs to vectors
card: add get_plane()
card: add get_crtcs()
Add AR24 & AB24 formats
add missing <stdexcept> includes
db: disable plane support for now
ExtFramebuffer: add alternative constructor
add Card::get_connector(id)
dumbfb: add offset
dumbfb: add num_planes
dumbfb: expose handle
pykms: add iact.py
pykms: use -builtin
pykms: add swig vectors for basic libkms types
README: add env variables
Add tests/kmsprint
tests/testpat: Add -m flag
Add simple command line option parser and a tester for it
libkms++/property: Add const std::string to_str(uint64_t val) const
libkms++/drmobject: Add const std::map<uint32_t, uint64_t>& get_prop_map() const
libkms++/plane: Add methods for getting details of the DRM object
libkms++/encoder: Add methods for getting details of the DRM object
libkms++/crtc: Add methods for getting details of the DRM object
libkms++/connector: Add methods for getting details of the DRM object
8 years agolibkms++/pixelformats.h: Add static inline std::string PixelFormatToFourCC(PixelFormat f)
libkms++/pixelformats.h: Add static inline std::string PixelFormatToFourCC(PixelFormat f)
db: use a plane
db: refactor
add CMY and WB to test pattern
db: print fps
add kmsview
libkms: Add Plane::supports_format
TODO: remove YUV bug
testpat: add NV12/NV21 support
testpat: rewrite the pixel drawing
testpat: cleanup and fix drawing yuv pixels
Add support for YVYU and VYUY
Fix exception string.
libkmstest: cleanup colors and add xbgr8888 support
Add XBGR8888 format
don't enable lua by default
test: FAIL_IF & ASSERT cleanup
TODO: cleanup done items
DumbFB: clean up format_info code
use PixelFormat all around