Files
mpp/CHANGELOG.md
Herman Chen 1375813cbb docs: Update 1.0.12 CHANGELOG.md
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I7139924c36876eb08c757b14f595ef8377e93c3f
2026-05-29 09:21:06 +08:00

44 KiB

1.0.12 (2026-05-29)

Feature

  • [mpi_enc]: Support load ref_cfg json file
  • [mpp_cfg]: Add ref_cfg json apply/extract api
  • [kmpp]: Add kmpp_venc_test implement
  • [mpp_enc]: Support force idr by KEY_INPUT_IDR_REQ meta
  • [kmpp_obj]: Add resize interface
  • [mpp_test]: Add mpp_test.h
  • [mpp_enc_cfg]: Add ENTRY VLA support
  • [mpp_cfg]: Add Variable Length Array (VLA) support
  • [mpp_frame]: Add data_layout info to the MppFrame.
  • [mpp_soc]: Add FBC/tile info to the SoC module.
  • [vdpu384b]: Supports vdpu384b scaling down
  • [mpp_trie]: Add progressive support
  • [hal_dbg]: Support loading data from file
  • [vepu511a]: Add tuning procedure for H.264
  • [osal]: Add MPP_DEV_SET_FLAG support for register write flags
  • [hal]: Add hal_dbg dump interfaces for rkvdec
  • [osal]: Add mpp_mkdir_p api
  • [legacy]: Support RKFBC output format
  • [osal]: Add runtime read-write path probe
  • [vpu_api]: Add RKFBC output format definition
  • [vepu511a]: Add tuning procedure for HEVC
  • [vdpu383/384b]: Enable fast parse support
  • [kmpp_obj]: Add s8/u8/arr for elem type
  • [mpp]: Add elem type in mpp_internal.h
  • [utils]: Add utils singleton
  • [vdpp]: Enbale change loglevel dynamically
  • [vepu511a]: Setup quant registers for H.264
  • [vdpp]: Add vdpp3 for RK3572 and RK3538
  • [mpp_soc]: Support vepu511a on rk3572
  • [vepu_511a]: Add vepu511a h265e support
  • [vepu_511a]: Add vepu511a h264e support
  • [vepu_511a]: Add vepu_511a common for rk3572
  • [mpp_ring]: Add mpp wrap ring buffer module
  • [mpp_sys]: Add venc show_cfg / dump_cfg cmd
  • [mpp_buf_slot]: Add MppDecCfg update
  • [mpp_runtime]: Add mpp system service thread
  • [mpp_parser]: Use api register module
  • [test]: Optimize enc cfg configuration
  • [utils]: Support reorder argv when option parse
  • [vdpu384a]: Refactor the RCB calculation
  • [vdpu383]: Refactor the RCB calculation
  • [build]: Support detail build config by MPP_SOC
  • [vdpu384b]: Enable support for RK3539.
  • [cmake]: Add window ndk build support
  • [mpp_singleton]: Add module without order id
  • [cmake]: Add function to merge objects
  • [utils]: Add split_path_file_inplace
  • [vdpu384b]: Enable support for RK3572/RK3538.
  • [vdpu384b]: Support RK3572/RK3538 new features
  • [mpp_enc_args]: Enc test args object implement
  • [vdpu38x]: Add vdpu38x common module
  • [kmpp_obj]: Add kmpp_obj_copy func
  • [jpegd]: Add VPU730 JPEG decoder
  • [jpege]: Add VPU730 JPEG encoder
  • [soc]: Add RK3538 and RK3572 description
  • [build]: Add soc.cmake
  • [h265d]: Skip extract rbsp when hw support
  • [vdpp]: Add output luma_avg
  • [mpp_meta]: Add frame / meta dup function
  • [mpp]: Use macro to create mpp_cfg
  • [kmpp_vdec]: Add kmpp_vdec module
  • [kmpp_venc]: Add kmpp_venc module
  • [mpp_enc_cfg]: Change to object implement
  • [kmpp_obj_helper]: Support no IMPL_TYPE objdef
  • [kmpp_obj]: Add kmpp ioctl trie query
  • [kmpp_ioc]: Add kmpp_ioc module
  • [kmpp_obj]: Add ioctl related macro
  • [kmpp_obj]: Add KmppShm allocate function
  • [kmpp_obj]: Add more functions

