AVPicture types, pixel formats and basic image planes manipulation. More...
AVPicture types, pixel formats and basic image planes manipulation.
Enumerator | |
---|---|
AV_PICTURE_TYPE_NONE | Undefined. |
AV_PICTURE_TYPE_I | Intra. |
AV_PICTURE_TYPE_P | Predicted. |
AV_PICTURE_TYPE_B | Bi-dir predicted. |
AV_PICTURE_TYPE_S | S(GMC)-VOP MPEG-4. |
AV_PICTURE_TYPE_SI | Switching Intra. |
AV_PICTURE_TYPE_SP | Switching Predicted. |
AV_PICTURE_TYPE_BI | BI type. |
Return a single letter to describe the given picture type pict_type.
Definition at line 40 of file utils.c.
Referenced by dump_sidedata(), evaluate(), ff_er_frame_end(), ff_flv_decode_picture_header(), ff_h263_show_pict_info(), ff_h264_decode_mb_cavlc(), ff_print_debug_info2(), ff_rate_estimate_qscale(), filter_frame(), h264_slice_init(), queue_picture(), select_frame(), show_frame(), svq3_decode_frame(), tlog_ref(), update_video_stats(), and vc1_decode_frame().
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.
Definition at line 35 of file imgutils.c.
Referenced by av_image_fill_linesizes(), av_image_get_linesize(), config_input(), config_input_main(), config_input_overlay(), config_output(), config_props(), config_props_output(), ff_frame_to_dnn_classify(), and qsvenc_fill_padding_area().
Compute the size of an image line with format pix_fmt and width width for the plane plane.
Definition at line 76 of file imgutils.c.
Referenced by av_image_check_size2(), config_input(), copy_uv_planes(), dds_decode(), ff_proc_from_dnn_to_frame(), ff_proc_from_frame_to_dnn(), filter_frame(), frame_hash(), handle_p_frame_png(), image_copy(), msrle_decode_frame(), qsv_fill_border(), qsvenc_fill_padding_area(), and vbn_encode().
Fill plane linesizes for an image with pixel format pix_fmt and width width.
Definition at line 89 of file imgutils.c.
Referenced by alloc_plane(), av_image_alloc(), av_image_copy_to_buffer(), av_image_fill_arrays(), av_image_get_buffer_size(), check_image_fill(), check_image_fill_black(), config_input(), config_output(), config_props(), config_props_output(), ff_frame_pool_video_init(), ff_frame_to_dnn_classify(), ff_frame_to_dnn_detect(), fuzz_video_get_buffer(), get_video_buffer(), main(), oh_decode_wrap_sw_buffer(), oh_encode_send_sw_frame(), update_frame_pool(), and video_frame_cksum().
Fill plane sizes for an image with pixel format pix_fmt and height height.
Definition at line 111 of file imgutils.c.
Referenced by alloc_plane(), av_image_alloc(), av_image_fill_pointers(), av_image_get_buffer_size(), check_image_fill(), ff_frame_pool_video_init(), fuzz_video_get_buffer(), get_video_buffer(), read_in_data(), and update_frame_pool().
Fill plane data pointers for an image with pixel format pix_fmt and height height.
Definition at line 145 of file imgutils.c.
Referenced by av_image_alloc(), av_image_fill_arrays(), check_image_fill(), d3d12va_transfer_data(), dxva2_map_frame(), fill_texture_ptrs(), get_video_buffer(), nvenc_copy_frame(), oh_decode_wrap_sw_buffer(), and oh_encode_send_sw_frame().
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]).
Definition at line 218 of file imgutils.c.
Referenced by check_image_fill_black(), config_input(), config_out_props(), config_props(), decode_frame(), draw_qrcode(), dxv_encode(), ff_load_image(), ff_scale_image(), ff_sws_init_single_context(), main(), pass_alloc_output(), and sws_setColorspaceDetails().
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.
bytewidth must be contained by both absolute values of dst_linesize and src_linesize, otherwise the function behavior is undefined.
Definition at line 374 of file imgutils.c.
Referenced by apply_delogo(), bilateralo_planes(), blur_image(), blur_planes(), cas_slice16(), cas_slice8(), copy_field(), copy_fields(), copy_picture_field(), copy_plane_wrapper(), copy_uv_planes(), dds_decode(), decode_frame(), dfa_decode_frame(), dmvr(), do_alphamerge(), encode_plane(), extract_plane(), ff_aom_apply_film_grain(), ff_h274_apply_film_grain(), ff_proc_from_dnn_to_frame(), ff_proc_from_frame_to_dnn(), filter(), filter_frame(), filter_slice(), ibc_fill_vir_buf(), intra_block_copy(), limitdiff_slice(), load_mask(), maskedclamp_slice(), maskedminmax_slice(), morpho_slice(), multiply_slice(), noise(), paf_video_decode(), pix_decode_frame(), pixelize_slice(), premultiply_slice(), process_frame(), process_slice(), rscc_decode_frame(), sao_restore_vb(), screenpresso_decode_frame(), tdsc_decode_tiles(), threshold_slice(), vbn_decode_frame(), vbn_encode(), vvc_predict_palette(), and weave_slice().
Copy image data located in uncacheable (e.g.
GPU mapped) memory. Where available, this function will use special functionality for reading from such memory, which may result in greatly improved performance compared to plain av_image_copy_plane().
bytewidth must be contained by both absolute values of dst_linesize and src_linesize, otherwise the function behavior is undefined.
Definition at line 359 of file imgutils.c.
Referenced by av_image_copy_uc_from().
Copy image in src_data to dst_data.
Definition at line 422 of file imgutils.c.
Referenced by amf_copy_surface(), aom_decode(), aom_encode(), av_image_copy2(), copy_column(), decode_slices(), finalize_frame(), liboapve_encode(), and libxevd_image_copy().
Wrapper around av_image_copy() to workaround the limitation that the conversion from uint8_t * const * to const uint8_t * const * is not performed automatically in C.
Definition at line 184 of file imgutils.h.
Referenced by amf_copy_surface(), amf_transfer_data_from(), amf_transfer_data_to(), copy_frame(), copy_frame_to_buffer(), d3d11va_transfer_data(), d3d12va_transfer_data(), decode_frame(), dxv_encode(), dxva2_transfer_data_to(), ff_load_image(), ffmal_copy_frame(), filter_frame(), fixstride(), frame_copy_video(), horizontal_frame_pack(), libkvazaar_encode(), nvenc_copy_frame(), oh_decode_wrap_sw_buffer(), oh_encode_send_sw_frame(), omx_encode_frame(), output_video_frame(), svc_decode_frame(), vertical_frame_pack(), vpx_decode(), and write_picture().
Copy image data located in uncacheable (e.g.
GPU mapped) memory. Where available, this function will use special functionality for reading from such memory, which may result in greatly improved performance compared to plain av_image_copy().
The data pointers and the linesizes must be aligned to the maximum required by the CPU architecture.
Definition at line 438 of file imgutils.c.
Referenced by dxva2_transfer_data_from().
Setup the data pointers and linesizes based on the specified image parameters and the provided array.
The fields of the given image are filled in by using the src address which points to the image data buffer. Depending on the specified pixel format, one or multiple image data pointers and line sizes will be set. If a planar format is specified, several pointers will be set pointing to the different picture planes and the line sizes of the different planes will be stored in the lines_sizes array. Call with src == NULL to get the required size for the src buffer.
To allocate the buffer and fill in the dst_data and dst_linesize in one call, use av_image_alloc().
Definition at line 446 of file imgutils.c.
Referenced by bitpacked_decode_uyvy422(), copy_frame(), cuda_get_buffer(), d3d12va_get_buffer(), ffmal_copy_frame(), libdav1d_picture_allocator(), omx_encode_frame(), raw_decode(), and xv_write_packet().
Return the size in bytes of the amount of data required to store an image with the given parameters.
Definition at line 466 of file imgutils.c.
Referenced by av_image_copy_to_buffer(), compute_crc_of_packets(), cuda_frames_init(), dc1394_read_common(), decode_write(), encode_frame(), ff_d3d12va_get_suitable_max_bitstream_size(), frm_read_packet(), image_available(), libdav1d_picture_allocator(), msp_read_header(), omx_encode_frame(), pnm_encode_frame(), pnm_parse(), process_software_frame(), qsv_decode_init_context(), raw_decode(), raw_encode(), rawvideo_read_header(), ser_read_header(), targa_encode_frame(), v4l2_read_header(), vble_decode_init(), video_decode(), video_decode_example(), write_header(), and yuv4_read_header().
Copy image data from an image into a buffer.
av_image_get_buffer_size() can be used to compute the required size for the buffer to fill.
Definition at line 501 of file imgutils.c.
Referenced by compute_crc_of_packets(), copy_cvpixelbuffer(), decode_write(), encode_frame(), image_available(), process_software_frame(), raw_encode(), video_decode(), and video_decode_example().
Check if the given dimension of an image is valid, meaning that all bytes of the image can be addressed with a signed int.
Definition at line 318 of file imgutils.c.
Referenced by apng_probe(), apng_read_header(), av_hwframe_ctx_init(), av_image_alloc(), av_image_fill_arrays(), av_image_get_buffer_size(), cmv_decode_frame(), config_output(), config_props(), decode_frame(), decode_frame_headers(), decode_ihdr_chunk(), decode_init(), dfa_decode_init(), dvdsub_encode(), dxv_init(), encode_init(), ff_flv_decode_picture_header(), ff_h263_decode_picture_header(), ff_h264_decode_seq_parameter_set(), ff_hevc_parse_sps(), ff_jpeg2000_init_component(), ff_mjpeg_decode_sof(), ff_mpv_common_frame_size_change(), ff_mpv_common_init(), ff_msmpeg4_decode_init(), ff_pnm_decode_header(), ff_rv34_decode_frame(), ff_vc1_decode_init(), flashsv2_encode_init(), get_video_buffer(), hap_init(), hnm_decode_init(), hqx_decode_frame(), idcin_read_header(), init(), LLVMFuzzerTestOneInput(), main(), nuv_header(), qtrle_encode_init(), raw_decode(), rawvideo_read_header(), read_header(), rscc_init(), rv10_decode_init(), rv20_decode_picture_header(), rv40_parse_slice_header(), scan_file(), screenpresso_init(), source_config_props(), swf_read_packet(), v4l2_read_header(), vid_read_header(), webp_decode_frame(), xwd_decode_frame(), and yop_decode_init().
Check if the given dimension of an image is valid, meaning that all bytes of a plane of an image with the specified pix_fmt can be addressed with a signed int.
Definition at line 289 of file imgutils.c.
Referenced by alloc_buffers(), av_image_check_size(), avcodec_open2(), decode_block(), decode_pic_hdr(), dvbsub_parse_region_segment(), ff_frame_pool_video_init(), ff_get_buffer(), ff_ivi_init_planes(), ff_mpv_framesize_alloc(), ff_set_dimensions(), g2m_decode_frame(), get_siz(), graph_check_links(), mss4_decode_frame(), paf_video_init(), and vbn_encode().
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.
Definition at line 323 of file imgutils.c.
Referenced by avcodec_open2(), decode_slice_header(), dirac_header(), ff_decode_frame_props(), ff_set_sar(), and mpeg_decode_postinit().
Overwrite the image data with black.
This is suitable for filling a sub-rectangle of an image, meaning the padding between the right most pixel and the left most pixel on the next line will not be overwritten. For some formats, the image size might be rounded up due to inherent alignment.
If the pixel format has alpha, the alpha is cleared to opaque.
This can return an error if the pixel format is not supported. Normally, all non-hwaccel pixel formats should be supported.
Passing NULL for dst_data is allowed. Then the function returns whether the operation would have succeeded. (It can return an error if the pix_fmt is not supported.)
Definition at line 660 of file imgutils.c.
Referenced by check_image_fill_black(), and decode_frame().
Overwrite the image data with a color.
This is suitable for filling a sub-rectangle of an image, meaning the padding between the right most pixel and the left most pixel on the next line will not be overwritten. For some formats, the image size might be rounded up due to inherent alignment.
If the pixel format has alpha, it is also replaced. Color component values are interpreted as native integers (or intfloats) regardless of actual pixel format endianness.
This can return an error if the pixel format is not supported. Normally, all non-hwaccel pixel formats should be supported.
Passing NULL for dst_data is allowed. Then the function returns whether the operation would have succeeded. (It can return an error if the pix_fmt is not supported.)
Definition at line 582 of file imgutils.c.
Referenced by av_image_fill_black().