summaryrefslogtreecommitdiff
path: root/kms++util
AgeCommit message (Collapse)Author
2021-09-05utils: Add a dump_framebuffer() methodHEADmasterLaurent Pinchart
Add a new method to write the contents of a framebuffer to a file descriptor. This can be used to capture frames from writeback connectors. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-09-05card: Add support for writeback connectorsLaurent Pinchart
Enable enumeration of writeback connectors if both libdrm and the device support it. The new Card::has_writeback() method report if the card support writeback connectors. Existing code that expect all connectors to model an output may be confused by the sudden availability of new connectors. To handle this issue, - add a KMSXX_DISABLE_WRITEBACK_CONNECTORS environment variable to disable enumeration of writeback connectors, similarly to universal planes ; and - ignore writeback connectors where no specific connector is requested (Card::get_first_connected_connector(), ResourceManager::reserve_connector() if no connector name is specified, and applications that use all connected outputs). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-03-26Add so version numbers to librariesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2020-12-16Remove CMake supportTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
2020-10-20meson: fix build with thread supportTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-10-09Bulk format of all filesTomi Valkeinen
2020-09-14Add meson buildTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10kms++: Add support for missing 8 -and 16-bit RGB formatsLaurent Pinchart
Add support for the RGB332, XRGB1555 and XRGB4444 formats to the PixelFormat class, the Python API, and the drawing utilities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10kms++: Add support for the planar YUV formatsLaurent Pinchart
Add support for the 6 planar YUV formats (YUV and YVU, combined with 420, 422 or 444 subsampling) to the PixelFormat class, the Python API, and the drawing utilities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10kms++: Add support for semiplanar YUV422 formats (NV16 and NV61)Laurent Pinchart
Add support for the NV16 and NV61 pixel formats to the PixelFormat class, the Python API, and the drawing utilities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-07-24Use unique_ptr to prevent memory leaks in VideoDevice classdreamer.dead
2020-05-17Merge pull request #54 from ilteroi/gcc10Tomi Valkeinen
fix compiler errors with gcc 10
2020-05-15fix compiler errors with gcc 10Peter Trompeter
2020-05-15resmgr: add release() methodsMatt Hoosier
This makes the ResourceManager class much more functional for uses where the set of resources used to scan out a scene changes from frame to frame. The atomic modesetting API discipline requires a brute-force search to find a compatible pairing of planes/etc, and being able to reserve bits incrementally is much simpler than throwing out the entire resourcemanager and make a new one each time a resource reserved in a tentative attempt to probe its compatibility with an test-mode atomic commit, turns out not to pan out.
2020-04-21videodevice: use exception to catch bad fdTomi Valkeinen
2020-03-03Supply pkg-config filesMatt Hoosier
These are customary, and pretty straightforward to offer.
2019-11-19Set a dummy version number on the shared librariesMatt Hoosier
This makes package managers happier when the software is built as a dynamic-library. Signed-off-by: Matt Hoosier <matt.hoosier@garmin.com>
2019-11-06Use [] operator delete to free CPUFramebuffer buffersdreamer.dead
2019-09-25remove unused sformat()Tomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-09-16videodevice: handle NV12 <-> NM12 translationBenoit Parrot
V4L2 and DRM differ in their interpretation of YUV420::NV12 V4L2 NV12 is a Y and UV co-located planes in a single plane buffer. DRM NV12 is a Y and UV planes presented as dual plane buffer, which is known as NM12 in V4L2. Since here we have hybrid DRM/V4L2 user space helper functions we need to translate DRM::NV12 to V4L2:NM12 pixel format back and forth to keep the data view consistent. Signed-off-by: Benoit Parrot <bparrot@ti.com>
2019-04-09add support for more pixel formatsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-11-01videodevice: Add selection API supportBenoit Parrot
Add selection API support to the VideoSteamer class. Signed-off-by: Benoit Parrot <bparrot@ti.com>
2018-10-17Add AR12 & AR15 supportTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-08-23Revert "testpat: remove threaded drawing"Tomi Valkeinen
This reverts commit 33246d9b5fb0347aabd62caac1da03440f9e1634. Add threaded drawing back, but have it behind a CMAKE variable so that it can easily be turned off. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-08-03add a simple draw_circle()Tomi Valkeinen
2018-05-22testpat: remove threaded drawingTomi Valkeinen
Threading causes easily issues with (at least) static linking. Let's just remove it as it's not really that important. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-01-09add safeguards to draw_*_pixel() to prevent memory corruptionTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-12-15videodevice: Fix minor spacingKieran Bingham
Provide a space between the return type and the function definition Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-11-22resman: use set<> instead of vector<>Tomi Valkeinen
2017-11-22kmstest: use resmanTomi Valkeinen
2017-10-03Rework framebuffer classesTomi Valkeinen
Drop (I)MappedFramebuffer, as it doesn't really provide any value, and have most of the methods be present in IFramebuffer with default exception throwing implementation. This gives us simpler way to use the framebuffers, as almost always we can just use a pointer to IFramebuffer.
2017-06-05testpat: fix the location of second diagonal lineTomi Valkeinen
2017-05-31Add different YCbCr encodings.Jyri Sarha
2017-05-18testpat: white box in top left cornerTomi Valkeinen
2017-05-18draw_char: use black bg for yuvTomi Valkeinen
2017-05-17draw_rect: support yuv modesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-30resmgr: fix reserve_plane()Tomi Valkeinen
reserve_plane() had inverted check, and looked for any plane type but the one that was requested. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-24resmgr: add sanity checksTomi Valkeinen
Add sanity checks to reserve_* methods, and return null if the give connector/crtc is null. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-03-21Merge branch 'universal-planes2' of git://github.com/jsarha/kmsxxTomi Valkeinen
2017-03-21utils: add EXIT_IFTomi Valkeinen
2017-03-20ResourceManager: reserve_generic_plane() for either primary or overlayJyri Sarha
2017-02-10use reserve_connector from ResourceManagerTomi Valkeinen
2017-02-10fix race issue in threaded test pattern drawTomi Valkeinen
2016-08-15Merge branch 'master' of git://github.com/jsarha/kmsxxTomi Valkeinen
2016-08-15Fix byte order of 24-bit formats.Jyri Sarha
2016-08-15Add missing BGR color formats to draw_test_pattern_part().Jyri Sarha
2016-08-15ResourceManager: add card()Tomi Valkeinen
2016-08-12ExtCPUFramebuffer: add size and offset paramsTomi Valkeinen
Add size and offset params to ExtCPUFramebuffer, so that we can fix fbtestpat's test pattern size on larger virtual fbdevs.
2016-08-11add basic cmake install systemTomi Valkeinen
2016-08-11Add BGR888 (BG24) and BGR565 (BG16) pixelformats.Jyri Sarha
Note colorbar does not support 24 bit modes (RGB888 or BGR888) yet.