Fix

  • [hal_rkdec]: Fix duplicate align on ver_stride in fbc mode
  • [kmpp_obj]: Add ioc list management
  • [kmpp]: Fix error on get meta from kmpp_packet
  • [kmpp_meta]: Fix get_obj failure
  • [mpp_test]: Set stride on info change
  • [av1d_parser]: Fix signed value parsing reads extra bit
  • [mpp_enc_ref_test]: Fix test case error
  • [sys_cfg]: Fix low H.264 decode FPS at 4096x2160.
  • [mpp_trie]: Fix name len update on add_entry
  • [kmpp_obj]: Fix flag bitmap overflow on arm64
  • [mpp_cfg_io]: Fix array print format
  • [hal_vepu511]: Explicitly clear jpeg_stnd for video encoding
  • [rc]: Fix i_refresh_bit memory leak in deinit
  • fix CHANGELOG.md
  • [sys_cfg]: For AFBC, fixed border extension of 8 pixels.
  • [vdpu38x]: YUV400 should be calculated as YUV420
  • [hal_h264e/h265e]: Fix the top address of bitstream buf
  • [h264d]: Add missing api call in rkv reg
  • [vdpp]: Fix the vdpp buffer dump behavior
  • [cmake]: add PRIVATE to ASAN_LIB
  • [vepu511/511a]: Fix RGB CSC range via get_rgb2yuv_cfg
  • [vepu511a]: Fix RDO lambda_idx_p error for H.264
  • [crc]: Fix CRC interface usage issue.
  • [h265d]: Fix RPS flags after sort/flip
  • [misc]: Fix compile error on old ndk
  • [h264d]: Skip more_rbsp_data for baseline/main/extended profiles
  • [mpp_rc]: Prevent drop_gap bypass during reencode
  • [h265d]: Fix overlap scan OOB read and carry-over data loss in spliter
  • [build]: Fix static build missing hal object issue
  • [mpi_dec_test]: Fix tile output issue
  • [vepu511a]: Fix H.264 regs assignment error
  • [rc]: Fix incorrect QP constraint
  • [mpp_dec]: Mpp_frame supports AFBC/RKFBC
  • [hal]: Fix reg buf usage in non-fast-parse mode
  • [vdpu383]: Fix vpd9d stride(fbc) config issue
  • [rc]: Fix fps calculation
  • [vdpu383_avs2]: Fix AVS2 decoding failure issue
  • [mpp_sys_cfg]: Fix hor pixel stride calculation issue
  • [h265d]: Fix return value check issue
  • [kmpp]: Fix clang compile error
  • [vepu511a]: Update SAO anti-blur regs setup for HEVC
  • [vepu511a]: Update SMEAR regs setup for HEVC
  • [jpegd]: Fix oversized buf size calculated by mpp_sys_cfg
  • [h265d]: Fix hvcc deadloop issue
  • [hdr_meta]: Add hdr meta pool with ref_cnt
  • [vepu511a]: Update anti-stripe regs setup for HEVC
  • [vepu511a]: Update ATR regs setup for HEVC
  • [vepu511a]: Update ATF regs setup for HEVC
  • [dchs]: fix TSVC dual-core refs config issue
  • [mpp_cfg_io]: Adapt cfg io array
  • [h265e_vepu511a]: Fix colmv load condition
  • [vepu511/511a]: Drop dual-core frame parallel support
  • [vepu511a]: Fix regs assignment error
  • [dec_demo]: The decoder demo supports tile output
  • [h265d_rkv]: Fix rkv ref and poc setup overflow
  • [vepu_511a]: Reorganize speed mode levels
  • [h265d]: Fix invalid hvcc data crash on seek
  • [vdpu384b]: Fix fbc payload stride cfg issues
  • [vp9_vdpu384b]: Fix fbc ref frm stride cfg issues
  • [mpp_list]: Fix mpp_list_wait_timed return value
  • [mpp_dec]: Fix eos frame output flow
  • [vdpu383/384b]: Fix FBC mode change on info change
  • [test]: Modify some json file
  • [mpp]: Fix encoder tile4x4 yuv400
  • [hal_vepu5xx]: Correct slice info register structure
  • [hal_h265e]: Fix split out crash for vepu_511/511a
  • [hal_av1d]: Fix dec timeout in some case for rk3588
  • [av1d]: Fix the value of AV1_REF_CONTEXTS
  • [test]: Fix rc set cfg
  • [h265e_vepu511a]: Fix compiler warning
  • [vdpp]: Move macro definition
  • [cmake]: Fix debug option not taking effect in Clang NDK builds
  • [h264_afbc]: Fix the FBC buffer edge expansion error.
  • [vp9d]: Fix error when show existing frame case
  • [hal_av1d_vdpu384b]: Fix compile warning
  • [cmake]: Fix cmake warning
  • [vdpu384b]: Fix AV1 decoding corruption issue.
  • [hal_jpege]: Fix jpeg hdr write twice when reencode
  • [av1d]: Fix error when read quant params and tiles info
  • [vp9d]: missing fmt setting for 10bit
  • [vp9]: Clean up debug log
  • [mpp_osal]: Fix signed/unsigned comparison warning
  • [cmake]: Add more warning option
  • [kmpp]: Fix compiler warnings in kmpp
  • [mpp_hal]: Fix compiler warnings in hal modules
  • [mpp_dec]: Fix compiler warnings in dec modules
  • [mpp_base]: Fix compiler warnings in base module
  • [osal]: Fix compiler warnings in OSAL modules
  • [enc_utils]: Fix compiler warnings in utils
  • [hal]: Remove unsupported soc types from enc hal
  • [osal]: Add singleton id validation
  • [build]: update Android.bp
  • [mpp_sys]: Fix temp variable initialization issue
  • [av1d_parser]: Fix src/dst initialization issue
  • [mpp_sys]: Fix temp variable initialization issue
  • [codec]: Fix rc update when jpeg cfg change
  • [test]: Fix compile warning
  • [mpp_singleton]: Fix 64-bit mask overflow
  • [mpp_enc]: Fix two pass error with igop=1 when h265e
  • [mpp_enc_refs]: Fix twopass err with igop=1 when h264e
  • Fix QAC Rule-21.1 for version.in
  • [inc]: Fix QAC warning for mpp_hash.h
  • [osal]: Avoid spinlock deadlock
  • [sys_cfg]: Fix AFBC buffer size calculation issue
  • [vdpu38x]: Fix rcb sram not being used issue
  • [utils]: Fix enc cfg get/set error
  • [mpi_test]: Fix compiler warning
  • [hal_vp8d]: Fix compiler warning
  • [vepu511]: Fix scaling list error for h265
  • [vepu511]: Fix scaling list error for h264
  • [hal_h265e_vepu511]: Register hal api for RV1126B
  • [mpp_thread]: Fix thread status on stop
  • [mpp]: Fix memory leak issues
  • [vdpp2]: Fix the sharp register definition
  • Clean QAC Rule-10.1
  • [base]: Clean QAC Rule-10.1
  • [hal]: Clean QAC Rule-10.1
  • [codec]: Clean QAC Rule-10.1
  • [cmake]: Fix soc matching error
  • [utils]: Fix opt parse crash
  • [mpp_enc_hal]: Fix enc hal init issue
  • [cmake]: Fix thread library dependency on linux
  • [kmpp_obj]: Fix memory out-of-bounds
  • [cmake]: Fix odr-violation issue
  • [utils]: Fix compilation error
  • [mpp_build]: Fix object rps output dir
  • [build]: Add mpp_hal to whole_archive list
  • [hal_h265e/jpege]: Remove unsed api variable in ctx
  • [cmake]: Skip non-existent target in merge_objects()
  • [h265e_api]: Set default sao bit ratio to 5
  • [license]: Restore the following files to LGPL
  • [vdpp]: Fix known bugs
  • [hal_vepu511]: Fix two pass configure issue
  • [mpp_soc]: RK3538 does not support AVS2 decoding
  • [hal]: Adjust hal buf slots max count
  • [hal_vepu]: poll max set to 1 on split out lowdelay mode
  • [vdpu38x_com]: Fix rcb calc issue
  • [sys_cfg]: Fix decoder sys_cfg crash
  • [hal_av1]: Fix oversized buffer allocation
  • [h265d_parser]: Fix heap-use-after-free issue
  • [mpp_comm]: Add alignment macros to sync with the doc.
  • [av1d]: Pass use_superres to the HAL
  • [hal_av1_vdpu383]: Fix global data read page fault.
  • [h265d]: Modify RefPicList array size to 16
  • [build]: Fix compilation issue with different codec option
  • Rename macro _mpp_dbg _mpp_dbg_f for Rule-21.1
  • Clean QAC Rule-21.2 and 8.2
  • Clean QAC Rule-21.10
  • Convert CRLF to LF
  • [av1]: Rename macro for av1d_cbs.c
  • Clean QAC M3CM Rule 10.1 8.12 9.3
  • Clean QAC M3CM Rule-18.7
  • Clean QAC rules for some file.h
  • [mpp_enc]: Fix force idr failed by control
  • [h264d]: Fix extra data lost issue
  • [h265d_parser]: Split mulit slice hvcC packets
  • [h265d]: Fix hdr dynamic data loss
  • fix for M3CM Rule-8.2
  • fix for M3CM Rule-21.1
  • [h264e]: fix mutual dependencies
  • [h265e]: fix mutual dependencies
  • fix MISRA warning
  • [h265d]: fix GDR stream decoding
  • [rkenc]: fix a typo
  • [hal_h265e_vepu511]: Align subjective configuration
  • [vepu_511]: Sync vepu511 regs from kmpp to mpp
  • [hal_avs2d]: fix old reflist not reset issue
  • [kmpp_meta]: Fix compiler warning
  • [cmake]: Add dependent libs to pkgconfig
  • [mpp_enc_impl]: Fix ref_cfg setup error
  • [avs2d]: fix parser segment fault
  • [vproc]: Fix missing hdr_info on vproc flow
  • [mpp_singleton]: Fix 64-bit mask overflow
  • [inc]: Reserve split variable for compatibility
  • [mpp]: Fix c89 build error
  • [mpp_singleton]: Fix cluster sgln id conflict
  • [osal]: Align MppMemPoolNode to 8-byte
  • [tools]: Remove invalid window path
  • [utils]: Fix osd test compilation warning
  • [cmake]: Fix libm / libmvec compile error
  • [cmake]: Fix debug option on high ndk
  • [kmpp_obj]: Fix a typo
  • [kmpp_obj]: Fix objdef index error for ioctl
  • [kmpp_obj_macro]: Fix GET_ARG0 macro
  • [kmpp_obj]: Fix log format
  • [kmpp_buffer_test]: Fix sptr setup error
  • [mpp]: Fix compilation warnings
  • [mpp_soc]: Add mpp_debug env reading when init
  • [test]: Fix shm test crash on old kernel
  • [hal_av1d_vdpu383]: Fix Roku player crash after seeking.
  • [parser]: Ensure the DTS is transmitted to the frame
  • [h265d]: Fix rps data update issue
  • [kmpp_obj]: Add ptr / st compatibility handling
  • [buf_slot]: Clean up invalid logs
  • [mpp]: Fix some typos
  • [kmpp_obj]: Fix obj update flag update issue
  • [hal_av1d]: Fix AV1 background frame decoding failure.

