Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Stefan Westerfeld
ffmpeg
Commits
41058992
Commit
41058992
authored
Jan 20, 2024
by
James Almer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avutil: remove deprecated FF_API_FIFO_OLD_API
Signed-off-by:
James Almer
<
jamrial@gmail.com
>
parent
43c62b11
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
399 deletions
+0
-399
fifo.c
libavutil/fifo.c
+0
-219
fifo.h
libavutil/fifo.h
+0
-179
version.h
libavutil/version.h
+0
-1
No files found.
libavutil/fifo.c
View file @
41058992
...
...
@@ -290,222 +290,3 @@ void av_fifo_freep2(AVFifo **f)
av_freep
(
f
);
}
}
#if FF_API_FIFO_OLD_API
#include "internal.h"
FF_DISABLE_DEPRECATION_WARNINGS
#define OLD_FIFO_SIZE_MAX (size_t)FFMIN3(INT_MAX, UINT32_MAX, SIZE_MAX)
AVFifoBuffer
*
av_fifo_alloc_array
(
size_t
nmemb
,
size_t
size
)
{
AVFifoBuffer
*
f
;
void
*
buffer
;
if
(
nmemb
>
OLD_FIFO_SIZE_MAX
/
size
)
return
NULL
;
buffer
=
av_realloc_array
(
NULL
,
nmemb
,
size
);
if
(
!
buffer
)
return
NULL
;
f
=
av_mallocz
(
sizeof
(
AVFifoBuffer
));
if
(
!
f
)
{
av_free
(
buffer
);
return
NULL
;
}
f
->
buffer
=
buffer
;
f
->
end
=
f
->
buffer
+
nmemb
*
size
;
av_fifo_reset
(
f
);
return
f
;
}
AVFifoBuffer
*
av_fifo_alloc
(
unsigned
int
size
)
{
return
av_fifo_alloc_array
(
size
,
1
);
}
void
av_fifo_free
(
AVFifoBuffer
*
f
)
{
if
(
f
)
{
av_freep
(
&
f
->
buffer
);
av_free
(
f
);
}
}
void
av_fifo_freep
(
AVFifoBuffer
**
f
)
{
if
(
f
)
{
av_fifo_free
(
*
f
);
*
f
=
NULL
;
}
}
void
av_fifo_reset
(
AVFifoBuffer
*
f
)
{
f
->
wptr
=
f
->
rptr
=
f
->
buffer
;
f
->
wndx
=
f
->
rndx
=
0
;
}
int
av_fifo_size
(
const
AVFifoBuffer
*
f
)
{
return
(
uint32_t
)(
f
->
wndx
-
f
->
rndx
);
}
int
av_fifo_space
(
const
AVFifoBuffer
*
f
)
{
return
f
->
end
-
f
->
buffer
-
av_fifo_size
(
f
);
}
int
av_fifo_realloc2
(
AVFifoBuffer
*
f
,
unsigned
int
new_size
)
{
unsigned
int
old_size
=
f
->
end
-
f
->
buffer
;
if
(
new_size
>
OLD_FIFO_SIZE_MAX
)
return
AVERROR
(
EINVAL
);
if
(
old_size
<
new_size
)
{
size_t
offset_r
=
f
->
rptr
-
f
->
buffer
;
size_t
offset_w
=
f
->
wptr
-
f
->
buffer
;
uint8_t
*
tmp
;
tmp
=
av_realloc
(
f
->
buffer
,
new_size
);
if
(
!
tmp
)
return
AVERROR
(
ENOMEM
);
// move the data from the beginning of the ring buffer
// to the newly allocated space
// the second condition distinguishes full vs empty fifo
if
(
offset_w
<=
offset_r
&&
av_fifo_size
(
f
))
{
const
size_t
copy
=
FFMIN
(
new_size
-
old_size
,
offset_w
);
memcpy
(
tmp
+
old_size
,
tmp
,
copy
);
if
(
copy
<
offset_w
)
{
memmove
(
tmp
,
tmp
+
copy
,
offset_w
-
copy
);
offset_w
-=
copy
;
}
else
offset_w
=
old_size
+
copy
;
}
f
->
buffer
=
tmp
;
f
->
end
=
f
->
buffer
+
new_size
;
f
->
rptr
=
f
->
buffer
+
offset_r
;
f
->
wptr
=
f
->
buffer
+
offset_w
;
}
return
0
;
}
int
av_fifo_grow
(
AVFifoBuffer
*
f
,
unsigned
int
size
)
{
unsigned
int
old_size
=
f
->
end
-
f
->
buffer
;
if
(
size
+
(
unsigned
)
av_fifo_size
(
f
)
<
size
)
return
AVERROR
(
EINVAL
);
size
+=
av_fifo_size
(
f
);
if
(
old_size
<
size
)
return
av_fifo_realloc2
(
f
,
FFMAX
(
size
,
2
*
old_size
));
return
0
;
}
/* src must NOT be const as it can be a context for func that may need
* updating (like a pointer or byte counter) */
int
av_fifo_generic_write
(
AVFifoBuffer
*
f
,
void
*
src
,
int
size
,
int
(
*
func
)(
void
*
,
void
*
,
int
))
{
int
total
=
size
;
uint32_t
wndx
=
f
->
wndx
;
uint8_t
*
wptr
=
f
->
wptr
;
if
(
size
>
av_fifo_space
(
f
))
return
AVERROR
(
ENOSPC
);
do
{
int
len
=
FFMIN
(
f
->
end
-
wptr
,
size
);
if
(
func
)
{
len
=
func
(
src
,
wptr
,
len
);
if
(
len
<=
0
)
break
;
}
else
{
memcpy
(
wptr
,
src
,
len
);
src
=
(
uint8_t
*
)
src
+
len
;
}
wptr
+=
len
;
if
(
wptr
>=
f
->
end
)
wptr
=
f
->
buffer
;
wndx
+=
len
;
size
-=
len
;
}
while
(
size
>
0
);
f
->
wndx
=
wndx
;
f
->
wptr
=
wptr
;
return
total
-
size
;
}
int
av_fifo_generic_peek_at
(
AVFifoBuffer
*
f
,
void
*
dest
,
int
offset
,
int
buf_size
,
void
(
*
func
)(
void
*
,
void
*
,
int
))
{
uint8_t
*
rptr
=
f
->
rptr
;
if
(
offset
<
0
||
buf_size
>
av_fifo_size
(
f
)
-
offset
)
return
AVERROR
(
EINVAL
);
if
(
offset
>=
f
->
end
-
rptr
)
rptr
+=
offset
-
(
f
->
end
-
f
->
buffer
);
else
rptr
+=
offset
;
while
(
buf_size
>
0
)
{
int
len
;
if
(
rptr
>=
f
->
end
)
rptr
-=
f
->
end
-
f
->
buffer
;
len
=
FFMIN
(
f
->
end
-
rptr
,
buf_size
);
if
(
func
)
func
(
dest
,
rptr
,
len
);
else
{
memcpy
(
dest
,
rptr
,
len
);
dest
=
(
uint8_t
*
)
dest
+
len
;
}
buf_size
-=
len
;
rptr
+=
len
;
}
return
0
;
}
int
av_fifo_generic_peek
(
AVFifoBuffer
*
f
,
void
*
dest
,
int
buf_size
,
void
(
*
func
)(
void
*
,
void
*
,
int
))
{
return
av_fifo_generic_peek_at
(
f
,
dest
,
0
,
buf_size
,
func
);
}
int
av_fifo_generic_read
(
AVFifoBuffer
*
f
,
void
*
dest
,
int
buf_size
,
void
(
*
func
)(
void
*
,
void
*
,
int
))
{
if
(
buf_size
>
av_fifo_size
(
f
))
return
AVERROR
(
EINVAL
);
do
{
int
len
=
FFMIN
(
f
->
end
-
f
->
rptr
,
buf_size
);
if
(
func
)
func
(
dest
,
f
->
rptr
,
len
);
else
{
memcpy
(
dest
,
f
->
rptr
,
len
);
dest
=
(
uint8_t
*
)
dest
+
len
;
}
av_fifo_drain
(
f
,
len
);
buf_size
-=
len
;
}
while
(
buf_size
>
0
);
return
0
;
}
/** Discard data from the FIFO. */
void
av_fifo_drain
(
AVFifoBuffer
*
f
,
int
size
)
{
av_assert2
(
av_fifo_size
(
f
)
>=
size
);
f
->
rptr
+=
size
;
if
(
f
->
rptr
>=
f
->
end
)
f
->
rptr
-=
f
->
end
-
f
->
buffer
;
f
->
rndx
+=
size
;
}
FF_ENABLE_DEPRECATION_WARNINGS
#endif
libavutil/fifo.h
View file @
41058992
...
...
@@ -239,185 +239,6 @@ void av_fifo_reset2(AVFifo *f);
*/
void
av_fifo_freep2
(
AVFifo
**
f
);
#if FF_API_FIFO_OLD_API
typedef
struct
AVFifoBuffer
{
uint8_t
*
buffer
;
uint8_t
*
rptr
,
*
wptr
,
*
end
;
uint32_t
rndx
,
wndx
;
}
AVFifoBuffer
;
/**
* Initialize an AVFifoBuffer.
* @param size of FIFO
* @return AVFifoBuffer or NULL in case of memory allocation failure
* @deprecated use av_fifo_alloc2()
*/
attribute_deprecated
AVFifoBuffer
*
av_fifo_alloc
(
unsigned
int
size
);
/**
* Initialize an AVFifoBuffer.
* @param nmemb number of elements
* @param size size of the single element
* @return AVFifoBuffer or NULL in case of memory allocation failure
* @deprecated use av_fifo_alloc2()
*/
attribute_deprecated
AVFifoBuffer
*
av_fifo_alloc_array
(
size_t
nmemb
,
size_t
size
);
/**
* Free an AVFifoBuffer.
* @param f AVFifoBuffer to free
* @deprecated use the AVFifo API with av_fifo_freep2()
*/
attribute_deprecated
void
av_fifo_free
(
AVFifoBuffer
*
f
);
/**
* Free an AVFifoBuffer and reset pointer to NULL.
* @param f AVFifoBuffer to free
* @deprecated use the AVFifo API with av_fifo_freep2()
*/
attribute_deprecated
void
av_fifo_freep
(
AVFifoBuffer
**
f
);
/**
* Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
* @param f AVFifoBuffer to reset
* @deprecated use av_fifo_reset2() with the new AVFifo-API
*/
attribute_deprecated
void
av_fifo_reset
(
AVFifoBuffer
*
f
);
/**
* Return the amount of data in bytes in the AVFifoBuffer, that is the
* amount of data you can read from it.
* @param f AVFifoBuffer to read from
* @return size
* @deprecated use av_fifo_can_read() with the new AVFifo-API
*/
attribute_deprecated
int
av_fifo_size
(
const
AVFifoBuffer
*
f
);
/**
* Return the amount of space in bytes in the AVFifoBuffer, that is the
* amount of data you can write into it.
* @param f AVFifoBuffer to write into
* @return size
* @deprecated use av_fifo_can_write() with the new AVFifo-API
*/
attribute_deprecated
int
av_fifo_space
(
const
AVFifoBuffer
*
f
);
/**
* Feed data at specific position from an AVFifoBuffer to a user-supplied callback.
* Similar as av_fifo_gereric_read but without discarding data.
* @param f AVFifoBuffer to read from
* @param offset offset from current read position
* @param buf_size number of bytes to read
* @param func generic read function
* @param dest data destination
*
* @return a non-negative number on success, a negative error code on failure
*
* @deprecated use the new AVFifo-API with av_fifo_peek() when func == NULL,
* av_fifo_peek_to_cb() otherwise
*/
attribute_deprecated
int
av_fifo_generic_peek_at
(
AVFifoBuffer
*
f
,
void
*
dest
,
int
offset
,
int
buf_size
,
void
(
*
func
)(
void
*
,
void
*
,
int
));
/**
* Feed data from an AVFifoBuffer to a user-supplied callback.
* Similar as av_fifo_gereric_read but without discarding data.
* @param f AVFifoBuffer to read from
* @param buf_size number of bytes to read
* @param func generic read function
* @param dest data destination
*
* @return a non-negative number on success, a negative error code on failure
*
* @deprecated use the new AVFifo-API with av_fifo_peek() when func == NULL,
* av_fifo_peek_to_cb() otherwise
*/
attribute_deprecated
int
av_fifo_generic_peek
(
AVFifoBuffer
*
f
,
void
*
dest
,
int
buf_size
,
void
(
*
func
)(
void
*
,
void
*
,
int
));
/**
* Feed data from an AVFifoBuffer to a user-supplied callback.
* @param f AVFifoBuffer to read from
* @param buf_size number of bytes to read
* @param func generic read function
* @param dest data destination
*
* @return a non-negative number on success, a negative error code on failure
*
* @deprecated use the new AVFifo-API with av_fifo_read() when func == NULL,
* av_fifo_read_to_cb() otherwise
*/
attribute_deprecated
int
av_fifo_generic_read
(
AVFifoBuffer
*
f
,
void
*
dest
,
int
buf_size
,
void
(
*
func
)(
void
*
,
void
*
,
int
));
/**
* Feed data from a user-supplied callback to an AVFifoBuffer.
* @param f AVFifoBuffer to write to
* @param src data source; non-const since it may be used as a
* modifiable context by the function defined in func
* @param size number of bytes to write
* @param func generic write function; the first parameter is src,
* the second is dest_buf, the third is dest_buf_size.
* func must return the number of bytes written to dest_buf, or <= 0 to
* indicate no more data available to write.
* If func is NULL, src is interpreted as a simple byte array for source data.
* @return the number of bytes written to the FIFO or a negative error code on failure
*
* @deprecated use the new AVFifo-API with av_fifo_write() when func == NULL,
* av_fifo_write_from_cb() otherwise
*/
attribute_deprecated
int
av_fifo_generic_write
(
AVFifoBuffer
*
f
,
void
*
src
,
int
size
,
int
(
*
func
)(
void
*
,
void
*
,
int
));
/**
* Resize an AVFifoBuffer.
* In case of reallocation failure, the old FIFO is kept unchanged.
*
* @param f AVFifoBuffer to resize
* @param size new AVFifoBuffer size in bytes
* @return <0 for failure, >=0 otherwise
*
* @deprecated use the new AVFifo-API with av_fifo_grow2() to increase FIFO size,
* decreasing FIFO size is not supported
*/
attribute_deprecated
int
av_fifo_realloc2
(
AVFifoBuffer
*
f
,
unsigned
int
size
);
/**
* Enlarge an AVFifoBuffer.
* In case of reallocation failure, the old FIFO is kept unchanged.
* The new fifo size may be larger than the requested size.
*
* @param f AVFifoBuffer to resize
* @param additional_space the amount of space in bytes to allocate in addition to av_fifo_size()
* @return <0 for failure, >=0 otherwise
*
* @deprecated use the new AVFifo-API with av_fifo_grow2(); note that unlike
* this function it adds to the allocated size, rather than to the used size
*/
attribute_deprecated
int
av_fifo_grow
(
AVFifoBuffer
*
f
,
unsigned
int
additional_space
);
/**
* Read and discard the specified amount of data from an AVFifoBuffer.
* @param f AVFifoBuffer to read from
* @param size amount of data to read in bytes
*
* @deprecated use the new AVFifo-API with av_fifo_drain2()
*/
attribute_deprecated
void
av_fifo_drain
(
AVFifoBuffer
*
f
,
int
size
);
#endif
/**
* @}
*/
...
...
libavutil/version.h
View file @
41058992
...
...
@@ -105,7 +105,6 @@
* @{
*/
#define FF_API_FIFO_OLD_API (LIBAVUTIL_VERSION_MAJOR < 59)
#define FF_API_XVMC (LIBAVUTIL_VERSION_MAJOR < 59)
#define FF_API_OLD_CHANNEL_LAYOUT (LIBAVUTIL_VERSION_MAJOR < 59)
#define FF_API_AV_FOPEN_UTF8 (LIBAVUTIL_VERSION_MAJOR < 59)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment