mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-03 05:22:10 +00:00
avutil/frame: Document the possibility of negative line sizes
Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
9181b9ec7c
commit
daef8cbff7
@ -311,7 +311,8 @@ typedef struct AVFrame {
|
|||||||
#define AV_NUM_DATA_POINTERS 8
|
#define AV_NUM_DATA_POINTERS 8
|
||||||
/**
|
/**
|
||||||
* pointer to the picture/channel planes.
|
* pointer to the picture/channel planes.
|
||||||
* This might be different from the first allocated byte
|
* This might be different from the first allocated byte. For video,
|
||||||
|
* it could even point to the end of the image data.
|
||||||
*
|
*
|
||||||
* Some decoders access areas outside 0,0 - width,height, please
|
* Some decoders access areas outside 0,0 - width,height, please
|
||||||
* see avcodec_align_dimensions2(). Some filters and swscale can read
|
* see avcodec_align_dimensions2(). Some filters and swscale can read
|
||||||
@ -320,12 +321,20 @@ typedef struct AVFrame {
|
|||||||
*
|
*
|
||||||
* NOTE: Except for hwaccel formats, pointers not needed by the format
|
* NOTE: Except for hwaccel formats, pointers not needed by the format
|
||||||
* MUST be set to NULL.
|
* MUST be set to NULL.
|
||||||
|
*
|
||||||
|
* @attention In case of video, the data[] pointers can point to the
|
||||||
|
* end of image data in order to reverse line order, when used in
|
||||||
|
* combination with negative values in the linesize[] array.
|
||||||
*/
|
*/
|
||||||
uint8_t *data[AV_NUM_DATA_POINTERS];
|
uint8_t *data[AV_NUM_DATA_POINTERS];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For video, size in bytes of each picture line.
|
* For video, a positive or negative value, which is typically indicating
|
||||||
* For audio, size in bytes of each plane.
|
* the size in bytes of each picture line, but it can also be:
|
||||||
|
* - the negative byte size of lines for vertical flipping
|
||||||
|
* (with data[n] pointing to the end of the data
|
||||||
|
* - a positive or negative multiple of the byte size as for accessing
|
||||||
|
* even and odd fields of a frame (possibly flipped)
|
||||||
*
|
*
|
||||||
* For audio, only linesize[0] may be set. For planar audio, each channel
|
* For audio, only linesize[0] may be set. For planar audio, each channel
|
||||||
* plane must be the same size.
|
* plane must be the same size.
|
||||||
@ -337,6 +346,9 @@ typedef struct AVFrame {
|
|||||||
*
|
*
|
||||||
* @note The linesize may be larger than the size of usable data -- there
|
* @note The linesize may be larger than the size of usable data -- there
|
||||||
* may be extra padding present for performance reasons.
|
* may be extra padding present for performance reasons.
|
||||||
|
*
|
||||||
|
* @attention In case of video, line size values can be negative to achieve
|
||||||
|
* a vertically inverted iteration over image lines.
|
||||||
*/
|
*/
|
||||||
int linesize[AV_NUM_DATA_POINTERS];
|
int linesize[AV_NUM_DATA_POINTERS];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user