Docs

  • Update 1.0.12 CHANGELOG.md
  • Update developer guide to 0.8
  • Update readme.txt
  • Add SECURITY.md

Refactor

  • [hal_h265d]: Remove unused CABAC table from VDPU383
  • [kmpp_obj]: Refactor vla support
  • [enc]: Refactor mpp_enc_ref module
  • [hal_vp9d]: Refactor hal_vp9 ref-frame configuration
  • [scale_down]: Thumbnail Frame Info.
  • [utils]: Refactor CRC verify with context management
  • [hal_avs2d]: Refactor avs2 hal debug
  • [hal_av1d]: Refactor av1d hal debug
  • [hal_vp9d]: Refactor vp9d hal debug
  • [hal_h265d]: Refactor h265d hal debug
  • [hal_h264d]: Refactor h264d hal debug
  • [hal]: Refactor hal debug
  • [vdpu383/384a/384b]: Merge cur frm stride info setup
  • [base]: Refactor cfg to json/log
  • [mpp_enc_args]: Move mpp_enc_args to utils
  • [osal]: Add factory pattern for singleton
  • [h265d]: Update H.265 decoder
  • [hal]: Remove duplicate AFBC align functions
  • [vdpp]: Refactor vdpp codes
  • [av1d]: Update parser code
  • [vp9d]: Update parser code
  • [hal]: Update dec hal apis registration
  • [utils]: Integrate enc command get by env
  • [h265d]: Add h265d_debug.h
  • [hal]: Remove duplicate AFBC align functions
  • [vdpu384b]: Generalize RCB register configuration
  • [hal]: Add prefixes to register offset macros
  • [vdpu384a]: Merge control regs setup
  • [vdpu383]: Merge control regs setup
  • [vdpu384b]: Merge control regs setup
  • [vdpu384a]: Vdpu384a Register Simplification
  • [vdpu383]: Vdpu383 Register Simplification
  • [hal_av1d]: Pack stride-related registers
  • [hal]: Update enc hal apis registration
  • [hal_jpegd]: Fix hal_api usage
  • [hal_vp8d]: Fix hal_api usage
  • [hal_m2vd]: Fix hal_api usage
  • [hal_mpg4d]: Fix hal_api usage
  • [hal_avsd]: Fix hal_api usage
  • [mpp]: Use OBJECT to replace STATIC
  • [hal]: Collect hw_id into common
  • [hal_avs2d]: Extract the shared parts into common
  • [hal_h265d]: Extract the shared parts into common
  • [hal_h264d]: Extract the shared parts into common
  • [hal_vp9d]: Extract the shared parts into common
  • [hal_av1d]: Extract the shared parts into common
  • [avsd]: Use the common alignment function
  • [avs2d]: Use the common alignment function
  • [h265d]: Use the common alignment function
  • [h264d]: Use the common alignment function
  • [vp9d]: Use the common alignment function
  • [av1d]: Use the common alignment function
  • [mpp_common]: Add common alignment functions.
  • [hal_avs2d]: Collect ctx into common
  • [hal_h265d]: Collect ctx into common
  • [hal_h264d]: Collect ctx into common
  • [hal_vp9d]: Collect ctx into common
  • [hal_av1d]: Collect ctx into common
  • [vdpu_rcb]: Move rcb to common module
  • [hal_av1d]: Extract g_default_prob to the common file.
  • [jpegd]: Extract JPEG VPU7xx decoder common part
  • [mpp]: Remove MppCfgInfo struct
  • [mpp]: Refactor C++ mpp to C
  • [mpp]: Rename file type from C++ to C
  • [mpp_cluster]: Refactor C++ mpp_cluster to C

Test

  • [dec]: Check the slot pointer to avoid coredump
  • [mpp_cfg_test]: Add comprehensive array type tests
  • [enc_cfg]: Add enc fmt cfg json file
  • [test]: Add cfg json file
  • [test]: Add cfg_file option for enc tests
  • [osd]: Add osd3 test for RV1126B

Chore

  • [kmpp_obj]: Replace mpp_err with mpp_loge
  • [mpp_enc_cfg]: Use ARRAY macro
  • [mpp_trie]: Add mpp_trie_get_entry output
  • [mpp_trie]: Fix some format
  • [mpp_test]: Unify log format
  • [test]: Update mpp_enc_cfg_test
  • [inc]: Prepare for array refactoring
  • [git]: Add .claude to gitignore
  • [mpp_trie]: Add last info in add_entry
  • [git]: Add .cache to gitignore
  • [vdpp]: Update libvdpp to v1.4.2
  • [log]: Disable sys_cfg/legacy stride check.
  • [mpp_bit]: Add more 64bit macro
  • [test]: Adjust format
  • [mpp_bit]: Add more macro
  • [file]: Ignore local build / debug / cscope files
  • [vdpp]: Adjust some code format
  • [syntax]: Unify data type in syntax.h
  • [gitignore]: Add Clangd ignore file
  • [mpp]: Remove unused cleanup code
  • [mpp_dec]: Add mpp_dec_to_cfg
  • [mpp_enc]: Add mpp_enc_to_cfg
  • [mpp_dec_cfg]: Add status for reading
  • [mpp_common]: Add mpp_clip_/mpp_round_pow2
  • [mpp_bitread]: Add mpp_read_signbits
  • [build]: Fix relinking issue of modified files.
  • [h265d_debug]: Add more debug flag
  • [mpp_bit.h]: Add mpp_bit.h for bit operations
  • [change_log]: Add previous tag -p option
  • [mpp_soc]: Add coding to index function
  • [vproc]: Remove rga support
  • [build]: RK3572/RK3538, trim unused codecs
  • [hal_rkvdec]: Add rkvdec common dir
  • [osal]: Remove direct dependency on dma-buf.h
  • [mpp_frame]: Add IS_AFBC MCRO
  • [legacy]: remove unused code
  • [mpp]: Rename some enum and macro
  • [mpp]: Delete mpp_enc_cfg_impl.h
  • [astyle]: Format code by new astyle config
  • [kmpp_obj]: Add ioctl return output object
  • [kmpp_obj]: Add ioctl return value to KmppIoc
  • [kmpp_ioc]: Use kernel ioctl define only
  • [kmpp_buffer]: Use new ioctl cmd macro
  • [kmpp_ioc]: Disable ioc entry mismatch log
  • [kmpp_obj]: Change kmpp_shm get / put input
  • [kmpp_obj]: Update macros
  • [mpp_enc_cfg]: Remove MppEncCodecCfg

1.0.11 (2025-09-10)

