diff options
author | Carlos Rafael Giani <crg7475@mailbox.org> | 2025-02-07 20:17:17 +0100 |
---|---|---|
committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2025-02-07 21:45:29 +0000 |
commit | 7926ba9bb65762002e2c0506b7e4bd4d950323a6 (patch) | |
tree | 40614765dd89c04aa45a49867763b05d553c98bc | |
parent | fad52b30ef08abffb5577843c1667726c5e0dda4 (diff) | |
download | meta-freescale-7926ba9bb65762002e2c0506b7e4bd4d950323a6.tar.gz |
libimxvpuapi2: Upgrade to version 2.3.1
* vpu: Add more options, flags, and frameskipping support to encoder API
* vpu: Deprecate min_intra_refresh_mb_count and replace it with flag
This is more practical, since the macroblock count if anyway usually set
to resemble the GOP length, so this might as well be automatically
calculated.
* vpu: encoder: Add GOP size checks
* vpu: encoder: Add imx_vpu_api_enc_get_encoded_frame_ext()
This is a preparation for reworked intra refresh support. In intra
refresh encoding, only the first frame is an I/IDR frame; all followup
frames are P frames. The start of an intra refresh interval qualifies
as a sync point. But since only P frames are present, callers callers
can't rely on the frame type to detect sync points. To fix this, the
imx_vpu_api_enc_get_encoded_frame_ext() is added to the API to be able
to communicate to callers that a sync point was produced.
* imx8m-hantro: Rewrite encoder to directly use the Hantro H1 API
This allows for more fine grained control of the H1 encoder.
Most notably, intra refresh works properly, and skipped frames
are correctly handled.
* imx8m-hantro: encoder: Add closed GOP interval support
* imx8m-hantro: encoder: Rework intra refresh
Use codec specific features for intra refresh. For h.264, use the Hantro
GDR (Gradual Decoder Refresh) feature, since it also takes care of
filling SEI message and SPS/PPS NALUs appropriately. For VP8, implement
a manual method. (Intra refresh is not officially supported in VP8
though. See the note about VP8 intra refresh in the comment blocks in
this commit.)
* imx6-coda: return IMX_VPU_API_ENC_RETURN_CODE_INVALID_CALL from
imx_vpu_api_enc_get_skipped_frame_info()
This keeps the imx6 backend consistent with the API. Previously, that
backend's implementation of that function was not returning anything at
all.
* imx8m-hantro: implement imx_vpu_api_enc_get_skipped_frame_info() stubs
for all encoders
Implement this function for all encoders to fix a linker error in
gstreamer-imx.
These encoders never return IMX_VPU_API_ENC_OUTPUT_CODE_FRAME_SKIPPED,
so we always return IMX_VPU_API_ENC_RETURN_CODE_INVALID_CALL from
imx_vpu_api_enc_get_skipped_frame_info().
* imx8m-hantro: dummy_encoder: add imx_vpu_api_enc_get_encoded_frame_ext()
Linking gstreamer-imx will fail if imx_vpu_api_enc_get_encoded_frame_ext)
is not available.
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
(cherry picked from commit 71bef353dc461541f2a554e8cbed42d026718488)
-rw-r--r-- | recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb (renamed from recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb) | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb index eef96e56..e1028779 100644 --- a/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.0.bb +++ b/recipes-multimedia/libimxvpuapi/libimxvpuapi2_2.3.1.bb | |||
@@ -11,7 +11,7 @@ DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" | |||
11 | PV .= "+git${SRCPV}" | 11 | PV .= "+git${SRCPV}" |
12 | 12 | ||
13 | SRCBRANCH ?= "master" | 13 | SRCBRANCH ?= "master" |
14 | SRCREV = "8639837a246f8d85fba8a707c130239aeabc0a19" | 14 | SRCREV = "37095a854aa176bb763a25ce98ceb6a787501271" |
15 | SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https" | 15 | SRC_URI = "git://github.com/Freescale/libimxvpuapi.git;branch=${SRCBRANCH};protocol=https" |
16 | 16 | ||
17 | S = "${WORKDIR}/git" | 17 | S = "${WORKDIR}/git" |