\section{theora\-\_\-info Struct Reference}
\label{structtheora__info}\index{theora\-\_\-info@{theora\-\_\-info}}


Theora bitstream info.  




{\ttfamily \#include $<$theora.\-h$>$}

\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
ogg\-\_\-uint32\-\_\-t {\bf width}
\begin{DoxyCompactList}\small\item\em encoded frame width \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf height}
\begin{DoxyCompactList}\small\item\em encoded frame height \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf frame\-\_\-width}
\begin{DoxyCompactList}\small\item\em display frame width \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf frame\-\_\-height}
\begin{DoxyCompactList}\small\item\em display frame height \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf offset\-\_\-x}
\begin{DoxyCompactList}\small\item\em horizontal offset of the displayed frame \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf offset\-\_\-y}
\begin{DoxyCompactList}\small\item\em vertical offset of the displayed frame \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf fps\-\_\-numerator}
\begin{DoxyCompactList}\small\item\em frame rate numerator \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf fps\-\_\-denominator}
\begin{DoxyCompactList}\small\item\em frame rate denominator \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf aspect\-\_\-numerator}
\begin{DoxyCompactList}\small\item\em pixel aspect ratio numerator \end{DoxyCompactList}\item 
ogg\-\_\-uint32\-\_\-t {\bf aspect\-\_\-denominator}
\begin{DoxyCompactList}\small\item\em pixel aspect ratio denominator \end{DoxyCompactList}\item 
{\bf theora\-\_\-colorspace} {\bf colorspace}
\begin{DoxyCompactList}\small\item\em colorspace \end{DoxyCompactList}\item 
int {\bf target\-\_\-bitrate}
\begin{DoxyCompactList}\small\item\em nominal bitrate in bits per second \end{DoxyCompactList}\item 
int {\bf quality}
\begin{DoxyCompactList}\small\item\em Nominal quality setting, 0-\/63. \end{DoxyCompactList}\item 
int {\bf quick\-\_\-p}
\begin{DoxyCompactList}\small\item\em Quick encode/decode. \end{DoxyCompactList}\item 
unsigned char {\bf version\-\_\-major}
\item 
unsigned char {\bf version\-\_\-minor}
\item 
unsigned char {\bf version\-\_\-subminor}
\item 
void $\ast$ {\bf codec\-\_\-setup}
\item 
int {\bf dropframes\-\_\-p}
\item 
int {\bf keyframe\-\_\-auto\-\_\-p}
\item 
ogg\-\_\-uint32\-\_\-t {\bf keyframe\-\_\-frequency}
\item 
ogg\-\_\-uint32\-\_\-t {\bf keyframe\-\_\-frequency\-\_\-force}
\item 
ogg\-\_\-uint32\-\_\-t {\bf keyframe\-\_\-data\-\_\-target\-\_\-bitrate}
\item 
ogg\-\_\-int32\-\_\-t {\bf keyframe\-\_\-auto\-\_\-threshold}
\item 
ogg\-\_\-uint32\-\_\-t {\bf keyframe\-\_\-mindistance}
\item 
ogg\-\_\-int32\-\_\-t {\bf noise\-\_\-sensitivity}
\item 
ogg\-\_\-int32\-\_\-t {\bf sharpness}
\item 
{\bf theora\-\_\-pixelformat} {\bf pixelformat}
\begin{DoxyCompactList}\small\item\em chroma subsampling mode to expect \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Theora bitstream info. 

Contains the basic playback parameters for a stream, corresponding to the initial 'info' header packet.

Encoded theora frames must be a multiple of 16 in width and height. To handle other frame sizes, a crop rectangle is specified in frame\-\_\-height and frame\-\_\-width, offset\-\_\-x and $\ast$ offset\-\_\-y. The offset and size should still be a multiple of 2 to avoid chroma sampling shifts. Offset values in this structure are measured from the upper left of the image.

Frame rate, in frames per second, is stored as a rational fraction. Aspect ratio is also stored as a rational fraction, and refers to the aspect ratio of the frame pixels, not of the overall frame itself.

See {\tt examples/encoder\-\_\-example.\-c} for usage examples of the other paramters and good default settings for the encoder parameters. 