Feature

  • [mpp_trie]: Add info name max length record
  • [mpp_enc_cfg]: Separate init function
  • [mpp]: Add jpeg roi function for RV1126B
  • [kmpp]: Add jpeg roi function for kmpp
  • [kmpp]: Set chan_fd to init cfg
  • [kmpp]: Replace frame_infos with kmpp_frame
  • [kmpp_frame]: Add self_meta in kmpp_frame
  • [kmpp_buffer]: Add ioctl to inc ref and flush
  • [mpp_meta]: Add more frame buffer key to meta
  • [base]: Add toml function
  • [base]: Use enc cfg obj
  • [smart_v3]: Add new frame qp interface
  • [kmpp]: Add KmppMeta module
  • [kmpp]: Add KmppBuffer module
  • [kmpp_obj]: Add priv prop support for objdef

Fix

  • [h265e]: Remove unused buffer
  • [mpp]: Add null check for sync pkt buffer
  • [mpp_meta]: Add user data deep copy support
  • [mpp_meta]: Add KEY_NPU_UOBJ_FLAG and KEY_NPU_SOBJ_FLAG
  • [kmpp_obj]: Fix obj ioctl typo
  • [mpp_trie]: Fix get err node issue
  • [vdpp] Fix building tests against musl libc
  • [script]: Prepend bash with /usr/bin/env
  • [kmpp_buffer]: Close fd when deinit
  • [mpp_thread]: Fix thread name is not set
  • Rename FFmpeg to FF for sdk release request
  • [kmpp_obj]: Fix kmpp obj get by sptr
  • [h265d]: Ensure the DTS is transmitted to the frame
  • [kmpp_obj]: Rename kmpp_obj_impl_put func
  • [kmpp_obj]: Fix kmpp frm/pkt self meta erro
  • [h264e_api_v2]: Fix bit_real calc in skip mode
  • [h264d]: Fix fast play mode not working in shell environment.
  • [kmpp_frame]: Remove unnecessary logs
  • [enc_test]: Set input block mode in init kcfg
  • [hal_h265e]: Fix nal type in tsvc mode
  • [h265d]: Fix log issue
  • [vepu511]: Add tune stat update
  • [kmpp_obj]: Update tbl after objdef registration
  • [mpp_cfg_io]: Add more mpp_cfg_io function
  • [kmpp_obj]: Fix grp_cfg and buf_cfg leak in kmpp_obj_test
  • [vproc]: Fix unit tests cannot be disabled

Docs

  • Update 1.0.11 CHANGELOG.md

Refactor

  • [sys_cfg]: Refactor C++ sys_cfg to C
  • [test]: Refactor C++ test file to C
  • [osal]: Refactor C++ osal file to C
  • [rc]: Refactor C++ rc/rc_base to C
  • [enc]: Use KmppShmPtr to represent osd buffer
  • [kmpp]: Fix kmpp obj compilation warning
  • [rc_api]: Refactor C++ rc_api to C

Test

  • [mpi_enc_test]: Add jpeg roi test

Chore

  • [dec_test]: Remove unused code
  • [mpp_singleton]: Update name print
  • [hal]: Organize the relevant processes for vepu fmt
  • [kmpp_meta]: Disable failure log
  • [mpp_enc_cfg]: Add base:smart_en option
  • [kmpp_obj]: Add is_kobj query function
  • [rc_smt]: Adjust code style for rc_smt

1.0.10 (2025-06-23)

Feature

  • [mpp_log]: Add long log (llog) function
  • [mpp_buffer]: Add mpp_buffer discard function
  • [build]: add Android.bp support
  • [kmpp_packet]: Add kmpp_packet interface
  • [mpp_log]: Add external callback support
  • [kmpp_obj]: Refactor kmpp_obj helper
  • [kmpp_obj]: Add more kmpp_obj property
  • [kmpp_obj]: Add object update function
  • [kmpp_obj]: Add userspace objdef functions
  • [osal]: Add mpp_singleton module
  • [mpp_cfg_io]: Add mpp cfg io module
  • [kmpp]: Add kmpp_frame_test

Fix

  • [h265d]: Fix yuv400 decode error
  • [h265d]: Fix GDR stream decoding
  • [kmpp_obj]: Undef KMPP_OBJ_SGLN_ID macro
  • [osal]: Fix timeout expire too soon issue
  • [cmake]: Fix static build issue
  • [vp8e]: Remove unused vp8e_rc file
  • [h265d_rkv]: Fix dec err after cut streams
  • [mpp_singleton]: fix init order issue
  • [mpp_dec]: Fix compile warning
  • [h265d_parser]: Fix slice header parse
  • [mpp_sys_cfg]: afbc calc support yuv444sp_10bit
  • [kmpp_obj]: Update helper macro
  • [h263d]: Fix missing initializer for field problem
  • [enc_utils]: Remove duplicate option
  • [kmpp_obj]: Remove extra print in helper
  • [avsd_plus]: Fix page fault when filtering field data
  • [h265d_vdpu384a]: Fix CABAC error detection issue.
  • [mpp_sys_cfg]: Fix stride issue on resolution change
  • [vepu_540c]: Reduce print hw_status when irq ret
  • [mpp_sys_cfg]: Fix ver_stride calc issue
  • [sys_cfg]: Fix ver stride calculation issue.
  • [vepu541]: Add warning for unsupport nv21/nv42
  • [avs2d]: fix vertical stride config
  • Revert "fix[mpp_enc_impl]: fix rc cfg for jpeg enc"
  • [h265d_ps]: Suppress YUV444 unsupported warning logs
  • [mpp_cfg]: Fix function define on C++ field
  • [h264e_dpb]: fix walk_len when refs_dryrun
  • [av1d_vdpu383]: fix segid page fault issue
  • [allocator]: Fix misc buffer group flag issue
  • [h265d_parser]: fix startcode finder for 00 00 00 xx case
  • [kmpp]: Fix eos frame with NULL buffer issue
  • [utils]: Remove duplicate assignments
  • [mpi_enc_test]: Sync mdc config of RV1126B
  • [sys_cfg]: Avoid frequent environment variable access.
  • [mpp_enc]: Add avc rc parameter set
  • [h265d_vdpu383]: Fix CABAC error detection issue.
  • [mpi]: Fix typo
  • [h264_vdpu384a]: Fix error proc issue
  • [h265e]: Correct tile syntax elements at PPS
  • [mpp]: Add atf set, atf value 0~3
  • [mpp_enc_cfg]: Add lambda_idx_i and lambda_idx_p
  • [mpp_enc]: Add encoder speed mode setup
  • [test]: Add qbias_arr and aq_rnge_arr init
  • [packet]: fix packet partition and eoi logic
  • [mpp]: add qpmap_en and enc_spd
  • [cmake]: Fix double object include issue
  • [sys_cfg]: Align to CTU64 to avoid info change.
  • [mpp]: Fix compile warning with ipc sdk toolchain

Docs

  • Update 1.0.10 CHANGELOG.md

Refactor

  • [base]: Refactor C++ mpp_enc_cfg to C
  • [base]: Refactor C++ mpp_meta to C
  • [base]: Refactor C++ mpp_packet to C
  • [base]: Refactor C++ mpp_frame to C
  • [base]: Refactor C++ mpp_buffer to C
  • [mpp_mem_pool]: Add exit leak pool print
  • [osal]: Refactor C++ mpp_server to C
  • [osal]: Refactor more module from C++ to C
  • [mpp_trace]: Refactor C++ mpp_trace to C
  • [mpp_runtime]: Refactor C++ mpp_runtime to C
  • [mpp_soc]: Refactor C++ mpp_soc to C
  • [mpp_platform]: Refactor C++ mpp_platform to C
  • [mem_pool]: Refactor C++ mem_pool to C
  • [mpp_mem]: Refactor C++ mpp_mem to C
  • [kmpp]: Replace venc_packet with KmppPacket
  • [osal/linux/os_log]: Use C constructor.
  • [base]: Remove MppDecCfgImpl
  • [base]: Refactor mpp_trie from C++ to C
  • [mpp_cfg_io]: Change cfg to trie interface

