mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2026-02-04 14:30:55 +08:00
lavfi: add extended_data to AVFilterBuffer.
This is similar to what has previously been done in AVFrame to allow dealing with more than 8 channels.
This commit is contained in:
@@ -76,6 +76,22 @@ typedef struct AVFilterBuffer {
|
||||
|
||||
int format; ///< media format
|
||||
int w, h; ///< width and height of the allocated buffer
|
||||
|
||||
/**
|
||||
* pointers to the data planes/channels.
|
||||
*
|
||||
* For video, this should simply point to data[].
|
||||
*
|
||||
* For planar audio, each channel has a separate data pointer, and
|
||||
* linesize[0] contains the size of each channel buffer.
|
||||
* For packed audio, there is just one data pointer, and linesize[0]
|
||||
* contains the total size of the buffer for all channels.
|
||||
*
|
||||
* Note: Both data and extended_data will always be set, but for planar
|
||||
* audio with more channels that can fit in data, extended_data must be used
|
||||
* in order to access all channels.
|
||||
*/
|
||||
uint8_t **extended_data;
|
||||
} AVFilterBuffer;
|
||||
|
||||
#define AV_PERM_READ 0x01 ///< can read from the buffer
|
||||
@@ -140,6 +156,22 @@ typedef struct AVFilterBufferRef {
|
||||
enum AVMediaType type; ///< media type of buffer data
|
||||
AVFilterBufferRefVideoProps *video; ///< video buffer specific properties
|
||||
AVFilterBufferRefAudioProps *audio; ///< audio buffer specific properties
|
||||
|
||||
/**
|
||||
* pointers to the data planes/channels.
|
||||
*
|
||||
* For video, this should simply point to data[].
|
||||
*
|
||||
* For planar audio, each channel has a separate data pointer, and
|
||||
* linesize[0] contains the size of each channel buffer.
|
||||
* For packed audio, there is just one data pointer, and linesize[0]
|
||||
* contains the total size of the buffer for all channels.
|
||||
*
|
||||
* Note: Both data and extended_data will always be set, but for planar
|
||||
* audio with more channels that can fit in data, extended_data must be used
|
||||
* in order to access all channels.
|
||||
*/
|
||||
uint8_t **extended_data;
|
||||
} AVFilterBufferRef;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user