Repository URL to install this package:
Version:
7:2.7.1-1ubuntu2 ▾
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FFmpeg: libavutil/pixdesc.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">FFmpeg
 <span id="projectnumber">2.7.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Defines</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">libavutil/pixdesc.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include <inttypes.h></code><br/>
<code>#include "<a class="el" href="attributes_8h_source.html">attributes.h</a>"</code><br/>
<code>#include "<a class="el" href="pixfmt_8h_source.html">pixfmt.h</a>"</code><br/>
</div>
<p><a href="pixdesc_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVComponentDescriptor.html">AVComponentDescriptor</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes of an image. <a href="structAVPixFmtDescriptor.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#ac7c7d0be16fb9b6f05b3e0d463cd037b">AV_PIX_FMT_FLAG_BE</a>   (1 << 0)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Pixel format is big-endian. <a href="#ac7c7d0be16fb9b6f05b3e0d463cd037b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#af30af160970132a3a31c4738629e4495">AV_PIX_FMT_FLAG_PAL</a>   (1 << 1)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Pixel format has a palette in data[1], values are indexes in this palette. <a href="#af30af160970132a3a31c4738629e4495"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a0c6b423a11928d3ec5d2cd3f3b64ee81">AV_PIX_FMT_FLAG_BITSTREAM</a>   (1 << 2)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">All values of a component are bit-wise packed end to end. <a href="#a0c6b423a11928d3ec5d2cd3f3b64ee81"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a76f6211b2404231bd7d206ebf4ae46f6">AV_PIX_FMT_FLAG_HWACCEL</a>   (1 << 3)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Pixel format is an HW accelerated format. <a href="#a76f6211b2404231bd7d206ebf4ae46f6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#ab2dcf0e479980cad6c8477d5a53a3638">AV_PIX_FMT_FLAG_PLANAR</a>   (1 << 4)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">At least one pixel component is not in the first data plane. <a href="#ab2dcf0e479980cad6c8477d5a53a3638"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a4c4e95f659b1e131480c1e98d70c57de">AV_PIX_FMT_FLAG_RGB</a>   (1 << 5)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The pixel format contains RGB-like data (as opposed to YUV/grayscale). <a href="#a4c4e95f659b1e131480c1e98d70c57de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#ac6da04f0acd85424801bedcdd949c97d">AV_PIX_FMT_FLAG_PSEUDOPAL</a>   (1 << 6)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The pixel format is "pseudo-paletted". <a href="#ac6da04f0acd85424801bedcdd949c97d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a06924ef0ebf07d8742ff8994e3a948bf">AV_PIX_FMT_FLAG_ALPHA</a>   (1 << 7)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The pixel format has an alpha channel. <a href="#a06924ef0ebf07d8742ff8994e3a948bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a445e6541dde2408332c216b8d0accb2d">FF_LOSS_RESOLUTION</a>   0x0001</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">loss due to resolution change <a href="#a445e6541dde2408332c216b8d0accb2d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a979c0713dde53e85a56a83c8094f30a9">FF_LOSS_DEPTH</a>   0x0002</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">loss due to color depth change <a href="#a979c0713dde53e85a56a83c8094f30a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a4701dd352b2a194eaed493399ccdca47">FF_LOSS_COLORSPACE</a>   0x0004</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">loss due to color space conversion <a href="#a4701dd352b2a194eaed493399ccdca47"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a5e5683a0c698af4701cc768f2944b6f4">FF_LOSS_ALPHA</a>   0x0008</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">loss of alpha bits <a href="#a5e5683a0c698af4701cc768f2944b6f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#ae4dedba75cbb41704ce6794f966f10a6">FF_LOSS_COLORQUANT</a>   0x0010</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">loss due to color quantization <a href="#ae4dedba75cbb41704ce6794f966f10a6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a769162ddb5b87080ab7a39291837f832">FF_LOSS_CHROMA</a>   0x0020</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">loss of chroma (e.g. <a href="#a769162ddb5b87080ab7a39291837f832"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a8f9e6735f65eec892931823f55280bd3">av_read_image_line</a> (uint16_t *dst, const uint8_t *data[4], const int linesize[4], const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> *desc, int x, int y, int c, int w, int read_pal_component)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Read a line from an image, and write the values of the pixel format component c to dst. <a href="#a8f9e6735f65eec892931823f55280bd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a899e2c005100bb2169096bb672e46310">av_write_image_line</a> (const uint16_t *src, uint8_t *data[4], const int linesize[4], const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> *desc, int x, int y, int c, int w)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Write the values from src to the pixel format component c of an image line. <a href="#a899e2c005100bb2169096bb672e46310"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a925ef18d69c24c3be8c53d5a7dc0660e">av_get_pix_fmt</a> (const char *name)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the pixel format corresponding to name. <a href="#a925ef18d69c24c3be8c53d5a7dc0660e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#ab92e2a8a9b58c982560c49df9f01e47e">av_get_pix_fmt_name</a> (enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="demuxing__decoding_8c.html#a7331e302ea7bb48e0b605a069576e135">pix_fmt</a>)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the short name for a pixel format, NULL in case pix_fmt is unknown. <a href="#ab92e2a8a9b58c982560c49df9f01e47e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a2fe7fead602bb1e47832abb978d6ceac">av_get_pix_fmt_string</a> (char *buf, int buf_size, enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="demuxing__decoding_8c.html#a7331e302ea7bb48e0b605a069576e135">pix_fmt</a>)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Print in buf the string corresponding to the pixel format with number pix_fmt, or a header if pix_fmt is negative. <a href="#a2fe7fead602bb1e47832abb978d6ceac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a7b24a65f6bf07585396da3bd301799b2">av_get_bits_per_pixel</a> (const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> *pixdesc)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of bits per pixel used by the pixel format described by pixdesc. <a href="#a7b24a65f6bf07585396da3bd301799b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a89cf35c5ef18c9e996c7784e1a893b9e">av_get_padded_bits_per_pixel</a> (const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> *pixdesc)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Return the number of bits per pixel for the pixel format described by pixdesc, including any padding or unused bits. <a href="#a89cf35c5ef18c9e996c7784e1a893b9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#afe0c3e8aef5173de28bbdaea4298f5f0">av_pix_fmt_desc_get</a> (enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="demuxing__decoding_8c.html#a7331e302ea7bb48e0b605a069576e135">pix_fmt</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a110de37b82f3a2602d5c6a3e4babc7a8">av_pix_fmt_desc_next</a> (const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> *prev)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Iterate over all pixel format descriptors known to libavutil. <a href="#a110de37b82f3a2602d5c6a3e4babc7a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a01dfb93fb0e28e789922e9199a4fdb14">av_pix_fmt_desc_get_id</a> (const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> *desc)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a76e011cf53b51ea14a002a206f6ca05d">av_pix_fmt_get_chroma_sub_sample</a> (enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="demuxing__decoding_8c.html#a7331e302ea7bb48e0b605a069576e135">pix_fmt</a>, int *h_shift, int *v_shift)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility function to access log2_chroma_w log2_chroma_h from the pixel format <a class="el" href="structAVPixFmtDescriptor.html" title="Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...">AVPixFmtDescriptor</a>. <a href="#a76e011cf53b51ea14a002a206f6ca05d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a118df1d607abd7484f874b3d7ea8823a">av_pix_fmt_count_planes</a> (enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="demuxing__decoding_8c.html#a7331e302ea7bb48e0b605a069576e135">pix_fmt</a>)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#ac2e098ff3b5373af99be8ea954c4f72e">av_pix_fmt_swap_endianness</a> (enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="demuxing__decoding_8c.html#a7331e302ea7bb48e0b605a069576e135">pix_fmt</a>)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Utility function to swap the endianness of a pixel format. <a href="#ac2e098ff3b5373af99be8ea954c4f72e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a69ba6ef97543b19a15236a513e56dffe">av_get_pix_fmt_loss</a> (enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> dst_pix_fmt, enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> src_pix_fmt, int has_alpha)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute what kind of losses will occur when converting from one specific pixel format to another. <a href="#a69ba6ef97543b19a15236a513e56dffe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a875f1e7a15d882d4cd9d38dde093939b">av_find_best_pix_fmt_of_2</a> (enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> dst_pix_fmt1, enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> dst_pix_fmt2, enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> src_pix_fmt, int has_alpha, int *loss_ptr)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Compute what kind of losses will occur when converting from one specific pixel format to another. <a href="#a875f1e7a15d882d4cd9d38dde093939b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a590decf389632dd3af095f3096a92caf">av_color_range_name</a> (enum <a class="el" href="pixfmt_8h.html#a3da0bf691418bc22c4bcbe6583ad589a">AVColorRange</a> range)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a811dbb6cf48bbcd66a1243bdd6d89909">av_color_primaries_name</a> (enum <a class="el" href="pixfmt_8h.html#ad384ee5a840bafd73daef08e6d9cafe7">AVColorPrimaries</a> primaries)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a2ebc788f298dc96bc647ebcdeeb5d0b2">av_color_transfer_name</a> (enum <a class="el" href="pixfmt_8h.html#ad4791ea14975f098b649db7fcd731ce6">AVColorTransferCharacteristic</a> transfer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a7a5b3f4d128f0a0112b4a91f75055339">av_color_space_name</a> (enum <a class="el" href="pixfmt_8h.html#aff71a069509a1ad3ff54d53a1c894c85">AVColorSpace</a> space)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="pixdesc_8h.html#a3b2ac1ac88c1fe89c049057c150b437a">av_chroma_location_name</a> (enum <a class="el" href="pixfmt_8h.html#a1f86ed1b6a420faccacf77c98db6c1ff">AVChromaLocation</a> location)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ac7c7d0be16fb9b6f05b3e0d463cd037b"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_BE" ref="ac7c7d0be16fb9b6f05b3e0d463cd037b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#ac7c7d0be16fb9b6f05b3e0d463cd037b">AV_PIX_FMT_FLAG_BE</a>   (1 << 0)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pixel format is big-endian. </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00111">111</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="af30af160970132a3a31c4738629e4495"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_PAL" ref="af30af160970132a3a31c4738629e4495" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#af30af160970132a3a31c4738629e4495">AV_PIX_FMT_FLAG_PAL</a>   (1 << 1)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pixel format has a palette in data[1], values are indexes in this palette. </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00115">115</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a0c6b423a11928d3ec5d2cd3f3b64ee81"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_BITSTREAM" ref="a0c6b423a11928d3ec5d2cd3f3b64ee81" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a0c6b423a11928d3ec5d2cd3f3b64ee81">AV_PIX_FMT_FLAG_BITSTREAM</a>   (1 << 2)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>All values of a component are bit-wise packed end to end. </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00119">119</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a76f6211b2404231bd7d206ebf4ae46f6"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_HWACCEL" ref="a76f6211b2404231bd7d206ebf4ae46f6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a76f6211b2404231bd7d206ebf4ae46f6">AV_PIX_FMT_FLAG_HWACCEL</a>   (1 << 3)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pixel format is an HW accelerated format. </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00123">123</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="ab2dcf0e479980cad6c8477d5a53a3638"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_PLANAR" ref="ab2dcf0e479980cad6c8477d5a53a3638" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#ab2dcf0e479980cad6c8477d5a53a3638">AV_PIX_FMT_FLAG_PLANAR</a>   (1 << 4)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>At least one pixel component is not in the first data plane. </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00127">127</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4c4e95f659b1e131480c1e98d70c57de"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_RGB" ref="a4c4e95f659b1e131480c1e98d70c57de" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a4c4e95f659b1e131480c1e98d70c57de">AV_PIX_FMT_FLAG_RGB</a>   (1 << 5)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The pixel format contains RGB-like data (as opposed to YUV/grayscale). </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00131">131</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac6da04f0acd85424801bedcdd949c97d"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_PSEUDOPAL" ref="ac6da04f0acd85424801bedcdd949c97d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#ac6da04f0acd85424801bedcdd949c97d">AV_PIX_FMT_FLAG_PSEUDOPAL</a>   (1 << 6)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The pixel format is "pseudo-paletted". </p>
<p>This means that it contains a fixed palette in the 2nd plane but the palette is fixed/constant for each PIX_FMT. This allows interpreting the data as if it was PAL8, which can in some cases be simpler. Or the data can be interpreted purely based on the pixel format without using the palette. An example of a pseudo-paletted format is AV_PIX_FMT_GRAY8 </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00141">141</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a06924ef0ebf07d8742ff8994e3a948bf"></a><!-- doxytag: member="pixdesc.h::AV_PIX_FMT_FLAG_ALPHA" ref="a06924ef0ebf07d8742ff8994e3a948bf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a06924ef0ebf07d8742ff8994e3a948bf">AV_PIX_FMT_FLAG_ALPHA</a>   (1 << 7)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The pixel format has an alpha channel. </p>
<p>This is set on all formats that support alpha in some way. The exception is AV_PIX_FMT_PAL8, which can carry alpha as part of the palette. Details are explained in the AVPixelFormat enum, and are also encoded in the corresponding <a class="el" href="structAVPixFmtDescriptor.html" title="Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...">AVPixFmtDescriptor</a>.</p>
<p>The alpha is always straight, never pre-multiplied.</p>
<p>If a codec or a filter does not support alpha, it should set all alpha to opaque, or use the equivalent pixel formats without alpha component, e.g. AV_PIX_FMT_RGB0 (or AV_PIX_FMT_RGB24 etc.) instead of AV_PIX_FMT_RGBA. </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00156">156</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a445e6541dde2408332c216b8d0accb2d"></a><!-- doxytag: member="pixdesc.h::FF_LOSS_RESOLUTION" ref="a445e6541dde2408332c216b8d0accb2d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a445e6541dde2408332c216b8d0accb2d">FF_LOSS_RESOLUTION</a>   0x0001</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>loss due to resolution change </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00323">323</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a979c0713dde53e85a56a83c8094f30a9"></a><!-- doxytag: member="pixdesc.h::FF_LOSS_DEPTH" ref="a979c0713dde53e85a56a83c8094f30a9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a979c0713dde53e85a56a83c8094f30a9">FF_LOSS_DEPTH</a>   0x0002</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>loss due to color depth change </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00324">324</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4701dd352b2a194eaed493399ccdca47"></a><!-- doxytag: member="pixdesc.h::FF_LOSS_COLORSPACE" ref="a4701dd352b2a194eaed493399ccdca47" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a4701dd352b2a194eaed493399ccdca47">FF_LOSS_COLORSPACE</a>   0x0004</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>loss due to color space conversion </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00325">325</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a5e5683a0c698af4701cc768f2944b6f4"></a><!-- doxytag: member="pixdesc.h::FF_LOSS_ALPHA" ref="a5e5683a0c698af4701cc768f2944b6f4" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a5e5683a0c698af4701cc768f2944b6f4">FF_LOSS_ALPHA</a>   0x0008</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>loss of alpha bits </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00326">326</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="ae4dedba75cbb41704ce6794f966f10a6"></a><!-- doxytag: member="pixdesc.h::FF_LOSS_COLORQUANT" ref="ae4dedba75cbb41704ce6794f966f10a6" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#ae4dedba75cbb41704ce6794f966f10a6">FF_LOSS_COLORQUANT</a>   0x0010</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>loss due to color quantization </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00327">327</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<a class="anchor" id="a769162ddb5b87080ab7a39291837f832"></a><!-- doxytag: member="pixdesc.h::FF_LOSS_CHROMA" ref="a769162ddb5b87080ab7a39291837f832" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="pixdesc_8h.html#a769162ddb5b87080ab7a39291837f832">FF_LOSS_CHROMA</a>   0x0020</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>loss of chroma (e.g. </p>
<p>RGB to gray conversion) </p>
<p>Definition at line <a class="el" href="pixdesc_8h_source.html#l00328">328</a> of file <a class="el" href="pixdesc_8h_source.html">pixdesc.h</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a8f9e6735f65eec892931823f55280bd3"></a><!-- doxytag: member="pixdesc.h::av_read_image_line" ref="a8f9e6735f65eec892931823f55280bd3" args="(uint16_t *dst, const uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="pixdesc_8h.html#a8f9e6735f65eec892931823f55280bd3">av_read_image_line</a> </td>
<td>(</td>
<td class="paramtype">uint16_t * </td>
<td class="paramname"><em>dst</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t * </td>
<td class="paramname"><em>data</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int </td>
<td class="paramname"><em>linesize</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td>
<td class="paramname"><em>desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>w</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>read_pal_component</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Read a line from an image, and write the values of the pixel format component c to dst. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>the array containing the pointers to the planes of the image </td></tr>
<tr><td class="paramname">linesize</td><td>the array containing the linesizes of the image </td></tr>
<tr><td class="paramname">desc</td><td>the pixel format descriptor for the image </td></tr>
<tr><td class="paramname">x</td><td>the horizontal coordinate of the first pixel to read </td></tr>
<tr><td class="paramname">y</td><td>the vertical coordinate of the first pixel to read </td></tr>
<tr><td class="paramname">w</td><td>the width of the line to read, that is the number of values to write to dst </td></tr>
<tr><td class="paramname">read_pal_component</td><td>if not zero and the format is a paletted format writes the values corresponding to the palette component c in data[1] to dst, rather than the palette indexes in data[0]. The behavior is undefined if the format is not paletted. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a899e2c005100bb2169096bb672e46310"></a><!-- doxytag: member="pixdesc.h::av_write_image_line" ref="a899e2c005100bb2169096bb672e46310" args="(const uint16_t *src, uint8_t *data[4], const int linesize[4], const AVPixFmtDescriptor *desc, int x, int y, int c, int w)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="pixdesc_8h.html#a899e2c005100bb2169096bb672e46310">av_write_image_line</a> </td>
<td>(</td>
<td class="paramtype">const uint16_t * </td>
<td class="paramname"><em>src</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t * </td>
<td class="paramname"><em>data</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int </td>
<td class="paramname"><em>linesize</em>[4], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td>
<td class="paramname"><em>desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>w</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Write the values from src to the pixel format component c of an image line. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">src</td><td>array containing the values to write </td></tr>
<tr><td class="paramname">data</td><td>the array containing the pointers to the planes of the image to write into. It is supposed to be zeroed. </td></tr>
<tr><td class="paramname">linesize</td><td>the array containing the linesizes of the image </td></tr>
<tr><td class="paramname">desc</td><td>the pixel format descriptor for the image </td></tr>
<tr><td class="paramname">x</td><td>the horizontal coordinate of the first pixel to write </td></tr>
<tr><td class="paramname">y</td><td>the vertical coordinate of the first pixel to write </td></tr>
<tr><td class="paramname">w</td><td>the width of the line to write, that is the number of values to write to the image line </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a925ef18d69c24c3be8c53d5a7dc0660e"></a><!-- doxytag: member="pixdesc.h::av_get_pix_fmt" ref="a925ef18d69c24c3be8c53d5a7dc0660e" args="(const char *name)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="pixdesc_8h.html#a925ef18d69c24c3be8c53d5a7dc0660e">av_get_pix_fmt</a> </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the pixel format corresponding to name. </p>
<p>If there is no pixel format with name name, then looks for a pixel format with the name corresponding to the native endian format of name. For example in a little-endian system, first looks for "gray16", then for "gray16le".</p>
<p>Finally if no pixel format has been found, returns AV_PIX_FMT_NONE. </p>
</div>
</div>
<a class="anchor" id="ab92e2a8a9b58c982560c49df9f01e47e"></a><!-- doxytag: member="pixdesc.h::av_get_pix_fmt_name" ref="ab92e2a8a9b58c982560c49df9f01e47e" args="(enum AVPixelFormat pix_fmt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="pixdesc_8h.html#ab92e2a8a9b58c982560c49df9f01e47e">av_get_pix_fmt_name</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>pix_fmt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the short name for a pixel format, NULL in case pix_fmt is unknown. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="pixdesc_8h.html#a925ef18d69c24c3be8c53d5a7dc0660e" title="Return the pixel format corresponding to name.">av_get_pix_fmt()</a>, <a class="el" href="pixdesc_8h.html#a2fe7fead602bb1e47832abb978d6ceac" title="Print in buf the string corresponding to the pixel format with number pix_fmt, or a header if pix_fmt...">av_get_pix_fmt_string()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="demuxing_decoding_8c-example.html#a39">demuxing_decoding.c</a>, and <a class="el" href="scaling_video_8c-example.html#a9">scaling_video.c</a>.</dd>
</dl>
<p>Referenced by <a class="el" href="demuxing__decoding_8c_source.html#l00070">decode_packet()</a>, and <a class="el" href="demuxing__decoding_8c_source.html#l00226">main()</a>.</p>
</div>
</div>
<a class="anchor" id="a2fe7fead602bb1e47832abb978d6ceac"></a><!-- doxytag: member="pixdesc.h::av_get_pix_fmt_string" ref="a2fe7fead602bb1e47832abb978d6ceac" args="(char *buf, int buf_size, enum AVPixelFormat pix_fmt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="pixdesc_8h.html#a2fe7fead602bb1e47832abb978d6ceac">av_get_pix_fmt_string</a> </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>buf_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>pix_fmt</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Print in buf the string corresponding to the pixel format with number pix_fmt, or a header if pix_fmt is negative. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">buf</td><td>the buffer where to write the string </td></tr>
<tr><td class="paramname">buf_size</td><td>the size of buf </td></tr>
<tr><td class="paramname">pix_fmt</td><td>the number of the pixel format to print the corresponding info string, or a negative value to print the corresponding header. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a7b24a65f6bf07585396da3bd301799b2"></a><!-- doxytag: member="pixdesc.h::av_get_bits_per_pixel" ref="a7b24a65f6bf07585396da3bd301799b2" args="(const AVPixFmtDescriptor *pixdesc)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="pixdesc_8h.html#a7b24a65f6bf07585396da3bd301799b2">av_get_bits_per_pixel</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td>
<td class="paramname"><em>pixdesc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the number of bits per pixel used by the pixel format described by pixdesc. </p>
<p>Note that this is not the same as the number of bits per sample.</p>
<p>The returned number of bits refers to the number of bits actually used for storing the pixel information, that is padding bits are not counted. </p>
</div>
</div>
<a class="anchor" id="a89cf35c5ef18c9e996c7784e1a893b9e"></a><!-- doxytag: member="pixdesc.h::av_get_padded_bits_per_pixel" ref="a89cf35c5ef18c9e996c7784e1a893b9e" args="(const AVPixFmtDescriptor *pixdesc)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="pixdesc_8h.html#a89cf35c5ef18c9e996c7784e1a893b9e">av_get_padded_bits_per_pixel</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td>
<td class="paramname"><em>pixdesc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Return the number of bits per pixel for the pixel format described by pixdesc, including any padding or unused bits. </p>
</div>
</div>
<a class="anchor" id="afe0c3e8aef5173de28bbdaea4298f5f0"></a><!-- doxytag: member="pixdesc.h::av_pix_fmt_desc_get" ref="afe0c3e8aef5173de28bbdaea4298f5f0" args="(enum AVPixelFormat pix_fmt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a>* <a class="el" href="pixdesc_8h.html#afe0c3e8aef5173de28bbdaea4298f5f0">av_pix_fmt_desc_get</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>pix_fmt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>a pixel format descriptor for provided pixel format or NULL if this pixel format is unknown. </dd></dl>
</div>
</div>
<a class="anchor" id="a110de37b82f3a2602d5c6a3e4babc7a8"></a><!-- doxytag: member="pixdesc.h::av_pix_fmt_desc_next" ref="a110de37b82f3a2602d5c6a3e4babc7a8" args="(const AVPixFmtDescriptor *prev)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a>* <a class="el" href="pixdesc_8h.html#a110de37b82f3a2602d5c6a3e4babc7a8">av_pix_fmt_desc_next</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td>
<td class="paramname"><em>prev</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Iterate over all pixel format descriptors known to libavutil. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">prev</td><td>previous descriptor. NULL to get the first descriptor.</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>next descriptor or NULL after the last descriptor </dd></dl>
</div>
</div>
<a class="anchor" id="a01dfb93fb0e28e789922e9199a4fdb14"></a><!-- doxytag: member="pixdesc.h::av_pix_fmt_desc_get_id" ref="a01dfb93fb0e28e789922e9199a4fdb14" args="(const AVPixFmtDescriptor *desc)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="pixdesc_8h.html#a01dfb93fb0e28e789922e9199a4fdb14">av_pix_fmt_desc_get_id</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structAVPixFmtDescriptor.html">AVPixFmtDescriptor</a> * </td>
<td class="paramname"><em>desc</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>an AVPixelFormat id described by desc, or AV_PIX_FMT_NONE if desc is not a valid pointer to a pixel format descriptor. </dd></dl>
</div>
</div>
<a class="anchor" id="a76e011cf53b51ea14a002a206f6ca05d"></a><!-- doxytag: member="pixdesc.h::av_pix_fmt_get_chroma_sub_sample" ref="a76e011cf53b51ea14a002a206f6ca05d" args="(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="pixdesc_8h.html#a76e011cf53b51ea14a002a206f6ca05d">av_pix_fmt_get_chroma_sub_sample</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>pix_fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int * </td>
<td class="paramname"><em>h_shift</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int * </td>
<td class="paramname"><em>v_shift</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Utility function to access log2_chroma_w log2_chroma_h from the pixel format <a class="el" href="structAVPixFmtDescriptor.html" title="Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...">AVPixFmtDescriptor</a>. </p>
<p>See av_get_chroma_sub_sample() for a function that asserts a valid pixel format instead of returning an error code. Its recommended that you use avcodec_get_chroma_sub_sample unless you do check the return code!</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pix_fmt</td><td>the pixel format </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">h_shift</td><td>store log2_chroma_w </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">v_shift</td><td>store log2_chroma_h</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, <a class="el" href="group__lavu__error.html#gae4bb6f165973d09584e0ec0f335f69ca">AVERROR(ENOSYS)</a> on invalid or unknown pixel format </dd></dl>
</div>
</div>
<a class="anchor" id="a118df1d607abd7484f874b3d7ea8823a"></a><!-- doxytag: member="pixdesc.h::av_pix_fmt_count_planes" ref="a118df1d607abd7484f874b3d7ea8823a" args="(enum AVPixelFormat pix_fmt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="pixdesc_8h.html#a118df1d607abd7484f874b3d7ea8823a">av_pix_fmt_count_planes</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>pix_fmt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>number of planes in pix_fmt, a negative AVERROR if pix_fmt is not a valid pixel format. </dd></dl>
</div>
</div>
<a class="anchor" id="ac2e098ff3b5373af99be8ea954c4f72e"></a><!-- doxytag: member="pixdesc.h::av_pix_fmt_swap_endianness" ref="ac2e098ff3b5373af99be8ea954c4f72e" args="(enum AVPixelFormat pix_fmt)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="pixdesc_8h.html#ac2e098ff3b5373af99be8ea954c4f72e">av_pix_fmt_swap_endianness</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>pix_fmt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Utility function to swap the endianness of a pixel format. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pix_fmt</td><td>the pixel format</td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pixel format with swapped endianness if it exists, otherwise AV_PIX_FMT_NONE </dd></dl>
</div>
</div>
<a class="anchor" id="a69ba6ef97543b19a15236a513e56dffe"></a><!-- doxytag: member="pixdesc.h::av_get_pix_fmt_loss" ref="a69ba6ef97543b19a15236a513e56dffe" args="(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="pixdesc_8h.html#a69ba6ef97543b19a15236a513e56dffe">av_get_pix_fmt_loss</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>dst_pix_fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>src_pix_fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>has_alpha</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compute what kind of losses will occur when converting from one specific pixel format to another. </p>
<p>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. av_get_fix_fmt_loss() informs you about the various types of losses which will occur when converting from one pixel format to another.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dst_pix_fmt</td><td>destination pixel format </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src_pix_fmt</td><td>source pixel format </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">has_alpha</td><td>Whether the source pixel format alpha channel is used. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt). </dd></dl>
</div>
</div>
<a class="anchor" id="a875f1e7a15d882d4cd9d38dde093939b"></a><!-- doxytag: member="pixdesc.h::av_find_best_pix_fmt_of_2" ref="a875f1e7a15d882d4cd9d38dde093939b" args="(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> <a class="el" href="pixdesc_8h.html#a875f1e7a15d882d4cd9d38dde093939b">av_find_best_pix_fmt_of_2</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>dst_pix_fmt1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>dst_pix_fmt2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a9a8e335cf3be472042bc9f0cf80cd4c5">AVPixelFormat</a> </td>
<td class="paramname"><em>src_pix_fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>has_alpha</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int * </td>
<td class="paramname"><em>loss_ptr</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Compute what kind of losses will occur when converting from one specific pixel format to another. </p>
<p>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. av_get_fix_fmt_loss() informs you about the various types of losses which will occur when converting from one pixel format to another.</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dst_pix_fmt</td><td>destination pixel format </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">src_pix_fmt</td><td>source pixel format </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">has_alpha</td><td>Whether the source pixel format alpha channel is used. </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Combination of flags informing you what kind of losses will occur (maximum loss for an invalid dst_pix_fmt). </dd></dl>
</div>
</div>
<a class="anchor" id="a590decf389632dd3af095f3096a92caf"></a><!-- doxytag: member="pixdesc.h::av_color_range_name" ref="a590decf389632dd3af095f3096a92caf" args="(enum AVColorRange range)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="pixdesc_8h.html#a590decf389632dd3af095f3096a92caf">av_color_range_name</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a3da0bf691418bc22c4bcbe6583ad589a">AVColorRange</a> </td>
<td class="paramname"><em>range</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the name for provided color range or NULL if unknown. </dd></dl>
</div>
</div>
<a class="anchor" id="a811dbb6cf48bbcd66a1243bdd6d89909"></a><!-- doxytag: member="pixdesc.h::av_color_primaries_name" ref="a811dbb6cf48bbcd66a1243bdd6d89909" args="(enum AVColorPrimaries primaries)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="pixdesc_8h.html#a811dbb6cf48bbcd66a1243bdd6d89909">av_color_primaries_name</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#ad384ee5a840bafd73daef08e6d9cafe7">AVColorPrimaries</a> </td>
<td class="paramname"><em>primaries</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the name for provided color primaries or NULL if unknown. </dd></dl>
</div>
</div>
<a class="anchor" id="a2ebc788f298dc96bc647ebcdeeb5d0b2"></a><!-- doxytag: member="pixdesc.h::av_color_transfer_name" ref="a2ebc788f298dc96bc647ebcdeeb5d0b2" args="(enum AVColorTransferCharacteristic transfer)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="pixdesc_8h.html#a2ebc788f298dc96bc647ebcdeeb5d0b2">av_color_transfer_name</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#ad4791ea14975f098b649db7fcd731ce6">AVColorTransferCharacteristic</a> </td>
<td class="paramname"><em>transfer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the name for provided color transfer or NULL if unknown. </dd></dl>
</div>
</div>
<a class="anchor" id="a7a5b3f4d128f0a0112b4a91f75055339"></a><!-- doxytag: member="pixdesc.h::av_color_space_name" ref="a7a5b3f4d128f0a0112b4a91f75055339" args="(enum AVColorSpace space)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="pixdesc_8h.html#a7a5b3f4d128f0a0112b4a91f75055339">av_color_space_name</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#aff71a069509a1ad3ff54d53a1c894c85">AVColorSpace</a> </td>
<td class="paramname"><em>space</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the name for provided color space or NULL if unknown. </dd></dl>
</div>
</div>
<a class="anchor" id="a3b2ac1ac88c1fe89c049057c150b437a"></a><!-- doxytag: member="pixdesc.h::av_chroma_location_name" ref="a3b2ac1ac88c1fe89c049057c150b437a" args="(enum AVChromaLocation location)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="pixdesc_8h.html#a3b2ac1ac88c1fe89c049057c150b437a">av_chroma_location_name</a> </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="pixfmt_8h.html#a1f86ed1b6a420faccacf77c98db6c1ff">AVChromaLocation</a> </td>
<td class="paramname"><em>location</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the name for provided chroma location or NULL if unknown. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>