Test

  • [osal]: Add libc and OS compatibility checking
  • [resolution]: Add resolution test tool

Chore

  • [kmpp]: Modify kmpp_objs init / deinit order
  • [kmpp_obj]: Add from objs device macro
  • [kmpp_obj]: Add more obj function
  • [kmpp_obj]: Update flag calculation macro
  • [utils]: Add fbc frame data dump
  • A fix for company release requirement
  • [kmpp]: Remove get packet failed log

1.0.9 (2025-04-03)

Feature

  • [kmpp_frame]: Add KmppFrame module
  • [vepu_511]: Add rv1126b 265e/264e/jpge support
  • [mpp_meta]: Add osd_data3 fmt for 1103b/1126b
  • [kmpp_obj]: Sync to new KmppEntry share object
  • [err_proc]: Add a new command: DIS_ERR_CLR_MARK
  • [mpi_enc_test]: Support enc for kmpp flow
  • [kmpp_obj]: Add more kmpp_obj functions
  • [vdpu384a]: Support RV1126B new features
  • [mpp_soc]: Support rv1126b soc
  • [kmpp_obj]: Sync to new kmpp_meta
  • [kmpp_obj]: Sync to loctbl without flag_type
  • [mpp_buf_slot]: buf_slot add coded width alignment config
  • [h265d]: Add vdpu383 hevc yuv444_10bit support
  • [vproc]: Add more log for debugging
  • [mpp]: Support kmpp access
  • [kmpp]: Add kmpp module
  • [rk_mpi_cmd]: Merge cmds from mpp_interface
  • [build]: Add --toolchain to config toolchain for linux
  • [mpp_meta]: Use trie to index the meta key
  • [mpp_packet]: Add realease callback info
  • [kmpp_obj]: Update to new objdef query mode
  • [mpp_trie]: Allow empty name trie for import
  • [enc]: Support setting temporal_id
  • [mpp_enc_cfg]: Merge enc cfgs from mpp_interface
  • [mpp_sys_cfg_st]: Provide packaging for use on products
  • [mpp_sys_cfg]: Add raster/tile/fbc buffer alignment
  • [mpp_sys_cfg]: Support sys_cfg buffer alignment
  • [kmpp_obj]: Add kmpp_obj_get_hnd func
  • [mpp_venc_kcfg]: Add mpp_venc_kcfg module

Fix

  • [sys_cfg]: Add debug info
  • [sys_cfg]: fix fbc ver stride calc issue
  • [sys_cfg]: Fix external configuration stride issue
  • [sys_cfg]: Support alignment for mpeg2/mpeg4/h263/vp8.
  • [sys_cfg]: AVC is aligned to ctu to avoid info change
  • [sys_cfg]: Fix RK3399 hor/ver stride calculation issue.
  • [sys_cfg]: Fix HAL layer buffer alignment issue
  • [h264d]: Recovery only takes effect when no IDR frames present
  • [hal_jpege_api]: Fix jpege api path judgment
  • [vdpp]: Fix vdpp blk_size calculation.
  • [mpp_venc_kcfg]: Revert to mpp interface
  • [cmake]: Fix kmpp_base symbol missing
  • [av1_syntax]: Fix array out-of-bounds issue.
  • [build]: fix build failure with CMake 4.0
  • [vepu_511]: Speed grade configuration of 0.67
  • [mpp_frame]: Add rk_fbc fmt for 1126b
  • [jpegd_rkv]: New JPEG IP supports tile 4x4 output by default.
  • [jpeg_rkv]: New JPEG IP defaults to no RGB support.
  • [hal_rcb]: Fix rcb buf size calc issue
  • [kmpp_obj]: Fix rockit compile error
  • [avsd]: Skip redundant zeros between fields inside one picture
  • [av1]: parameter is 16 bits
  • [base]: Fix strncpy compile warning
  • [hal_h265e_vepu580]: Fix overflow status check
  • [kmpp]: Fix channel dup issue
  • [os_log]: Modify default log option for linux
  • [kmpp_obj]: Fix warning on arm32
  • [kmpp]: Set KEY_OUTPUT_INTRA meta to packet
  • [sys_cfg]: Align rk3399 h_stride to an odd multiple of 265.
  • [mpp_sys]: Fix old IP vertical alignment to 16 issue
  • [kmpp_obj]: Disable /dev/kmpp_objs not found log
  • [mpp_soc]: Fix cap_fbc for rv1126b
  • [sys_cfg]: Optimize comparison information printing.
  • [sys_cfg]: Print comparison information only once.
  • [mpp_meta]: Fix compile error
  • [vepu510]: Mark frame first part when split slice out
  • [hdr_meta]: Fix hdr format for av1
  • [mpp_sys_cfg]: Fix align pixel stride on rk3576
  • [vproc]: fix height out of boundary problem
  • [mpp_sys_cfg]: Fix abnormal stride calculation.
  • [h264d]: disable ref erorr when decode recovery frame period
  • [jpege_vpu720]: Correct encoded size config
  • [buf_slot]: Correct coding mistakes.
  • [build]: Avoid exporting toolchain to system PATH
  • [mpp_enc]: Fix some exceptions when force pskip
  • [kmpp]: Fill pts/dts/flag to MppPacket
  • [vproc]: fix frame output disorder problem
  • [vproc]: Fix field disordered problem
  • [mpp_enc_cfg]: Remove a redundant atr_str
  • []: Fix abnormal FBC info issue in Info Change
  • [h264d]: Fix segment fault problem
  • [vproc]: Fix error info missed problem
  • [vproc]: Fix output blank buffer problem
  • [fbc]: Fix RK3588 av1 FBC usage issue
  • [sys_cfg/buf_slot]: support yuv422sp 10bit
  • [mpp_enc_cfg]: Add sao_bit_ratio from mpp_interface
  • [buf_slot]: Correct coding mistakes.
  • [mpp_venc_kcfg]: Get objdef at runtime
  • [jpegd]: Avoid buffer overrun
  • [sys_cfg/buf_slot]: fix fbc yuv444sp buf calculation issue
  • [kmpp_obj]: Add extern C

Docs

  • Update 1.0.9 CHANGELOG.md

Refactor

  • [kmpp]: Move kmpp to seperate directory
  • [mpp_trie]: Replace root import
  • [mpp_enc_cfg]: Adjust cu_qp_delta_depth

Chore

  • [mpp_buf_slot]: Modify sys_cfg mismatch print

1.0.8 (2024-12-30)

Feature

  • [enc]: Add switch for disable IDR encoding when FPS changed.
  • [test]: Add PSNR info for video encoder
  • [mpp_buf_slots]: Add coding attribute to buf slots
  • [mpp_sys_cfg]: Add mpp_sys_cfg function
  • [dec_nt_test]: Support jpeg decoding on decode
  • [mpp_dec]: Add jpeg put/get decode support
  • [mpp_obj]: Add mpp_obj for kernel object
  • [mpp_trie]: Add functions for import / export
  • [rk_type.h]: Add kernel driver compat define
  • [mpp_dec]: add control for select codec device
  • [mpp_dec]: support hdr10plus dynamic metadata parse
  • [hal_avsd]: enable hw dec timeout
  • [vpu_api]: Support configuration to disable decoding errors
  • [enc]: Support use frame meta to cfg pskip
  • [vepu510]: Add scaling list regs setup