\subsection{Field Documentation}
\index{theora\-\_\-info@{theora\-\_\-info}!aspect\-\_\-denominator@{aspect\-\_\-denominator}}
\index{aspect\-\_\-denominator@{aspect\-\_\-denominator}!theora_info@{theora\-\_\-info}}
\subsubsection[{aspect\-\_\-denominator}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::aspect\-\_\-denominator}\label{structtheora__info_afebc4d0cbfb34b68c833a8c79e83ae12}


pixel aspect ratio denominator 

\index{theora\-\_\-info@{theora\-\_\-info}!aspect\-\_\-numerator@{aspect\-\_\-numerator}}
\index{aspect\-\_\-numerator@{aspect\-\_\-numerator}!theora_info@{theora\-\_\-info}}
\subsubsection[{aspect\-\_\-numerator}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::aspect\-\_\-numerator}\label{structtheora__info_a5a3ed8c79815fba1aa06c3f7d8e48b35}


pixel aspect ratio numerator 

\index{theora\-\_\-info@{theora\-\_\-info}!codec\-\_\-setup@{codec\-\_\-setup}}
\index{codec\-\_\-setup@{codec\-\_\-setup}!theora_info@{theora\-\_\-info}}
\subsubsection[{codec\-\_\-setup}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ theora\-\_\-info\-::codec\-\_\-setup}\label{structtheora__info_a719a1d77a4a3bfeab79aa5747dbbb04c}
\index{theora\-\_\-info@{theora\-\_\-info}!colorspace@{colorspace}}
\index{colorspace@{colorspace}!theora_info@{theora\-\_\-info}}
\subsubsection[{colorspace}]{\setlength{\rightskip}{0pt plus 5cm}{\bf theora\-\_\-colorspace} theora\-\_\-info\-::colorspace}\label{structtheora__info_a5eaba99c96706d47b426ab7b7602dc5d}


colorspace 

\index{theora\-\_\-info@{theora\-\_\-info}!dropframes\-\_\-p@{dropframes\-\_\-p}}
\index{dropframes\-\_\-p@{dropframes\-\_\-p}!theora_info@{theora\-\_\-info}}
\subsubsection[{dropframes\-\_\-p}]{\setlength{\rightskip}{0pt plus 5cm}int theora\-\_\-info\-::dropframes\-\_\-p}\label{structtheora__info_af294db65a8363a0bcf43f4727763b291}
\index{theora\-\_\-info@{theora\-\_\-info}!fps\-\_\-denominator@{fps\-\_\-denominator}}
\index{fps\-\_\-denominator@{fps\-\_\-denominator}!theora_info@{theora\-\_\-info}}
\subsubsection[{fps\-\_\-denominator}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::fps\-\_\-denominator}\label{structtheora__info_a9aa7e826e0323a4ae8cd8646a6cfbfea}


frame rate denominator 

\index{theora\-\_\-info@{theora\-\_\-info}!fps\-\_\-numerator@{fps\-\_\-numerator}}
\index{fps\-\_\-numerator@{fps\-\_\-numerator}!theora_info@{theora\-\_\-info}}
\subsubsection[{fps\-\_\-numerator}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::fps\-\_\-numerator}\label{structtheora__info_a3478199aa5ab213816c1819f70085ad7}


frame rate numerator 

\index{theora\-\_\-info@{theora\-\_\-info}!frame\-\_\-height@{frame\-\_\-height}}
\index{frame\-\_\-height@{frame\-\_\-height}!theora_info@{theora\-\_\-info}}
\subsubsection[{frame\-\_\-height}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::frame\-\_\-height}\label{structtheora__info_a287e4c194f1d2e6deb39d59f1748ea48}


display frame height 

\index{theora\-\_\-info@{theora\-\_\-info}!frame\-\_\-width@{frame\-\_\-width}}
\index{frame\-\_\-width@{frame\-\_\-width}!theora_info@{theora\-\_\-info}}
\subsubsection[{frame\-\_\-width}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::frame\-\_\-width}\label{structtheora__info_a8f28f4018a25634d40e4ae861fbbccfa}


display frame width 

\index{theora\-\_\-info@{theora\-\_\-info}!height@{height}}
\index{height@{height}!theora_info@{theora\-\_\-info}}
\subsubsection[{height}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::height}\label{structtheora__info_ae6f0274fc4a7f285c422d91abb35f9c6}


encoded frame height 

