Functions for working with pixel formats. More...

Collaboration diagram for Pixel formats:

Macros

#define FF_LOSS_RESOLUTION   0x0001
 loss due to resolution change More...
 
#define FF_LOSS_DEPTH   0x0002
 loss due to color depth change More...
 
#define FF_LOSS_COLORSPACE   0x0004
 loss due to color space conversion More...
 
#define FF_LOSS_ALPHA   0x0008
 loss of alpha bits More...
 
#define FF_LOSS_COLORQUANT   0x0010
 loss due to color quantization More...
 
#define FF_LOSS_CHROMA   0x0020
 loss of chroma (e.g. More...
 

Functions

void avcodec_get_chroma_sub_sample (enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
 Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor. More...
 
unsigned int avcodec_pix_fmt_to_codec_tag (enum AVPixelFormat pix_fmt)
 Return a value representing the fourCC code associated to the pixel format pix_fmt, or 0 if no associated fourCC code can be found. More...
 
int avcodec_get_pix_fmt_loss (enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
 Compute what kind of losses will occur when converting from one specific pixel format to another. More...
 
enum AVPixelFormat avcodec_find_best_pix_fmt_of_list (enum AVPixelFormat *pix_fmt_list, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
 Find the best pixel format to convert to given a certain source pixel format. More...
 
enum AVPixelFormat avcodec_find_best_pix_fmt_of_2 (enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
 Find the best pixel format to convert to given a certain source pixel format and a selection of two destination pixel formats. More...
 
attribute_deprecated enum AVPixelFormat avcodec_find_best_pix_fmt2 (enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
 
enum AVPixelFormat avcodec_default_get_format (struct AVCodecContext *s, const enum AVPixelFormat *fmt)
 

Detailed Description

Functions for working with pixel formats.

Macro Definition Documentation

#define FF_LOSS_ALPHA   0x0008

loss of alpha bits

Definition at line 4336 of file libavcodec/avcodec.h.

Referenced by avcodec_find_best_pix_fmt_of_2(), avcodec_get_pix_fmt_loss(), and get_pix_fmt_score().

#define FF_LOSS_CHROMA   0x0020

loss of chroma (e.g.

RGB to gray conversion)

Definition at line 4338 of file libavcodec/avcodec.h.

Referenced by get_pix_fmt_score().

#define FF_LOSS_COLORQUANT   0x0010

loss due to color quantization

Definition at line 4337 of file libavcodec/avcodec.h.

Referenced by get_pix_fmt_score().

#define FF_LOSS_COLORSPACE   0x0004

loss due to color space conversion

Definition at line 4335 of file libavcodec/avcodec.h.

Referenced by get_pix_fmt_score().

#define FF_LOSS_DEPTH   0x0002

loss due to color depth change

Definition at line 4334 of file libavcodec/avcodec.h.

Referenced by get_pix_fmt_score().

#define FF_LOSS_RESOLUTION   0x0001

loss due to resolution change

Definition at line 4333 of file libavcodec/avcodec.h.

Referenced by get_pix_fmt_score().

Function Documentation

enum AVPixelFormat avcodec_default_get_format ( struct AVCodecContext s,
const enum AVPixelFormat fmt 
)
attribute_deprecated enum AVPixelFormat avcodec_find_best_pix_fmt2 ( enum AVPixelFormat  dst_pix_fmt1,
enum AVPixelFormat  dst_pix_fmt2,
enum AVPixelFormat  src_pix_fmt,
int  has_alpha,
int *  loss_ptr 
)

Definition at line 257 of file imgconvert.c.

Referenced by avcodec_find_best_pix_fmt_of_2().

enum AVPixelFormat avcodec_find_best_pix_fmt_of_2 ( enum AVPixelFormat  dst_pix_fmt1,
enum AVPixelFormat  dst_pix_fmt2,
enum AVPixelFormat  src_pix_fmt,
int  has_alpha,
int *  loss_ptr 
)

Find the best pixel format to convert to given a certain source pixel format and a selection of two destination pixel formats.

When converting from one pixel format to another, information loss may occur. For example, when converting from RGB24 to GRAY, the color information will be lost. Similarly, other losses occur when converting from some formats to other formats. avcodec_find_best_pix_fmt_of_2() selects which of the given pixel formats should be used to suffer the least amount of loss.

If one of the destination formats is AV_PIX_FMT_NONE the other pixel format (if valid) will be returned.

1 src_pix_fmt = AV_PIX_FMT_YUV420P;
2 dst_pix_fmt1= AV_PIX_FMT_RGB24;
3 dst_pix_fmt2= AV_PIX_FMT_GRAY8;
4 dst_pix_fmt3= AV_PIX_FMT_RGB8;
5 loss= FF_LOSS_CHROMA; // don't care about chroma loss, so chroma loss will be ignored.
6 dst_pix_fmt = avcodec_find_best_pix_fmt_of_2(dst_pix_fmt1, dst_pix_fmt2, src_pix_fmt, alpha, &loss);
7 dst_pix_fmt = avcodec_find_best_pix_fmt_of_2(dst_pix_fmt, dst_pix_fmt3, src_pix_fmt, alpha, &loss);
Parameters
[in]dst_pix_fmt1One of the two destination pixel formats to choose from
[in]dst_pix_fmt2The other of the two destination pixel formats to choose from
[in]src_pix_fmtSource pixel format
[in]has_alphaWhether the source pixel format alpha channel is used.
[in,out]loss_ptrCombination of loss flags. In: selects which of the losses to ignore, i.e. NULL or value of zero means we care about all losses. Out: the loss that occurs when converting from src to selected dst pixel format.
Returns
The best pixel format to convert to or -1 if none was found.

Definition at line 218 of file imgconvert.c.

Referenced by avcodec_find_best_pix_fmt2(), avcodec_find_best_pix_fmt_of_list(), choose_pixel_fmt(), and pick_format().

enum AVPixelFormat avcodec_find_best_pix_fmt_of_list ( enum AVPixelFormat pix_fmt_list,
enum AVPixelFormat  src_pix_fmt,
int  has_alpha,
int *  loss_ptr 
)

Find the best pixel format to convert to given a certain source pixel format.

When converting from one pixel format to another, information loss may occur. For example, when converting from RGB24 to GRAY, the color information will be lost. Similarly, other losses occur when converting from some formats to other formats. avcodec_find_best_pix_fmt_of_2() searches which of the given pixel formats should be used to suffer the least amount of loss. The pixel formats from which it chooses one, are determined by the pix_fmt_list parameter.

Parameters
[in]pix_fmt_listAV_PIX_FMT_NONE terminated array of pixel formats to choose from
[in]src_pix_fmtsource pixel format
[in]has_alphaWhether the source pixel format alpha channel is used.
[out]loss_ptrCombination of flags informing you what kind of losses will occur.
Returns
The best pixel format to convert to or -1 if none was found.

Definition at line 264 of file imgconvert.c.

Referenced by avcodec_find_best_pix_fmt_of_2().

void avcodec_get_chroma_sub_sample ( enum AVPixelFormat  pix_fmt,
int *  h_shift,
int *  v_shift 
)

Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor.

This function asserts that pix_fmt is valid. See av_pix_fmt_get_chroma_sub_sample for one that returns a failure code and continues in case of invalid pix_fmts.

Parameters
[in]pix_fmtthe pixel format
[out]h_shiftstore log2_chroma_w
[out]v_shiftstore log2_chroma_h
See also
av_pix_fmt_get_chroma_sub_sample

Definition at line 65 of file imgconvert.c.

Referenced by dirac_decode_data_unit(), encode_frame(), encode_init(), ff_mjpeg_decode_frame(), ff_MPV_common_init(), ff_MPV_encode_init(), ff_print_debug_info2(), j2kenc_init(), parse_source_parameters(), and vp3_decode_init().

int avcodec_get_pix_fmt_loss ( enum AVPixelFormat  dst_pix_fmt,
enum AVPixelFormat  src_pix_fmt,
int  has_alpha 
)

Compute what kind of losses will occur when converting from one specific pixel format to another.

When converting from one pixel format to another, information loss may occur. For example, when converting from RGB24 to GRAY, the color information will be lost. Similarly, other losses occur when converting from some formats to other formats. These losses can involve loss of chroma, but also loss of resolution, loss of color depth, loss due to the color space conversion, loss of the alpha bits or loss due to color quantization. avcodec_get_fix_fmt_loss() informs you about the various types of losses which will occur when converting from one pixel format to another.

Parameters
[in]dst_pix_fmtdestination pixel format
[in]src_pix_fmtsource pixel format
[in]has_alphaWhether the source pixel format alpha channel is used.
Returns
Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt).

Definition at line 207 of file imgconvert.c.

Referenced by avcodec_find_best_pix_fmt_of_2().

unsigned int avcodec_pix_fmt_to_codec_tag ( enum AVPixelFormat  pix_fmt)

Return a value representing the fourCC code associated to the pixel format pix_fmt, or 0 if no associated fourCC code can be found.

Definition at line 199 of file raw.c.

Referenced by avformat_find_stream_info(), raw_init_encoder(), and v4l2_read_header().