Fix

  • [enc]: Fix CPB size not enough problem
  • [m4v_parser]: Fix split_parse setting failure issue
  • [mpp_trie]: Remove a redundant variables from log
  • [mpp_enc]: Set frm type in pkt meta
  • [mpp_sys_cfg]: Fix compile warning
  • [rc_smt]: Fix the variable overflow issue
  • [h264e_sps]: fix constraint_set3_flag flag issue
  • [vpu_legacy]: Fix vpu fbc configuration issue
  • [mpp_buffer]: Fix buffer put log
  • [mpp_mem_pool]: Record pool buffer allocator caller
  • [mpp]: Fix input_task_count for async enc
  • [av1d]: Fix uninitialized fbc_hdr_stride issue
  • [cfg]: fix cfg test segment fault problem
  • [drm]: Call drop master by default
  • [vepu580]: fix is_yuv/is_fbc typo
  • [misc]: Fix compile on 32bit platform
  • [jpegd]: replace packet size with stream length
  • [av1_vdpu383]: Fix the CDF issue between GOPs
  • [mpp_enc_impl]: fix rc cfg for jpeg enc
  • [av1_vdpu383]: fix cdf usage issue
  • [hal_h265d]: Avoid reg offset duplicate setting issue
  • [vepu580]: fix incorrect color range problem
  • [buf_slots]: Fix the issue of fmt conv during info change
  • [h264d]: force reset matrix coefficients when parse unknown value
  • [h264d]: Parse hdr parameters on enable_hdr_meta enabled
  • [h264d_parser]: Fix pps parsing issue
  • [hal_vdpu383]: fix fbc hor_stride mismatch issue
  • [hal_vepu580]: re-get roi buf when resolution switch
  • [hal_vepu541]: re-get roi buf when resolution switch
  • [iep2]: Remove unnessary log on init failed
  • [h264_dpb]: Add env variables to force fast play mode
  • [h265e_slice]: fix compilation warning
  • [hal_avs2d_vdpu383]: handle scene reference frame
  • [debain]: fix typo in compat version
  • [debian]: Update debian control
  • [debain]: Update debian/control
  • [debain]: Update compat to 10
  • [h264e_pps]: add pic_scaling_matrix_present check
  • [h2645d_sei]: fix read byte overflow error
  • [m2vd]: Fix refer frame error on beginning
  • [vdpu383]: fix err detection mask issue
  • [test]: Fix AQ table error
  • [vepu580]: Add md info internal buffer
  • [vepu580]: Add ATF weight adjust switch for H.265
  • [tune]: Replace qpmap_en with deblur_en
  • [vepu580]: Adjust frame-level QP for VI frame
  • [hal_jpegd]: fix huffman table selection
  • [h265]: fix pskip when enable tile mode
  • [smt_rc]: Fix first frame QP error
  • [h264d]: fix no output for mvc stream
  • [vepu580]: Fix motion level assignment error
  • [avsd]: Fix attach dev error issue
  • [h265d]: Fix conformance window offsets for chroma formats
  • [test]: Fix mdinfo size according to soc type
  • [h265d_vdpu383]: fix dec err when ps_update_flag=0
  • [vepu510]: Sync code from enc_tune branch
  • [mpp_cfg]: Fix compile warning
  • [h265d]: fix output err causeby refs cleard
  • [h264d]: remove error check for B frame has only one ref
  • [test]: Fix test demo stuck issue

Docs

  • Update 1.0.8 CHANGELOG.md
  • update doc for fast play

Refactor

  • [hal]: Update the reg offset setting method.
  • [mpi]: Add ops name when assign for reading friendly
  • [av1d_vdpu383]: Regs definition sync with other protocols.
  • [vproc]: Refactor iep2 progress
  • [h265]: unify calculation tile width

Chore

  • [hal_jpegd]: Remove reset / flush functions
  • [test]: Use put/get in mpi_dec_test for jpeg
  • [MppPacket]: Add caller log on check failure

1.0.7 (2024-09-04)

Feature

  • [rc_smt]: Add rc container for smart mode
  • [vepu580]: Optimization to improve VMAF
  • [vepu580]: Optimize hal processing for smart encoding
  • [vepu580]: Add qpmap and rc container interface
  • [vepu510]: Add anti-smear regs setup for H.264
  • [vepu510]: Add H.264 tuning setup
  • [vepu510]: Sync code from enc_tune branch
  • [vepu510]: Sync code from enc_tune branch
  • [vepu510]: Sync code from enc_tune branch
  • [mpp_trie]: Add trie context filling feature
  • [mpp_trie]: Add trie tag and shrink feature
  • [h264d]: support hdr meta parse
  • [h265e]: Support force mark & use ltr
  • [vpu_api]: support yuv444sp decode ouput pixel format

Fix

  • [h265d]: fix infochange loss when two sps continuous
  • [hal_h264e]: Fix CAVLC encode smartP stream err
  • [mpi_enc_test]: Remove redundant code about smart encoding
  • [h264e_sps]: fix the default value of max mv length
  • [enc_roi]: Fix cu_map init in vepu_54x_roi
  • [hal_vp9]: Optimize prob memory usage
  • [hal_h265d]: Allow reference missing for GDR
  • [osal]: Fix mpp_mem single instance issue
  • [hal_vp9d_com]: Fixed memory leak issue
  • [hal_h265d]: Avoid risk of segment fault
  • [hal_h265d]: fix error slot index marking
  • [h265d]: Adjust condition of scan type judgement
  • [mpp_hdr]: Fix buffer overflow issue
  • [mpp_buffer]: Synchronous log addition point
  • [hal_vepu]: fix split regs assignment
  • [vepu580]: poll max set to 1 on split out lowdelay mode
  • [mpp_common]: fix compile err on F_DUPFD_CLOEXEC not defined
  • [h265d]: return error on sps/pps read failure
  • [build]: The first toolchains is selected by default
  • [265e]:Fix the st refernce frame err in tsvc
  • [av1d]: when MetaData found then it is new frame
  • [m2vd]: Fix seq_head check error
  • [h265e_vepu510]: Fix a memory leak
  • [h265d]: auto output frame in dpb when ready
  • [m2vd]: Remove ref frame when info changed
  • [mpp_meta]: Missing data in the instance
  • [mpp_bitread]: Fix negative shift error
  • [osal]: fix 128 odd plus 64 bytes alignment
  • [h265d_parser]: Fix fmt configuration issue
  • [hal_av1d_vdpu383]: modify av1 segid wr/rd base config
  • [h265d_parser]: Fix fmt configuration issue
  • [hal_av1d_vdpu383]: add segid reg base config

Docs

  • Update 1.0.7 CHANGELOG.md
  • [readme]: Add more repo info

Refactor

  • [mpp_cfg]: Refactor MppTrie and string cfg

Chore

  • [mpp_mem]: Add mpp_realloc_size
  • [mpp_cfg]: Remove some unused code
  • fix compile warning

1.0.6 (2024-06-12)

Feature

  • [vdpu383]: refine rcb info setup
  • [enc_265]: Support get Largest Code Unit size
  • [mpp_dec_cfg]: Add disable dpb check config
  • [vdpu383]: support 8K downscale mode

