Libav
|
AVPicture types, pixel formats and basic image planes manipulation. More...
Enumerations | |
enum | AVPictureType { AV_PICTURE_TYPE_I = 1, AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B, AV_PICTURE_TYPE_S, AV_PICTURE_TYPE_SI, AV_PICTURE_TYPE_SP, AV_PICTURE_TYPE_BI } |
Functions | |
char | av_get_picture_type_char (enum AVPictureType pict_type) |
Return a single letter to describe the given picture type pict_type. More... | |
void | av_image_fill_max_pixsteps (int max_pixsteps[4], int max_pixstep_comps[4], const AVPixFmtDescriptor *pixdesc) |
Compute the max pixel step for each plane of an image with a format described by pixdesc. More... | |
int | av_image_get_linesize (enum AVPixelFormat pix_fmt, int width, int plane) |
Compute the size of an image line with format pix_fmt and width width for the plane plane. More... | |
int | av_image_fill_linesizes (int linesizes[4], enum AVPixelFormat pix_fmt, int width) |
Fill plane linesizes for an image with pixel format pix_fmt and width width. More... | |
int | av_image_fill_pointers (uint8_t *data[4], enum AVPixelFormat pix_fmt, int height, uint8_t *ptr, const int linesizes[4]) |
Fill plane data pointers for an image with pixel format pix_fmt and height height. More... | |
int | av_image_alloc (uint8_t *pointers[4], int linesizes[4], int w, int h, enum AVPixelFormat pix_fmt, int align) |
Allocate an image with size w and h and pixel format pix_fmt, and fill pointers and linesizes accordingly. More... | |
void | av_image_copy_plane (uint8_t *dst, int dst_linesize, const uint8_t *src, int src_linesize, int bytewidth, int height) |
Copy image plane from src to dst. More... | |
void | av_image_copy (uint8_t *dst_data[4], int dst_linesizes[4], const uint8_t *src_data[4], const int src_linesizes[4], enum AVPixelFormat pix_fmt, int width, int height) |
Copy image in src_data to dst_data. More... | |
int | av_image_check_size (unsigned int w, unsigned int h, int log_offset, void *log_ctx) |
Check if the given dimension of an image is valid, meaning that all bytes of the image can be addressed with a signed int. More... | |
int | av_image_check_sar (unsigned int w, unsigned int h, AVRational sar) |
Check if the given sample aspect ratio of an image is valid. More... | |
AVPicture types, pixel formats and basic image planes manipulation.
enum AVPictureType |
char av_get_picture_type_char | ( | enum AVPictureType | pict_type | ) |
Return a single letter to describe the given picture type pict_type.
[in] | pict_type | the picture type |
Definition at line 43 of file utils.c.
Referenced by do_video_stats(), ff_flv_decode_picture_header(), ff_h263_show_pict_info(), ff_h264_decode_mb_cavlc(), ff_h264_decode_slice_header(), ff_rate_estimate_qscale(), filter_frame(), and svq3_decode_frame().
void av_image_fill_max_pixsteps | ( | int | max_pixsteps[4], |
int | max_pixstep_comps[4], | ||
const AVPixFmtDescriptor * | pixdesc | ||
) |
Compute the max pixel step for each plane of an image with a format described by pixdesc.
The pixel step is the distance in bytes between the first byte of the group of bytes which describe a pixel component and the first byte of the successive group in the same plane for the same component.
max_pixsteps | an array which is filled with the max pixel step for each plane. Since a plane may contain different pixel components, the computed max_pixsteps[plane] is relative to the component in the plane with the max pixel step. |
max_pixstep_comps | an array which is filled with the component for each plane which has the max pixel step. May be NULL. |
Definition at line 32 of file imgutils.c.
Referenced by av_image_fill_linesizes(), av_image_get_linesize(), config_input(), config_input_main(), config_props(), and config_props_output().
int av_image_get_linesize | ( | enum AVPixelFormat | pix_fmt, |
int | width, | ||
int | plane | ||
) |
Compute the size of an image line with format pix_fmt and width width for the plane plane.
Definition at line 50 of file imgutils.c.
Referenced by av_image_copy(), config_input(), copy_picture_field(), and filter_frame().
int av_image_fill_linesizes | ( | int | linesizes[4], |
enum AVPixelFormat | pix_fmt, | ||
int | width | ||
) |
Fill plane linesizes for an image with pixel format pix_fmt and width width.
linesizes | array to be filled with the linesize for each plane |
Definition at line 68 of file imgutils.c.
Referenced by av_image_alloc(), avpicture_fill(), avpicture_layout(), doTest(), get_video_buffer(), and update_frame_pool().
int av_image_fill_pointers | ( | uint8_t * | data[4], |
enum AVPixelFormat | pix_fmt, | ||
int | height, | ||
uint8_t * | ptr, | ||
const int | linesizes[4] | ||
) |
Fill plane data pointers for an image with pixel format pix_fmt and height height.
data | pointers array to be filled with the pointer for each image plane |
ptr | the pointer to a buffer which will contain the image |
linesizes | the array containing the linesize for each plane, should be filled by av_image_fill_linesizes() |
Definition at line 99 of file imgutils.c.
Referenced by av_image_alloc(), avpicture_fill(), and update_frame_pool().
int av_image_alloc | ( | uint8_t * | pointers[4], |
int | linesizes[4], | ||
int | w, | ||
int | h, | ||
enum AVPixelFormat | pix_fmt, | ||
int | align | ||
) |
Allocate an image with size w and h and pixel format pix_fmt, and fill pointers and linesizes accordingly.
The allocated image buffer has to be freed by using av_freep(&pointers[0]).
align | the value to use for buffer size alignment |
Definition at line 181 of file imgutils.c.
Referenced by avpicture_alloc(), and video_encode_example().
void av_image_copy_plane | ( | uint8_t * | dst, |
int | dst_linesize, | ||
const uint8_t * | src, | ||
int | src_linesize, | ||
int | bytewidth, | ||
int | height | ||
) |
Copy image plane from src to dst.
That is, copy "height" number of lines of "bytewidth" bytes each. The first byte of each successive line is separated by *_linesize bytes.
dst_linesize | linesize for the image plane in dst |
src_linesize | linesize for the image plane in src |
Definition at line 254 of file imgutils.c.
Referenced by apply_delogo(), av_image_copy(), copy_picture_field(), decode_frame(), dxva2_retrieve_data(), encode_plane(), ff_mpegvideoencdsp_init(), filter_frame(), horizontal_frame_pack(), paf_video_decode(), pix_decode_frame(), and vertical_frame_pack().
void av_image_copy | ( | uint8_t * | dst_data[4], |
int | dst_linesizes[4], | ||
const uint8_t * | src_data[4], | ||
const int | src_linesizes[4], | ||
enum AVPixelFormat | pix_fmt, | ||
int | width, | ||
int | height | ||
) |
Copy image in src_data to dst_data.
dst_linesizes | linesizes for the image in dst_data |
src_linesizes | linesizes for the image in src_data |
Definition at line 267 of file imgutils.c.
Referenced by av_picture_copy(), ff_filter_frame(), ff_h264_decode_slice_header(), ffv1_decode_frame(), frame_copy_video(), vda_retrieve_data(), and vp8_decode().
int av_image_check_size | ( | unsigned int | w, |
unsigned int | h, | ||
int | log_offset, | ||
void * | log_ctx | ||
) |
Check if the given dimension of an image is valid, meaning that all bytes of the image can be addressed with a signed int.
w | the width of the picture |
h | the height of the picture |
log_offset | the offset to sum to the log level for logging with log_ctx |
log_ctx | the parent logging context, it may be NULL |
Definition at line 222 of file imgutils.c.
Referenced by av_image_alloc(), avcodec_decode_video2(), avcodec_encode_video2(), avcodec_open2(), avpicture_fill(), avpicture_get_size(), cmv_decode_frame(), codec_reinit(), color_config_props(), decode_frame(), decode_frame_headers(), decode_init(), dfa_decode_init(), ff_flv_decode_picture_header(), ff_get_buffer(), ff_h264_decode_seq_parameter_set(), ff_hevc_decode_nal_sps(), ff_mjpeg_decode_sof(), ff_mpv_common_frame_size_change(), ff_mpv_common_init(), ff_pnm_decode_header(), ff_set_dimensions(), get_video_buffer(), idcin_read_header(), libschroedinger_handle_first_access_unit(), qtrle_encode_init(), rv10_decode_init(), rv20_decode_picture_header(), rv40_parse_slice_header(), source_config_props(), v4l2_read_header(), vqa_decode_init(), webp_decode_frame(), xwd_decode_frame(), and yop_decode_init().
int av_image_check_sar | ( | unsigned int | w, |
unsigned int | h, | ||
AVRational | sar | ||
) |
Check if the given sample aspect ratio of an image is valid.
It is considered invalid if the denominator is 0 or if applying the ratio to the image size would make the smaller dimension less than 1. If the sar numerator is 0, it is considered unknown and will return as valid.
w | width of the image |
h | height of the image |
sar | sample aspect ratio of the image |
Definition at line 233 of file imgutils.c.
Referenced by avcodec_open2(), decode_slice_header(), ff_get_buffer(), and ff_set_sar().