mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
frame: allow align=0 (meaning automatic) for av_frame_get_buffer()
This will avoid every caller from hardcoding some specific alignment, which may break in the future with new instruction sets.
This commit is contained in:
parent
f44ec22e09
commit
4de220d2e3
@ -13,6 +13,10 @@ libavutil: 2015-08-28
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2017-02-xx - xxxxxxx - lavu 55.31.1 - frame.h
|
||||
Allow passing the value of 0 (meaning "automatic") as the required alignment
|
||||
to av_frame_get_buffer().
|
||||
|
||||
2017-02-xx - xxxxxxx - lavu 55.31.0 - cpu.h
|
||||
Add av_cpu_max_align() for querying maximum required data alignment.
|
||||
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "channel_layout.h"
|
||||
#include "buffer.h"
|
||||
#include "common.h"
|
||||
#include "cpu.h"
|
||||
#include "dict.h"
|
||||
#include "frame.h"
|
||||
#include "imgutils.h"
|
||||
@ -103,6 +104,9 @@ static int get_video_buffer(AVFrame *frame, int align)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (align <= 0)
|
||||
align = av_cpu_max_align();
|
||||
|
||||
for (i = 0; i < 4 && frame->linesize[i]; i++)
|
||||
frame->linesize[i] = FFALIGN(frame->linesize[i], align);
|
||||
}
|
||||
|
@ -475,7 +475,9 @@ void av_frame_move_ref(AVFrame *dst, AVFrame *src);
|
||||
* cases.
|
||||
*
|
||||
* @param frame frame in which to store the new buffers.
|
||||
* @param align required buffer size alignment
|
||||
* @param align Required buffer size alignment. If equal to 0, alignment will be
|
||||
* chosen automatically for the current CPU. It is highly
|
||||
* recommended to pass 0 here unless you know what you are doing.
|
||||
*
|
||||
* @return 0 on success, a negative AVERROR on error.
|
||||
*/
|
||||
|
@ -55,7 +55,7 @@
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 55
|
||||
#define LIBAVUTIL_VERSION_MINOR 31
|
||||
#define LIBAVUTIL_VERSION_MICRO 0
|
||||
#define LIBAVUTIL_VERSION_MICRO 1
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
LIBAVUTIL_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user