forked from Xilinx/vcu-ctrl-sw
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReleaseNotes.txt
More file actions
307 lines (253 loc) · 10.2 KB
/
ReleaseNotes.txt
File metadata and controls
307 lines (253 loc) · 10.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
2015-06-01 (v1.0.15):
---------------------
Added feature(s) :
- HEVC dependent slice support
- Add VP9 segment management for QP per LCU
Fixed Bug(s)
- Fix memory leak
- Fix VPS and SPS flags conformance issue
Other change(s) :
- Add 64-bit support
- Add support for Android
2015-06-30 (v1.0.16):
---------------------
Added feature(s) :
- QpCtrlMode = LOAD_QP allows to load the QP table from an external QP file.
- more configuration parameters are now available from command line (see section 2 of the user manual)
- CBR is now available in VP9
- Add command list support
Fixed Bug(s) :
-- Fix candidate reference list construction in VP9
-- Fix Segment data management and VP9 Frame Header
Other change(s) :
- Remove warnings and errors from static analysis
- Align Traces with hardware testbenches
2015-07-08 (v1.0.17) :
---------------------
Added feature(s) :
Fixed Bug(s) :
-- Fix rate control initialization and limit.
-- Fix VP9 encapsulation (IVF), increment frame number.
Other change(s) :
-- Rename SLICE_SKIP into SLICE_REPEAT for VP9 encoder
-- Cleanup segment IDs initialisation in QP table
-- Cleanup config files
2015-07-30 (v1.0.18) :
---------------------
Added feature(s) :
-- Add Preliminary support for VBR rate control
-- Add support for HW IP that includes monochrome option
Fixed Bug(s) :
-- Fix output trace file in command list mode with several slices per frame
Other change(s) :
-- improve Custom Gop by allowing POC value different from source order
2015-08-10 (v1.0.19) :
---------------------
Added feature(s) :
-- Add Preliminary support of Long Term reference picture
-- Add AllRefInPast flag in command registers
-- Add Reconstructed and Motion vectors output disabled flag in command registers
-- Add Driver tests documentation
Fixed Bug(s) :
-- Remove srand utilization
-- Add to_string replacement for android libc
2015-09-04 (v1.0.20) :
---------------------
Added feature(s) :
-- Add PYRAMIDAL_GOP
-- up to 4 consecutives B frame in DEFAULT_GOP mode
Fixed Bug(s) :
-- Fix multi-core IP management
2015-10-08 (v1.0.21) :
---------------------
Fixed Bug(s) :
-- Fix crash issue when src yuv format was different from reconstructed yuv Format.
-- Fix relative QP table feature in VP9
-- Fix Low delay B Gop pattern when number of frame is not multiple of Gop.length
2015-11-13 (v1.0.22) :
---------------------
Added feature(s) :
-- Add mcu firmware in app_mcu
-- Mcu firmware support HEVC and AVC encoding
-- SchedulerMcu implements the discussion with the mcu linux driver
ToDos :
-- Pyramidal GOP mode on MCU
-- MultiChannel on MCU (not validated)
-- Perfs feedback on MCU
2016-02-26 (v1.0.23) :
---------------------
Added feature(s) :
-- dmabuf first step support (take dmabuf as input)
2016-05-19 (v1.0.26) :
---------------------
Added feature(s) :
-- 64 bit compilation support for CtrlSW (runtime not validated)
-- Improved multichannel scheduling
-- Redmine #689: Set ForceLoad to true by default
-- Improved perfs on MCU
-- Show firmware and libraries footprint at build
ToDos:
-- Redmine #673: Improve rate ctrl in low_delay cases
2016-06-03 (v1.0.27):
---------------------
Fixed Bug(s) :
-- Added missing MCU data cache invalidation
-- Fix potential missing register field in AVC multicore status merge
-- Fix POC encoding in slice header
-- Include testEnc patches from Redmine #576
-- Improve driver stability for multi-channel
2016-06-07 (v1.0.27b):
-----------
Added feature(s) :
-- buffer allocation is controlled by the user
-- dmabuf support
2016-08-08 (v1.0.28):
---------------------
-- Fix dcache invalidation (dcache invalidation needs to be aligned on 32bit)
-- Fix firmware WPP in firmware mode (dcache invalidation error)
-- Fix 64bit (firmware compatibility with its control software)
-- Fix memory leak in the DevicePool
-- Fix ioctl structure alignments
2016-09-09 (v1.0.29):
---------------------
-- Add CBR option for scene change resilience
-- Fix division by zero when all LCUs are skipped in multi core AVC
2016-09-09 (v1.0.29b):
---------------------
Added feature(s) :
-- buffer allocation is controlled by the user
-- dmabuf support
2016-12-23 (v1.0.30):
---------------------
Added feature(s) :
-- GoP in MCU (Phase 1)
-- Enhance error feedback
-- Sync Enc1 / Enc2 (Phase 1)
2017-3-01 (v1.0.32):
--------------------
Added features (Encoder) :
-- GoP in MCU
-- Encoder and Decoder in the same package
Added features (Decoder) :
-- enhance error concealment
-- fix hang issue
Missing feature(s) :
-- long terms
-- pyramidal gop
2017-06-09 (v1.0.33):
--------------------
Added features (Codec) :
-- Move user API header files into single include folder
-- Improve conversion function to allow native use of RX0A, RX2A, RXmA
as inputs.
-- Remove usage of --relax option while compiling the firmware because of
code generation bug when it used with --gc-sections
-- Report mcu errors more precisely
-- Improve multichannel fairness.
-- Add support for partial AVC level 6 in the decoder (8K yuvs)
Missing feature(s) :
-- long terms
-- pyramidal gop
2017-06-30 (v1.0.34)
--------------------
Added features (Codec) :
-- pyramidal gop
-- change eos mechanism to avoid a one frame buffer latency (encode)
API:
-- make lib_encode and lib_decode APIs uniform
-- use std types (uint32_t ...)
Missing feature(s) :
-- long terms
2017-07-28 (v1.0.35)
--------------------
Added features (Codec) :
-- fix crashes when the dma allocation failed
-- fix freqIDR
-- external SEI support (encode)
-- Fix command line parsing : hexadecimal value are allowed again
API:
-- export less headers in include: We do not export IScheduler.h anymore.
-- exe_encoder and exe_decoder do not depend on any internal headers anymore
-- add API to add section in the stream buffer from outside lib_encode (external SEI support)
-- add decoder AL_Decoder_ForceStop API to terminate decoding regardless of remaining data in
the circular buffer and/or input buffer(s), only wait for end of command already sent to the MCU.
Missing feature(s) :
-- long terms
2017-09-04 (v1.0.36)
--------------------
Added features (Codec) :
-- fix dpb buffer management (decode)
-- fix sem_wait and equivalent when signal are present
-- use minQP, maxQP from channel parameter in AUTO_QP (encoder)
-- fix compliance when using SEI message (encode)
-- fix rate control CONST_QP (P-frames, B-frames QPs values were interchanged)
-- fix potential race condition on EOS : we could miss a frame (encoder)
Missing feature(s) :
-- long terms
2017-09-21 (v1.0.37)
--------------------
Added features (Codec) :
-- Fix error paths when signals are sent to the application using lib_encode / lib_decode
-- Better error reporting when configuration files are wrong
-- Size optimization: Streampart, Cmdlist and channel context size optimizations
-- Better error reporting at channel creation
-- Stream buffer overcommitted while encoding are now properly released at AL_Encoder_Destroy
-- Fix memory leak in decoder mcu mode
-- Fix potential data race (decoder)
-- Fix cmdlist wrapping data race (decoder)
-- Relaxed watchdog timeout constraint in slicelat
API:
-- AL_Settings_CheckCoherency now returns -1 at fatal failure, number of incoherency
if it corrected some.
-- HLIBREF was removed, the lib_ref is now fully an AL_TIpCtrl. The destruction
of the lib_ref is now handled using the virtual destruction of the AL_TIpCtrl
-- RefAlloc is now fully an AL_TAllocator and implements the virtual destruction too
-- AL_Encoder_Create and AL_Decoder_Create signature change to enable better error reporting
Missing feature(s) :
-- long terms
2017-11-14 (v1.0.38)
--------------------
Added features (Coded) :
-- Fix hardware rate control overflow
-- Scene Change resilience improvement
-- Footprint / latency optimization at exe_decoder level. (preallocation)
-- Better error resilience
-- Fix watchdog handling in slicelat
-- partial fix of multichannel scheduling
API:
-- Remove I_DecChannel.h header from the decoder api. To fix compilation,
just include lib_decode.h instead. I_DecChannel type is now a handle for the
user. This also removes DecBuffers.h, DecPicParam.h, DecSliceParam.h, StartCodeParam.h
-- Rename AL_Decoder_PutDecPict -> AL_Decoder_PutDisplayPicture
-- Remove AL_Decoder_ForceStop API. This is now automatically done when you destroy the decoder
whithout calling AL_Decoder_Flush
-- Remove AL_Decoder_GetDecPict from decoder API
-- Remove AL_Decoder_ReleaseDecPict from decoder API. You should use AL_Decoder_PutDisplayPicture
instead.
Missing feature(s):
-- long terms
2018-04-13 (v1.0.40)
--------------------
API:
-- Remove DecChanParam.h header from the decoder api
-- All API functions should have the AL_ prefix
-- AL_TBuffer now takes ownership of the memory handle passed to it
-- The encoder source buffer stride can now be different from the the minimum supported pitch.
-- Some function were renamed for better comprehension (older function were deprecated with a link to the new function)
-- Documentation for almost all the user facing structure of the libraries
-- Add adaptive B gop-mode feature
-- Add interlace alternate field support for encoder and decoder
-- Decoder now takes a user stride into account
2018-08-23 (v1.0.41)
--------------------
Added Features :
-- Add support of 32 channels
-- Add (VPS), SPS, PPS and SEI Recovery point on first frame of GDR
-- Multi-channel support in slice lat mode
-- new API for SEI insertionin Encoder
-- SEI message callback in Decoder
Fixes :
-- L2Prefetch Buffer + Wavefront not allowed
-- Decoder error resilience improvement
-- Improve rate control on some specific sequence
-- Fix dynamic gop length change on I-frame