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:
Anton Khirnov
2012-04-16 14:01:26 +02:00
parent c22953b8a3
commit 9453c9e1de
3 changed files with 67 additions and 0 deletions

View File

@@ -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;
/**