Fix

  • [drm]: Fix permission check issue on GKI kernel
  • [hal_h265e]: Amend 510 tid and sync cache
  • [hal_h265e]: Fix nalu type avoid stream warning
  • [h265e]: Fix vps/sps max temparal layers val
  • [hal_jpeg_vdpu1]: fix dec failed on RK3036 problem
  • [osal]: rv1109/rv1126 vcodec_type mismatch problem
  • [h264e_vepu2]: Adjust inter favor table
  • [h264d]: fix drop packets after reset when err stream
  • [h265d]: Allow filtering of consecutive start code
  • [hal_h264d_vdpu383]: fix spspps update issue
  • [mpp]: fix mpp frame leak when async enc
  • [enc]: Add use_lt_idx to output packet meta
  • [hal_h265e]: fix sse_sum get err
  • [mpp_enc_async]: fix mpp packet leak when thread quit
  • [enc_roi]: Support ROI cfg under CQP mode
  • [hal]: Fix the lib interdependence issue
  • [vepu_510]: fix same log type when enc feedback
  • [mpp_buffer]: fix dec/inc ref_count in multi threads
  • [mpp_enc_async]: fix debreath not work on async flow
  • [base]: fix AV1 and AVS2 string info missing problem
  • [mpp]: Add encoder input/output pts log
  • [hal_vepu580/510]: fix split out err when pass1 frame
  • [hal]: Fix target link issue
  • [hal_enc]: Fix lib dependency issue
  • [hal_h265d_vdpu383]: fix ref_err mark for special poc
  • [rc2_test]: fix pkt buffer overflow error
  • [enc_utils]: Support read odd resolution image
  • [allocator]: fix on invalid DMA heap allocator
  • [hal_h265e_vepu580]: fix reg config err for 2pass
  • [jpegd_vdpu]: Adjust file dump path
  • [mpp_common]: fix 128 odd plus 64 alignment
  • [cmake]: fix static build
  • [vdpu383]: Update vdpu383 error detection

Docs

  • Update 1.0.6 CHANGELOG.md

Refactor

  • [hal_jpegd]: init devices at hal_jpegd_api
  • [dec]: get deocder capability via common routine
  • [hal_av1d]: Migrate av1d from vpu to rkdec

Chore

  • [h265d]: Reduce malloc/free frequency of vps
  • [mpp_service]: fix typo err
  • [hal_h265d]: use INT_MAX for poc distance initiation
  • [cmake]: remove duplicate code

1.0.5 (2024-04-19)

Feature

  • [vdpu383]: align hor stride to 128 odds + 64 byte
  • [vdpu383]: support 2x2 scale down
  • [mpp_buffer]: Add MppBuffer attach/detach func
  • [mpp_dev]: Add fd attach/detach operation
  • [vdpp]: Add libvdpp for hwpq
  • [vdpp]: Add capacity check function
  • [cmake]: Add building static library
  • [vdpp_test]: Add vdpp slt testcase
  • [av1d]: Add tile4x4 frame format support
  • [mpp_enc_cfg]: Add H.265 tier config
  • [jpeg]: Add VPU720 JPEG support
  • [enc]: Add config entry for output chroma format
  • [vdpu383]: Add vdpu383 av1 module
  • [vdpu383]: Add vdpu383 vp9 module
  • [vdpu383]: Add vdpu383 avs2 module
  • [vdpu383]: Add vdpu383 H.264 module
  • [vdpu383]: Add vdpu383 H.265 module
  • [vdpu383]: Add vdpu383 common module
  • [vdpp]: Add vdpp2 for rk3576
  • [vdpp]: Add vdpp module and vdpp_test
  • [vepu_510]: Add vepu510 h265e support
  • [vepu_510]: Add vepu510 h264e support
  • [mpp_frame]: Add tile format flag
  • [vepu_510] add vepu 510 common for H264 & h265
  • [mpp_soc]: support rk3576 soc

Fix

  • [avs2d_vdpu383]: Optimise dec result
  • [vdpu383]: Fix compiler warning
  • [vdpp]: Fix dmsr reg size imcompat error
  • [vdpu383]: hor stride alignment fix for vdpu383
  • [h265d_ref]: fix set fbc output fmt not effect issue
  • [vdpu383]: Fix memory out of bounds issue
  • [h264d_vdpu383]: Fix global parameter config issue
  • [avs2_parse]: add colorspace config to mpp_frame
  • [hal_h264e]:fix crash after init vepu buffer failure
  • [vpu_api]: Fix frame format and eos cfg
  • [av1d_vdpu383]: fix fbc hor_stride error
  • [av1d_parser]: fix fmt error for 10bit HDR source
  • [avs2d]: fix stuck when seq_end shows at pkt tail
  • [av1d_vdpu]: Fix forced 8bit output failure issue
  • [enc_async]: Invalidate cache for output buffer
  • [hal_av1d_vdpu383]: memleak for cdf_bufs
  • [av1d_vdpu383]: fix rcb buffer size
  • [vp9d_vdpu383]: Fix segid config issue
  • [vepu510]: Add split low delay output mode support
  • [avs2d_vdpu383]: Fix declaring shadow local variables issue
  • [av1]: Fix global config issue
  • [hal_av1d]: Delte cdf unused value
  • [av1]: Fix av1 display abnormality issue
  • [avs2d]: Remove a unnecessary log
  • [vepu510]: Adjust regs assignment
  • [hal_jpegd]: Add stream buffer flush
  • [265e_api]: Support cons_intra_pred_flag cfg
  • [mpp_enc]: Add device attach/detach on enc flow
  • [mpp_dec]: Add device attach/detach on dec flow
  • [vdpp]: Add error detection
  • [hal_265e_510]: modify srgn_max & rime_lvl val
  • [vdpu383]: spspps data not need copy all range ppsid
  • [vpu_api_legacy]: fix frame CodingType err
  • [av1]: Fix 10bit source display issue
  • [mpp_enc]: Expand the hdr_buf size
  • [av1]: Fix delta_q value read issue
  • [vdpu383]: Enable error detection
  • [ext_dma]: fix mmap permission error
  • [jpege_vpu720]: sync cache before return task
  • [mpp_buffer]: fix buffer type assigning
  • [vepu510]: Configure reg of Subjective param
  • [vepu510]: Checkout and optimize 510 reg.h
  • [mpp_dec]: Optimize HDR meta process
  • [av1d]: Fix scanlist calc issue
  • [h265e]: fix the profile tier cfg
  • [av1d]: Fix av1d ref stride error
  • [hal_h265e_vepu510]: Add cudecis reg cfg
  • [av1d]: Only rk3588 support 10bit translate to 8bit
  • [vp9d]: Fix vp9 hor stride issue
  • [rc]: Add i quality delta cfg on fixqp mode
  • [hal_h265d]: Fix filter col rcb buffer size calc
  • [av1d]: Fix compiler warning
  • [h264d]: Fix error mvc stream crash issue
  • [hal_h264e]: Fix qp err when fixqp mode
  • [h264d]: Fix H.264 error chroma_format_idc
  • [vdpu383]: Fix av1 rkfbc output error
  • [av1d]: Fix compatibility issues
  • [hal_h264d_vdpu383]: Reduce mpp_put_bits calls
  • Fix clerical error
  • [avs2d]: Fix get ref_frm slot idx error
  • [vdpu383]: Fix av1 global params bit pos issue
  • [vdpp]: fix sharp config error
  • [hal_av1d]: fix av1 dec err for rk3588
  • [vdpu383]: Fix av1 global params issue
  • [vepu510]: Fix camera record stuck issue
  • [utils]: fix read and write some YUV format
  • [mpp_bitput]: fix put bits overflow
  • [mpp_service]: fix rcb info env config
  • [vepu510]: Fix compile warning
  • [hal_vp9d]: fix colmv size calculator err
  • [avsd]: Fix the ref_frm slot idx erro in fast mode.

