summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/libimxvpuapi
Commit message (Collapse)AuthorAgeFilesLines
* libimxvpuapi2: Upgrade to version 2.3.0Carlos Rafael Giani2023-08-011-2/+5
| | | | | | | | | | | | | | | | | | | | | | | * vpu: Implement first working version of VC8000E encoder integration This adds support for the Hanto VC8000E encoder that can be found on the i.MX8m plus. The VC8000E encoder integration is not finished. h.264 encoding works fine. h.265 encoding is not yet done. And, changing framerate mid-stream is currently not supported. * Replace mxcfb.h with ipu.h in option description Some BSPs no longer ship with the mxcfb.h header. * imx6-coda: Fix ENC_ENABLE_SOF_STUFF check The check was being performed incorrectly, leading to nullbytes being inserted at the end of the SOF0 marker. * imx6-coda: Insert JFIF APP0 segment The VPU does not insert this segment on its own. Some programs need JFIF data to be present in JPEG files, so insert APP0 manually. * imx6-coda: Fix decoder and encoder alignments * imx6-coda: Add more IPU detiler logging * imx6-coda: Fix decoder Y/U/V offset alignments As it turns out, these must be aligned to 8-byte boundaries, not to 4096 byte ones. The latter caused incorrect offset calculations. Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* Update libimxvpuapi2_2.2.2.bbVexatuspl2023-06-221-1/+1
| | | This fixes the compilation issue on imx8mp, where "hanto" files are missing.
* libimxvpuapi2: Upgrade to version 2.2.2Carlos Rafael Giani2022-12-291-1/+1
| | | | | | | | | | | | | | | | | | | | | * imx6-coda: Skip incomplete frames instead of just reporting them * imx6-coda: Only flush bit buffer when framebuffers were registered This prevents misleading error-level log lines from occurring * imx6-coda: Prefer semi planar modes over fully planar ones * imx8m-hantro: Reset decoder write_offset to fill_level when moving read_offset * Add imx_vpu_api_is_color_format_tiled() function * update waf to 2.0.24 * Add closed_gop_interval field to ImxVpuApiEncOpenParams This allows for enforcing regularly occurring IDR boundaries when encoding to h.264 * imx8m-hantro: Fix supported decoder color formats and include tiled formats * Fix and improve h.264 max level estimation for encoding * imx6-coda: Use 2-row alignment in encoder * imx6-coda: Fix JPEG encoding quantization parameter handling in encoder Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* libimxvpuapi2: Upgrade to version 2.2.1Carlos Rafael Giani2022-06-161-1/+1
| | | | | | | | | | | | | * Add option to not compile examples * imx8m-hantro: Allow for reusing decoder after drain mode finishes * imx6-coda: Reset drain mode after EOS processed * imx6-coda: Reset drain mode flags when flushing * Use libimxdmabuffer 1.1.2 sync access functions to ensure cache coherence * Add imx_vpu_api_is_color_format_10bit() function * Documentation fixes Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* layer: Update LICENSE variable to use SPDX license identifiersAndrey Zhizhikin2022-03-032-2/+2
| | | | | | | | | | | | Since OE-Core commit 9379f80f48 ("license/insane: Show warning for obsolete license usage"), LICENSE field not containing SPDX identifiers are treated with WARNING. An automated conversion using scripts/contrib/convert-spdx-licenses.py to convert to use the standard SPDX license identifiers has been done on the entire layer. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
* Generalize overrides subsystem for NXP and Mainline supportOtavio Salvador2022-02-212-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Essentially, we extend the overrides to a generic-bsp, nxp-bsp, and mainline-bsp. So, for example, the mx8mq override is split into: - imx-generic-bsp: compatible with every i.MX SoC and both BSP variants - imx-nxp-bsp: compatible with every i.MX SoC but specific to NXP BSP - imx-mainline-bsp: compatible with every i.MX SoC but specific to Mainline BSP - mx8-generic-bsp: compatible with every i.MX8 SoC and both BSP variants - mx8-nxp-bsp: compatible with every i.MX8 SoC but specific to NXP BSP - mx8-mainline-bsp: compatible with every i.MX8 SoC but specific to Mainline BSP - mx8m-generic-bsp: compatible with every i.MX8M SoC and both BSP variants - mx8m-nxp-bsp: compatible with every i.MX8M SoC but specific to NXP BSP - mx8m-mainline-bsp: compatible with every i.MX8M SoC but specific to Mainline BSP - mx8mq-generic-bsp: compatible with every i.MX8MQ SoC and both BSP variants - mx8mq-nxp-bsp: compatible with every i.MX8MQ SoC8 but specific to NXP BSP - mx8mq-mainline-bsp: compatible with every i.MX8MQ SoC but specific to Mainline BSP The extender mechanism is responsible for extending the override list to include the generic overrides. We can then use the three different variants to handle the metadata correctly. Generically speaking, the conversion mainly was automated (with a lot of back and forth until getting it right). To convert an existing layer, the following script can be used: ```sh git ls-files classes recipes-* \ | xargs sed -i \ -e 's,:\(mx[6-8]\w*\),:\1-nxp-bsp,g' \ -e 's,(\(mx[6-8]\w*\)),(\1-nxp-bsp),g' \ -e 's,\(mx[6-8]\w*\)|,\1-nxp-bsp|,g' \ -e 's,|\(mx[6-8]\w*\)),|\1-nxp-bsp),g' \ \ -e 's,:\(mx[5s]\w*\),:\1-generic-bsp,g' \ -e 's,(\(mx[5s]\w*\)),(\1-generic-bsp),g' \ -e 's,\(mx[5s]\w*\)|,\1-generic-bsp|,g' \ -e 's,|\(mx[5s]\w*\)),|\1-generic-bsp),g' \ \ -e 's,:\(vf\w*\),:\1-generic-bsp,g' \ -e 's,:\(vf[56]0\w*\),:\1-generic-bsp,g' \ -e 's,\(vf\w*\)|,\1-generic-bsp|,g' \ -e 's,|\(vf\w*\)),|\1-generic-bsp),g' \ -e 's,\(vf[56]0\w*\)|,\1-generic-bsp|,g' \ -e 's,|\(vf[56]0\w*\)),|\1-generic-bsp),g' \ \ -e 's,:\(imx\) ,:\1-nxp-bsp ,g' \ -e 's,(\(imx\)),(\1-nxp-bsp),g' \ -e 's,\(imx\)|,\1-nxp-bsp|,g' \ -e 's,|\(imx\)),|\1-nxp-bsp),g' for d in $(find -type d | egrep '/mx[6-8]w*'); do git mv $d $d-nxp-bsp done for d in $(find -type d | egrep '/imx$'); do git mv $d $d-nxp-bsp done for d in $(find -type d | egrep '/mx[5s]w*'); do git mv $d $d-generic-bsp done ``` Fixes: #791. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* recipes: use https protocol and add explicit branch parameterPierre-Jean Texier2021-11-032-2/+2
| | | | | | | | | | | | | | | Due to https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git it is required to use https protocol for github repo accessing. Update created with oe-core/scripts/contrib/convert-srcuri.py (see [0]) Fixes: WARNING: /work/meta-freescale/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2021.07.bb: URL: git://github.com/Freescale/u-boot-fslc.git;branch=2021.07+fslc uses git protocol which is no longer supported by github. Please change to ;protocol=https in the url. [0] - https://git.openembedded.org/openembedded-core/tree/scripts/contrib/convert-srcuri.py Signed-off-by: Pierre-Jean Texier <texier.pj2@gmail.com>
* layer: Convert to new override syntaxKhem Raj2021-08-121-4/+4
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libimxvpuapi2: Update to version 2.2.0Carlos Rafael Giani2021-06-151-1/+1
| | | | | | | | | | | | | | | | | | * Add IMX_VPU_API_DEC_OUTPUT_CODE_VIDEO_PARAMETERS_CHANGED output code * Deprecate encoder drain mode, better document decoder drain mode * Various documentation fixes and new overviews about en- and decoding to help with the basic concepts * Add note about the current state of i.MX8m plus support * New functions: imx_vpu_api_is_color_format_rgb() imx_vpu_api_vp8_profile_number() imx_vpu_api_vp8_partition_count_number() imx_vpu_api_vp9_profile_number() imx_vpu_api_enc_set_frame_rate() * imx6-coda: Fix decoded frame fb_context This was causing crashes when callers relied on said fb_context Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* libimxvpuapi2: Update to version 2.1.2Carlos Rafael Giani2021-04-251-1/+1
| | | | | | | | | | | | * imx6 coda: fix bug in IPU based detiling related to frame width/height * imx6 coda: use the frame width/height from open params if available * imx6 coda: fix duplicate VPU firmware unloading * imx6-coda: Fix skipped frame reporting * imx8 hantro encoder: fix mid-stream bitrate changes and bitrate logging * imx8m-hantro: Handle CODEC_ERROR_FRAME codec state * imx8m-hantro: Limit supported formats and profiles if building for m8xmm Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* libimxvpuapi2: Update to version 2.1.0Carlos Rafael Giani2020-10-181-1/+1
| | | | | | | | | | | | | | | * introduce RGB and packed YUV formats since the Hantro encoder supports those * remove hardware specific public headers since they only added tiled pixel formats; instead, migrate these tiled formats into ImxVpuApiColorFormat * imx8 hantro decoder: reorder list of supported decoder color formats to favor 10 bit output * imx8 hantro decoder: clear new framebuffer fields to zero * imx8 hantro encoder: fix segfault caused by trying to unmap non existing staged raw frame Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* libimxvpuapi2: add imx8mp to supported platformsAndrey Zhizhikin2020-09-291-0/+1
| | | | Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
* libimxvpuapi2: Update to version 2.0.1Carlos Rafael Giani2020-04-201-2/+2
| | | | | | | | | | * imx6: replace mxcfb.h check with i.MX6 specific imx header check the mcxfb.h check only makes sense with i.MX6 devices, so requiring those for others like i.MX8 led to build errors * update waf to 2.0.12 and switch wscript to use Python 3 * imx6: fix encoder pointer usage in vpu_EncGiveCommand() call Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* libimxvpuapi: use host python3Max Krummenacher2020-01-081-2/+2
| | | | | | | | Fixes: | ERROR: libimxvpuapi-0.10.3+AUTOINC+4afb52f97e-r0 do_configure: Execution of '/build/krm/oe-core_master/build/tmp/work/armv7at2hf-neon-mx6qdl-tdx-linux-gnueabi/libimxvpuapi/0.10.3+AUTOINC+4afb52f97e-r0/temp/run.do_configure.51207' failed with exit code 127: | /usr/bin/env: ‘python’: No such file or directory Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
* libimxvpuapi2: Add recipeCarlos Rafael Giani2019-08-061-0/+25
| | | | | | | | | | | This is the successor to libimxvpuapi. Since at this moment, there is software still using the former, its recipe remains in place. Both versions (1 and 2) can coexist on the same rootfs. Version 2 introduces support for i.MX8 (mx8m and mx8mm for now), and also still supports i.MX6. Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
* libimxvpuapi: Bump revision to 4afb52fFabio Berton2018-06-261-1/+4
| | | | | | | | | | | | | | | | - Rename recipe to use latest git revision. - Add O.S. Systems Software Copyright - Add PV to use 0.10.3 release on name This change includes the following changes: - 4afb52f Merge pull request #22 from bmx666/master - 691ea9a Add imx_vpu_enc_configure_gop_size() function - 97a9ff2 Merge pull request #17 from Artox/master - 5739ffc add e-mail address to maintainer field - b5ff857 libimxvpuapi-dev: add debhelper generated ${misc:Depends} to depends Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
* libimxvpuapi: Update to version 0.10.3Carlos Rafael Giani2016-11-091-1/+1
| | | | | | | | | | | | | | | | Changes: - properly pass on color format in simplified JPEG encoder interface - add alternative write-callback-style encoding mode also add encode example variant which uses write-callback style output - add support for "fake grayscale mode" in encoders this is done by using I420 internally and filling the U and V planes with 0x80 bytes - make sure JPEG quantization table is copied in standardized zig zag order the VPU does not, so this has to be done explicitely Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* libimxvpuapi: use libdir from cross environmentMax Krummenacher2016-06-271-0/+2
| | | | | | | | | | | | | | | Pass $libdir to 'waf configure' to prevent using the build hosts libdir. Fixes: WARNING: libimxvpuapi-0.10.2-r0 do_package: QA Issue: libimxvpuapi: Files/directories were installed but not shipped in any package: /usr/lib64/libimxvpuapi.so /usr/lib64/libimxvpuapi.so.0 /usr/lib64/libimxvpuapi.so.0.10.2 /usr/lib64/pkgconfig /usr/lib64/pkgconfig/libimxvpuapi.pc Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* libimxvpuapi: Update to version 0.10.2Carlos Rafael Giani2016-05-071-1/+1
| | | | | | | | | | | | | | | Changes: - fix AUD NAL positioning in h.264 encoder output (SPS/PPS/AUD were ordered incorrectly - AUD has to come first, not last) - fix build error with examples when --enable-static is used - pass quality factor in simplified JPEG encoder interface correctly - add functions for querying and setting header data useful for modifying headers, like VUI data in the SPS RBSP - documentation updates Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* libimxvpuapi: Update to version 0.10.1Carlos Rafael Giani2016-04-191-1/+1
| | | | | | | | | | | | Changes: - add debian packaging files - update waf to version 1.8.16 - add workaround in wscript to prevent stale pkg-config .pc files - fix memory leak by adding missing IOFreeVirtMem() call in vpulib backend Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* libimxvpuapi: Add new recipeCarlos Rafael Giani2016-04-191-0/+16
This is a library for using the i.MX6 VPU. It is an alternative to libfslvpuwrap, hosted on Github, and has an API that features several improvements over libfslvpuwrap, which include: * User-defined context information associated with input frames, which is passed on to corresponding output frames (to be able to identify which input frame produced which output frame) * Groundwork for future DMA-BUF/BMM/ION/CMA allocator integration, using file descriptors instead of physical addresses * Indicators for when it is safe to try to decode frames, which is critical in multi-threaded playback cases * Simplified, higher-level JPEG en/decoding API, based on the VPU MJPEG codec; useful for picture viewing without the extra boilerplate for VPU-based en/decoding Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>