History

lavu/fifo: Add new AVFifo API based upon the notion of element size

Many AVFifoBuffer users operate on fixed-size elements (e.g. pointers), but the current FIFO API deals exclusively in bytes, requiring extra complexity in all these callers. Add a new AVFifo API creating a FIFO with an element size that may be larger than a byte. All operations on such a FIFO then operate on complete elements. This API does not reuse AVFifoBuffer and its API at all, but instead uses an opaque struct called AVFifo. The AVFifoBuffer API will be deprecated in a future commit once all of its users have been switched to the new API. Not reusing AVFifoBuffer also allowed to use the full range of size_t from the beginning.

Anton Khirnov committed 4 years ago

Commit 7329b221 parent 5939c8d4 files · +415 −1Browse files

Showing the changes to doc/APIchanges (1 of 4 files). Show all

Unified · Split

doc/APIchanges+9−0
@@ -14,6 +14,15 @@ libavutil: 2021-04-27 · 13 unmodified lines
14 14
15API changes, most recent first:15API changes, most recent first:
16 16
172022-02-07 - xxxxxxxxxx - lavu 57.20.100 - fifo.h
18 Add a new FIFO API, which allows setting a FIFO element size.
19 This API operates on these elements rather than on bytes.
20 Add av_fifo_alloc2(), av_fifo_elem_size(), av_fifo_can_read(),
21 av_fifo_can_write(), av_fifo_grow2(), av_fifo_drain2(), av_fifo_write(),
22 av_fifo_write_from_cb(), av_fifo_read(), av_fifo_read_to_cb(),
23 av_fifo_peek(), av_fifo_peek_to_cb(), av_fifo_drain2(), av_fifo_reset2(),
24 av_fifo_freep2().
25
172022-01-26 - af94ab7c7c0 - lavu 57.19.100 - tx.h262022-01-26 - af94ab7c7c0 - lavu 57.19.100 - tx.h
18 Add AV_TX_FLOAT_RDFT, AV_TX_DOUBLE_RDFT and AV_TX_INT32_RDFT.27 Add AV_TX_FLOAT_RDFT, AV_TX_DOUBLE_RDFT and AV_TX_INT32_RDFT.
19 28

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t