\index{theora\-\_\-info@{theora\-\_\-info}!keyframe\-\_\-auto\-\_\-p@{keyframe\-\_\-auto\-\_\-p}}
\index{keyframe\-\_\-auto\-\_\-p@{keyframe\-\_\-auto\-\_\-p}!theora_info@{theora\-\_\-info}}
\subsubsection[{keyframe\-\_\-auto\-\_\-p}]{\setlength{\rightskip}{0pt plus 5cm}int theora\-\_\-info\-::keyframe\-\_\-auto\-\_\-p}\label{structtheora__info_a23648173369174f687085c0ce85ef30e}
\index{theora\-\_\-info@{theora\-\_\-info}!keyframe\-\_\-auto\-\_\-threshold@{keyframe\-\_\-auto\-\_\-threshold}}
\index{keyframe\-\_\-auto\-\_\-threshold@{keyframe\-\_\-auto\-\_\-threshold}!theora_info@{theora\-\_\-info}}
\subsubsection[{keyframe\-\_\-auto\-\_\-threshold}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-int32\-\_\-t theora\-\_\-info\-::keyframe\-\_\-auto\-\_\-threshold}\label{structtheora__info_a95cb8958e29ad3d24047ee8f9e7fd99b}
\index{theora\-\_\-info@{theora\-\_\-info}!keyframe\-\_\-data\-\_\-target\-\_\-bitrate@{keyframe\-\_\-data\-\_\-target\-\_\-bitrate}}
\index{keyframe\-\_\-data\-\_\-target\-\_\-bitrate@{keyframe\-\_\-data\-\_\-target\-\_\-bitrate}!theora_info@{theora\-\_\-info}}
\subsubsection[{keyframe\-\_\-data\-\_\-target\-\_\-bitrate}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::keyframe\-\_\-data\-\_\-target\-\_\-bitrate}\label{structtheora__info_a588942d1ee90a26a7effdf6a0e98b9ce}
\index{theora\-\_\-info@{theora\-\_\-info}!keyframe\-\_\-frequency@{keyframe\-\_\-frequency}}
\index{keyframe\-\_\-frequency@{keyframe\-\_\-frequency}!theora_info@{theora\-\_\-info}}
\subsubsection[{keyframe\-\_\-frequency}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::keyframe\-\_\-frequency}\label{structtheora__info_a03e1b3e337af5f9dabaaaeb9050f145a}
\index{theora\-\_\-info@{theora\-\_\-info}!keyframe\-\_\-frequency\-\_\-force@{keyframe\-\_\-frequency\-\_\-force}}
\index{keyframe\-\_\-frequency\-\_\-force@{keyframe\-\_\-frequency\-\_\-force}!theora_info@{theora\-\_\-info}}
\subsubsection[{keyframe\-\_\-frequency\-\_\-force}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::keyframe\-\_\-frequency\-\_\-force}\label{structtheora__info_ad9d2e22c44a53473010e6d1042dfe0d8}
\index{theora\-\_\-info@{theora\-\_\-info}!keyframe\-\_\-mindistance@{keyframe\-\_\-mindistance}}
\index{keyframe\-\_\-mindistance@{keyframe\-\_\-mindistance}!theora_info@{theora\-\_\-info}}
\subsubsection[{keyframe\-\_\-mindistance}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::keyframe\-\_\-mindistance}\label{structtheora__info_aa79ca8c0e77a884d4487fd627fae32e9}
\index{theora\-\_\-info@{theora\-\_\-info}!noise\-\_\-sensitivity@{noise\-\_\-sensitivity}}
\index{noise\-\_\-sensitivity@{noise\-\_\-sensitivity}!theora_info@{theora\-\_\-info}}
\subsubsection[{noise\-\_\-sensitivity}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-int32\-\_\-t theora\-\_\-info\-::noise\-\_\-sensitivity}\label{structtheora__info_ac4789034f547b57d1075e035050eeed9}
\index{theora\-\_\-info@{theora\-\_\-info}!offset\-\_\-x@{offset\-\_\-x}}
\index{offset\-\_\-x@{offset\-\_\-x}!theora_info@{theora\-\_\-info}}
\subsubsection[{offset\-\_\-x}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::offset\-\_\-x}\label{structtheora__info_af5949a02bef29512f2705e6f6c944e3b}


horizontal offset of the displayed frame 