Docs

  • Update 1.0.5 CHANGELOG.md
  • [mpp_frame]: Add MppFrameFormat description

Refactor

  • [hal_av2sd]: refactor hal_api assign flow
  • [hal_h264d]: refactor hal_api assign flow
  • Using soc_type for compare instead of soc_name

Chore

  • [hal_h264e]: clean some unused code

1.0.4 (2024-02-07)

Feature

  • [vpu_api_legacy]: Support RGB24 setup
  • [avsd]: keep codec type if not avs+
  • [mpi_enc_test]: add YUV400 fmt support
  • [mpp_enc]: Add YUV400 support for vepu580/540

Fix

  • [h265e]: fix hw stream size check error
  • [hal_vdpu]: unify colmv buffer size calculation
  • [vproc]: Fix deadlock in vproc thread
  • [h265e]: disable tmvp by default
  • [h265e]: Amend temporal_id to stream
  • [mpp_dump]: add YUV420SP_10BIT format dump
  • [hal_h265d]: Fix register length for rk3328/rk3328H
  • [hal_avsd]: Fix crash on no buffer decoded
  • [mpp_enc]: allow vp8 to cfg force idr frame
  • [m2vd]: fix unindentical of input and output pts list
  • [h265e_vepu580]: fix SIGSEGV when reencoding
  • [mpp_dmabuf]: fix align cache line size calculate err
  • [h265e_vepu580]: flush cache for the first tile
  • [dmabuf]: Disable dmabuf partial sync function
  • [iep_test]: use internal buffer group
  • [common]: Add mpp_dup function
  • [h265e]: Adapter RK3528 when encoding P frame skip
  • [h265e]: fix missing end_of_slice_segment_flag problem
  • [hal_av1d_vdpu]: change rkv_hor_align to 16 align
  • [av1d_parser]: set color info per frame
  • [jpegd]: add sof marker check when parser done

Docs

  • Update 1.0.4 CHANGELOG.md

Chore

  • [script]: add rebuild and clean for build
  • [mpp_enc_roi_utils]: change file format dos to unix

1.0.3 (2023-12-08)

Feature

  • [dec_test]: Add buffer mode option
  • [mpp_dmabuf]: Add dmabuf sync operation
  • [jpege]: Allow rk3588 jpege 4 tasks async
  • [rc_v2]: Support flex fps rate control

Fix

  • [av1d_api]: fix loss last frame when empty eos
  • [h265e_dpb]: do not check frm status when pass1
  • [hal_bufs]: clear buffer when hal_bufs get failed
  • [dma-buf]: Add dma-buf.h for old ndk compiling
  • [enc]: Fix sw enc path segment_info issue
  • [cmake]: Remove HAVE_DRM option
  • [m2vd]: update frame period on frame rate code change
  • [test]: Fix mpi_enc_mt_test error
  • [dma_heap]: add dma heap uncached node checking
  • [mpp_mem]: Fix MEM_ALIGNED macro error
  • [mpeg4_api]: fix drop frame when two stream switch
  • [script]: fix shift clear input parameter error
  • [hal_h265e_vepu541]: fix roi buffer variables incorrect use

Docs

  • Update 1.0.3 CHANGELOG.md

Refactor

  • [allocator]: Refactor allocator flow

Chore

  • [vp8d]: optimize vp8d debug
  • [mpp_enc]: Encoder changes to cacheable buffer
  • [mpp_dec]: Decoder changes to cacheable buffer
  • [mpp_dmabuf]: Add dmabuf ioctl unit test

1.0.2 (2023-11-01)

Feature

  • [mpp_lock]: Add spinlock timing statistic
  • [mpp_thread]: Add simple thread
  • add more enc info to meta

Fix

  • [vepu540c]: fix h265 config
  • [h264d]: Optimize sps check error
  • [utils]: adjust format range constraint
  • [h264d]: fix mpp split eos process err
  • [h264d]: add errinfo for 4:4:4 lossless mode
  • [h264d]: fix eos not updated err
  • [camera_source]: Fix memory double-free issue
  • [mpp_dec]:fix mpp_destroy crash
  • [mpp_enc]: Fix async multi-thread case error
  • [jpeg_dec]: Add parse & gen_reg err check for jpeg dec
  • [h265e_vepu580]: fix tile mode cfg
  • [vp9d]: Fix AFBC to non-FBC mode switch issue
  • [h264e_dpb]: fix modification_of_pic_nums_idc error issue
  • [allocator]: dma_heap allocator has the highest priority
  • [camera_source]: enumerate device and format
  • [utils]: fix hor_stride 24 aligned error

Docs

  • Update 1.0.2 CHANGELOG.md
  • Add mpp developer guide markdown

Chore

  • [scipt]: Update changelog.sh

1.0.1 (2023-09-28)

Feature

  • [venc]: Modify fqp init value to invalid.
  • [vepu580]: Add frm min/max qp and scene_mode cmd param
  • [venc]: Add qbias for rkvenc encoder
  • Support fbc mode change on info change stage
  • [hal_vepu5xx]: Expand color transform for 540c
  • Add rk3528a support

Fix

  • [mpp_enc_impl]: fix some error values without return an error
  • [av1d_cbs]: fix read 32bit data err
  • [Venc]: Fix jpeg and vpx fqp param error.
  • [h265e_vepu580]: dual cores concurrency problem
  • [hal_h264e_vepu]: terminate task if not support
  • [vdpu_34x]: disable cabac err check for rk3588
  • [enc]: fix duplicate idr frame
  • [h264e_amend]: fix slice read overread issue
  • [hal_jpegd]: add pp feature check
  • [enc]: fix duplicate sps/pps information
  • [h264e_slice]: fix pic_order_cnt_lsb wrap issue
  • [hal_h264e_vepu540c]: fix reg configuration
  • [hal_h264e_vepu540c]: Amend slice header
  • [h264d]: fix crash on check reflist
  • [hal_vp9d]: not support fast mode for rk3588
  • [h264d]: fix frame output order when dpb full
  • [mpp_frame]: setup color default UNSPECIFIED instead 0
  • [hal_h264d]: adjust position of env_get
  • [h264e_slice]: fix pic_order_cnt_lsb wrap issue
  • [hal_avs2d]: fix some issue
  • fix redundant prefix NALU amended problem
  • [hal_jpegd]: fix rgb out_fmt mismatch error
  • [utils]: fix convert format error
  • [h265e]: check input profile_idc
  • [hal_h264e_vepu580]: fix SEGV on GDR setting
  • [h264d]: fix TSVC decode assert error.
  • [hal_vepu580]: fix comiple issue
  • [h264d]: fix MVC DPB allocation
  • [h264d]: fix SEI packet parsing
  • [hal_vp8e]: fix entropy init
  • [mpp_soc]: fix rk356x vepu2 capability

Docs

  • Add 1.0.1 CHANGELOG.md
  • update readme.txt

Refactor

  • move same tables to common module

1.0.0 (2023-07-26)

Docs

  • Add 1.0.0 CHANGELOG.md