\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 \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf height} \begin{DoxyCompactList}\small\item\em encoded frame height \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf frame\_\-width} \begin{DoxyCompactList}\small\item\em display frame width \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf frame\_\-height} \begin{DoxyCompactList}\small\item\em display frame height \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf offset\_\-x} \begin{DoxyCompactList}\small\item\em horizontal offset of the displayed frame \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf offset\_\-y} \begin{DoxyCompactList}\small\item\em vertical offset of the displayed frame \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf fps\_\-numerator} \begin{DoxyCompactList}\small\item\em frame rate numerator \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf fps\_\-denominator} \begin{DoxyCompactList}\small\item\em frame rate denominator \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf aspect\_\-numerator} \begin{DoxyCompactList}\small\item\em pixel aspect ratio numerator \item\end{DoxyCompactList}\item ogg\_\-uint32\_\-t {\bf aspect\_\-denominator} \begin{DoxyCompactList}\small\item\em pixel aspect ratio denominator \item\end{DoxyCompactList}\item {\bf theora\_\-colorspace} {\bf colorspace} \begin{DoxyCompactList}\small\item\em colorspace \item\end{DoxyCompactList}\item int {\bf target\_\-bitrate} \begin{DoxyCompactList}\small\item\em nominal bitrate in bits per second \item\end{DoxyCompactList}\item int {\bf quality} \begin{DoxyCompactList}\small\item\em Nominal quality setting, 0-\/63. \item\end{DoxyCompactList}\item int {\bf quick\_\-p} \begin{DoxyCompactList}\small\item\em Quick encode/decode. \item\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 \item\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 {\bf 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 {\bf 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$ {\bf 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} {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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} {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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 {\bf 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}