\index{theora\-\_\-info@{theora\-\_\-info}!offset\-\_\-y@{offset\-\_\-y}}
\index{offset\-\_\-y@{offset\-\_\-y}!theora_info@{theora\-\_\-info}}
\subsubsection[{offset\-\_\-y}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::offset\-\_\-y}\label{structtheora__info_a91c3922097ba32a85acd584a01dc2c93}


vertical offset of the displayed frame 

\index{theora\-\_\-info@{theora\-\_\-info}!pixelformat@{pixelformat}}
\index{pixelformat@{pixelformat}!theora_info@{theora\-\_\-info}}
\subsubsection[{pixelformat}]{\setlength{\rightskip}{0pt plus 5cm}{\bf theora\-\_\-pixelformat} theora\-\_\-info\-::pixelformat}\label{structtheora__info_a65ab4376ab5242ee82e06c78fb7008ab}


chroma subsampling mode to expect 

\index{theora\-\_\-info@{theora\-\_\-info}!quality@{quality}}
\index{quality@{quality}!theora_info@{theora\-\_\-info}}
\subsubsection[{quality}]{\setlength{\rightskip}{0pt plus 5cm}int theora\-\_\-info\-::quality}\label{structtheora__info_a71a4748a5f31bd58d0e403b7806c980d}


Nominal quality setting, 0-\/63. 

\index{theora\-\_\-info@{theora\-\_\-info}!quick\-\_\-p@{quick\-\_\-p}}
\index{quick\-\_\-p@{quick\-\_\-p}!theora_info@{theora\-\_\-info}}
\subsubsection[{quick\-\_\-p}]{\setlength{\rightskip}{0pt plus 5cm}int theora\-\_\-info\-::quick\-\_\-p}\label{structtheora__info_a2dfae4fd175dbd19254eaf0697778ff5}


Quick encode/decode. 

\index{theora\-\_\-info@{theora\-\_\-info}!sharpness@{sharpness}}
\index{sharpness@{sharpness}!theora_info@{theora\-\_\-info}}
\subsubsection[{sharpness}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-int32\-\_\-t theora\-\_\-info\-::sharpness}\label{structtheora__info_a3fb695de2b2f56dd0203b9e2eb0df1cc}
\index{theora\-\_\-info@{theora\-\_\-info}!target\-\_\-bitrate@{target\-\_\-bitrate}}
\index{target\-\_\-bitrate@{target\-\_\-bitrate}!theora_info@{theora\-\_\-info}}
\subsubsection[{target\-\_\-bitrate}]{\setlength{\rightskip}{0pt plus 5cm}int theora\-\_\-info\-::target\-\_\-bitrate}\label{structtheora__info_a0cfba041767ae2416dd190a406afe713}


nominal bitrate in bits per second 

\index{theora\-\_\-info@{theora\-\_\-info}!version\-\_\-major@{version\-\_\-major}}
\index{version\-\_\-major@{version\-\_\-major}!theora_info@{theora\-\_\-info}}
\subsubsection[{version\-\_\-major}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char theora\-\_\-info\-::version\-\_\-major}\label{structtheora__info_a7c5ebb9e6700aaef87f29f7c6074e474}
\index{theora\-\_\-info@{theora\-\_\-info}!version\-\_\-minor@{version\-\_\-minor}}
\index{version\-\_\-minor@{version\-\_\-minor}!theora_info@{theora\-\_\-info}}
\subsubsection[{version\-\_\-minor}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char theora\-\_\-info\-::version\-\_\-minor}\label{structtheora__info_a75eda4f30270d833c7b9dba43932a06a}
\index{theora\-\_\-info@{theora\-\_\-info}!version\-\_\-subminor@{version\-\_\-subminor}}
\index{version\-\_\-subminor@{version\-\_\-subminor}!theora_info@{theora\-\_\-info}}
\subsubsection[{version\-\_\-subminor}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char theora\-\_\-info\-::version\-\_\-subminor}\label{structtheora__info_aa07967ecd6e20bd2928ead42b6397b3d}
\index{theora\-\_\-info@{theora\-\_\-info}!width@{width}}
\index{width@{width}!theora_info@{theora\-\_\-info}}
\subsubsection[{width}]{\setlength{\rightskip}{0pt plus 5cm}ogg\-\_\-uint32\-\_\-t theora\-\_\-info\-::width}\label{structtheora__info_a17c2fc651bb3329f1ea6b13ff1d3957b}


encoded frame width 



The documentation for this struct was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
{\bf theora.\-h}\end{DoxyCompactItemize}
