libtheora Reference Manual

Similar documents
NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide

Opus Generated by Doxygen Thu May :22:05

NVJPEG. DA _v0.1.4 August nvjpeg Libary Guide

Administrivia. Introduction to Computer Systems. Pointers, cont. Pointer example, again POINTERS. Project 2 posted, due October 6

libnetfilter_log Reference Manual

TriMedia Motion JPEG Encoder (VencMjpeg) API 1

CUDA Toolkit CUPTI User's Guide. DA _v01 September 2012

#include <tobii/tobii.h> char const* tobii_error_message( tobii_error_t error );

C-types: basic & constructed. C basic types: int, char, float, C constructed types: pointer, array, struct

The New C Standard (Excerpted material)

InstructionAPI Reference Manual 7.0. Generated by Doxygen 1.4.7

Airence C Library v1.2 for Windows

TriMedia Motion JPEG Decoder (VdecMjpeg) API 1

CSCI-243 Exam 1 Review February 22, 2015 Presented by the RIT Computer Science Community

Data Structures Unit 02

XBinder. XML Schema Compiler Version 1.4 C EXI Runtime Reference Manual

Barcode Scanner Library

POLYTECH CLERMONT-FERRAND. Application Note. Implementation of a SPEEX decoder on RX62N RENESAS microcontroller 22/01/2012

CS Programming In C

Programming in C++ 4. The lexical basis of C++

OptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from

Short Notes of CS201

CS201 - Introduction to Programming Glossary By

CS349/SE382 A1 C Programming Tutorial

TMS470 ARM ABI Migration

NOTE: Debug and DebugSingle are the only MPI library configurations that will produce trace output.

PDF Document structure, that need for managing of PDF file. It uses in all functions from EMF2PDF SDK.

Chapter-8 DATA TYPES. Introduction. Variable:

Data Types. Every program uses data, either explicitly or implicitly to arrive at a result.

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

RM0327 Reference manual

QNX SDK for Apps and Media 1.1. Multimedia Playlist Library Reference

Contents of Lecture 3

Internet Engineering Task Force (IETF) Category: Standards Track. Mozilla Corporation April 2016

Programming for Engineers Structures, Unions

libquadflash API 1 General Operations

Armide Documentation. Release Kyle Mayes

BEA TUXEDO System Messages. TxRPC Catalog

Types and Structures

HikVision Mpeg4 linux Player SDK

ECE 2035 A Programming HW/SW Systems Spring problems, 5 pages Exam Three 13 April Your Name (please print clearly)

IMPORTANT QUESTIONS IN C FOR THE INTERVIEW

int fnvgetconfig(handle h, UINT32 id, const void *cfg, size_t sz);... 4

Mellanox Scalable Hierarchical Aggregation and Reduction Protocol (SHARP) API Guide. Version 1.0

[6 marks] All parts of this question assume the following C statement. Parts (b) through (e) assume a variable called ptrs.

libcbor Documentation

Tokens, Expressions and Control Structures

Zymkey App Utils: C++

Outline. 1 About the course

QNX SDK for Apps and Media 1.0. Multimedia Playlist Library Reference

QNX Software Development Platform 6.6. Input Events Library Reference

QUIZ. What are 3 differences between C and C++ const variables?

C Language, Token, Keywords, Constant, variable

CrossWorks Tools Library

Path Objects. Introduction. Methods. Data Types. Create, Delete, Validate Methods. Configuration and Information Methods. Relational Methods

Xvid. Introduction. Junjie Cao. What s Xvid? WhyXvid. An open source implementation of the MPEG-4 standard.

Recitation 7 Caches and Blocking. 9 October 2017

Application Program Interface Document

C++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay

Data Storage. August 9, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 August 9, / 19

MySQL++ Reference Manual

Data Structures and Algorithms (DSA) Course 4. Iulian Năstac

Programming (1.0hour)

Quantum Random Number Generator QRNG

Application Programming Interface (API) for RK Hardware Codec. Application Programming Interface (API) for RK Hardware Codec

12 CREATING NEW TYPES

Adaptive Digital Pre-Distortion API

ColoredWaveform by zplane.development (c) 2018 zplane.development GmbH & Co. KG

grib_api.h File Reference

Data Types. Data Types. Introduction. Data Types. Data Types. Data Types. Introduction

FLICONV-API. Generated by Doxygen

Structuring the Data. Structuring the Data

CMPE-013/L. Introduction to C Programming

(2-1) Data Structures & The Basics of a Linked List I. Instructor - Andrew S. O Fallon CptS 122 (August 27, 2018) Washington State University

Structures, Unions Alignment, Padding, Bit Fields Access, Initialization Compound Literals Opaque Structures Summary. Structures

C Structures in Practice

Praktische Aspekte der Informatik

Dotstack Porting Guide.

Lectures 5-6: Introduction to C

TIP570-SW-95 QNX-Neutrino Device Driver TIP570 16/8 Channel 12 Bit ADC and 8 Channel 12 Bit DAC on SBS PCI40 Carrier

P.G.TRB - COMPUTER SCIENCE. c) data processing language d) none of the above

COMP26120: Linked List in C (2018/19) Lucas Cordeiro

Computer System and programming in C

HTML 5 and CSS 3, Illustrated Complete. Unit K: Incorporating Video and Audio

CprE 288 Introduction to Embedded Systems Exam 1 Review. 1

Cisco TSP Media Driver

ECE 264 Exam 2. 6:30-7:30PM, March 9, You must sign here. Otherwise you will receive a 1-point penalty.

Implementing Constraint Handlers in SCIP

Cisco TSP Media Driver

Final assignment: Hash map

BATS Europe FAST PITCH Specification

Representation of Information

15-122: Principles of Imperative Computation, Spring Due: Thursday, March 10, 2016 by 22:00

This manual is for Libffi, a portable foreign-function interface library. Copyright c 2008, 2010, 2011 Red Hat, Inc. Permission is granted to copy,

ENERGY 211 / CME 211. Functions

ECE 2035 Programming HW/SW Systems Fall problems, 5 pages Exam Three 19 November 2014

Stream Computing using Brook+

Structured Data. CIS 15 : Spring 2007

Syntax and Variables

CS 61C: Great Ideas in Computer Architecture Introduction to C

Transcription:

libtheora Reference Manual unreleased Generated by Doxygen 1.3.8 Wed Sep 15 22:40:11 2004

Contents 1 libtheora Main Page 1 1.1 Introduction........................................ 1 2 libtheora Data Structure Index 3 2.1 libtheora Data Structures................................ 3 3 libtheora File Index 5 3.1 libtheora File List.................................... 5 4 libtheora Data Structure Documentation 7 4.1 yuv_buer Struct Reference............................... 7 5 libtheora File Documentation 9 5.1 theora.h File Reference.................................. 9

Chapter 1 libtheora Main Page 1.1 Introduction This is the documentation for the libtheora C API. libtheora is the reference implementation for Theora, a free video codec. Theora is derived from On2's VP3 codec with improved integration for Ogg multimedia formats by Xiph.Org.

2 libtheora Main Page Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

Chapter 2 libtheora Data Structure Index 2.1 libtheora Data Structures Here are the data structures with brief descriptions: yuv_buer.......................................... 7

4 libtheora Data Structure Index Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

Chapter 3 libtheora File Index 3.1 libtheora File List Here is a list of all documented les with brief descriptions: theora.h............................................ 9

6 libtheora File Index Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

Chapter 4 libtheora Data Structure Documentation 4.1 yuv_buer Struct Reference #include <theora.h> Data Fields ˆ int y_width ˆ int y_height ˆ int y_stride ˆ int uv_width ˆ int uv_height ˆ int uv_stride ˆ unsigned char y ˆ unsigned char u ˆ unsigned char v 4.1.1 Detailed Description A YUV buer. The documentation for this struct was generated from the following le: ˆ theora.h

8 libtheora Data Structure Documentation Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

Chapter 5 libtheora File Documentation 5.1 theora.h File Reference #include <ogg/ogg.h> Data Structures ˆ struct yuv_buer ˆ struct theora_info ˆ struct theora_state ˆ struct theora_comment Denes ˆ #dene OC_FAULT -1 ˆ #dene OC_EINVAL -10 ˆ #dene OC_DISABLED -11 ˆ #dene OC_BADHEADER -20 ˆ #dene OC_NOTFORMAT -21 ˆ #dene OC_VERSION -22 ˆ #dene OC_IMPL -23 ˆ #dene OC_BADPACKET -24 ˆ #dene OC_NEWPACKET -25 Typedefs ˆ typedef theora_comment theora_comment Enumerations ˆ enum theora_colorspace { OC_CS_UNSPECIFIED, OC_CS_ITU_REC_- 470M, OC_CS_ITU_REC_470BG }

10 libtheora File Documentation Functions ˆ const char theora_version_string (void) ˆ ogg_uint32_t theora_version_number (void) ˆ int theora_encode_init (theora_state th, theora_info c) ˆ int theora_encode_yuvin (theora_state t, yuv_buer yuv) ˆ int theora_encode_packetout (theora_state t, int last_p, ogg_packet op) ˆ int theora_encode_header (theora_state t, ogg_packet op) ˆ int theora_encode_comment (theora_comment tc, ogg_packet op) ˆ int theora_encode_tables (theora_state t, ogg_packet op) ˆ int theora_decode_header (theora_info ci, theora_comment cc, ogg_packet op) ˆ int theora_decode_init (theora_state th, theora_info c) ˆ int theora_decode_packetin (theora_state th, ogg_packet op) ˆ int theora_decode_yuvout (theora_state th, yuv_buer yuv) ˆ double theora_granule_time (theora_state th, ogg_int64_t granulepos) ˆ ogg_int64_t theora_granule_frame (theora_state th, ogg_int64_t granulepos) ˆ void theora_info_init (theora_info c) ˆ void theora_info_clear (theora_info c) ˆ void theora_clear (theora_state t) ˆ void theora_comment_init (theora_comment tc) ˆ void theora_comment_add (theora_comment tc, char comment) ˆ void theora_comment_add_tag (theora_comment tc, char tag, char value) ˆ char theora_comment_query (theora_comment tc, char tag, int count) ˆ int theora_comment_query_count (theora_comment tc, char tag) ˆ void theora_comment_clear (theora_comment tc) 5.1.1 Detailed Description The libtheora C API. 5.1.2 Enumeration Type Documentation 5.1.2.1 enum theora_colorspace A Colorspace. 5.1.3 Function Documentation 5.1.3.1 void theora_clear (theora_state t) Free all internal data associated with a theora_state handle. t A theora_state handle. Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

5.1 theora.h File Reference 11 5.1.3.2 int theora_decode_header (theora_info ci, theora_comment cc, ogg_packet op) Decode an Ogg packet, with the expectation that the packet contains an initial header, comment data or codebook tables. ci A theora_info structure to ll. This must have been previously initialized with theora_- info_init()(p. 15). If op contains an initial header, theora_decode_header()(p. 11) will ll ci with the parsed header values. If op contains codebook tables, theora_- decode_header()(p. 11) will parse these and attach an internal representation to ci- >codec_setup. cc A theora_comment structure to ll. If op contains comment data, theora_decode_- header()(p. 11) will ll cc with the parsed comments. op An ogg_packet structure which you expect contains an initial header, comment data or codebook tables. Return values: OC_BADHEADER op is NULL; OR the rst byte of op->packet has the signature of an initial packet, but op is not a b_o_s packet; OR this packet has the signature of an initial header packet, but an initial header packet has already been seen; OR this packet has the signature of a comment packet, but the initial header has not yet been seen; OR this packet has the signature of a comment packet, but contains invalid data; OR this packet has the signature of codebook tables, but the initial header or comments have not yet been seen; OR this packet has the signature of codebook tables, but contains invalid data; OR the stream being decoded has a compatible version but this packet does not have the signature of a theora initial header, comments, or codebook packet OC_VERSION The packet data of op is an initial header with a version which is incompatible with this version of libtheora. OC_NEWPACKET the stream being decoded has an incompatible (future) version and contains an unknown signature. 0 Success Note: The normal usage is that theora_decode_header()(p. 11) be called on the rst three packets of a theora logical bitstream in succession. 5.1.3.3 int theora_decode_init (theora_state th, theora_info c) Initialize a theora_state handle for decoding. th The theora_state handle to initialize. c A theora_info struct lled with the desired decoding parameters. This is of course usually obtained from a previous call to theora_decode_header()(p. 11). Returns: 0 Success Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

12 libtheora File Documentation 5.1.3.4 int theora_decode_packetin (theora_state th, ogg_packet op) Input a packet containing encoded data into the theora decoder. th A theora_state handle previously initialized for decoding. op An ogg_packet containing encoded theora data. Return values: OC_BADPACKET op does not contain encoded video data 5.1.3.5 int theora_decode_yuvout (theora_state th, yuv_buer yuv) Output the next available frame of decoded YUV data. th A theora_state handle previously initialized for decoding. yuv A yuv_buer(p. 7) in which libtheora should place the decoded data. Return values: 0 Success 5.1.3.6 int theora_encode_comment (theora_comment tc, ogg_packet op) Request a comment header packet from provided metadata. placed in a user-provided ogg_packet structure. A pointer to the comment data is tc A theora_comment structure lled with the desired metadata op An ogg_packet structure to ll. libtheora will set all elements of this structure, including a pointer to the encoded comment data. The memory for the comment data is owned by libtheora. Return values: 0 Success 5.1.3.7 int theora_encode_header (theora_state t, ogg_packet op) Request a packet containing the initial header. A pointer to the header data is placed in a userprovided ogg_packet structure. t A theora_state handle previously initialized for encoding. op An ogg_packet structure to ll. libtheora will set all elements of this structure, including a pointer to the header data. The memory for the header data is owned by libtheora. Return values: 0 Success Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

5.1 theora.h File Reference 13 5.1.3.8 int theora_encode_init (theora_state th, theora_info c) Initialize the theora encoder. th The theora_state handle to initialize for encoding. ti A theora_info struct lled with the desired encoding parameters. Returns: 0 Success 5.1.3.9 int theora_encode_packetout (theora_state t, int last_p, ogg_packet op) Request the next packet of encoded video. The encoded data is placed in a user-provided ogg_- packet structure. t A theora_state handle previously initialized for encoding. last_p??? op An ogg_packet structure to ll. libtheora will set all elements of this structure, including a pointer to encoded data. The memory for the encoded data is owned by libtheora. Return values: 0 No internal storage exists OR no packet is ready -1 The encoding process has completed 1 Success 5.1.3.10 int theora_encode_tables (theora_state t, ogg_packet op) Request a packet containing the codebook tables for the stream. A pointer to the codebook data is placed in a user-provided ogg_packet structure. t A theora_state handle previously initialized for encoding. op An ogg_packet structure to ll. libtheora will set all elements of this structure, including a pointer to the codebook data. The memory for the header data is owned by libtheora. Return values: 0 Success 5.1.3.11 int theora_encode_yuvin (theora_state t, yuv_buer yuv) Input a YUV buer into the theora encoder. t A theora_state handle previously initialized for encoding. Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

14 libtheora File Documentation yuv A buer of YUV data to encode. Return values: OC_EINVAL Encoder is not ready, or is nished. -1 The size of the given frame diers from those previously input 0 Success 5.1.3.12 ogg_int64_t theora_granule_frame (theora_state th, ogg_int64_t granulepos) Convert a granulepos to an absolute frame number. The granulepos is interpreted in the context of a given theora_state handle. th A previously initialized theora_state handle (encode or decode) granulepos The granulepos to convert. Returns: The frame number corresponding to granulepos. Return values: -1 The given granulepos is invalid (ie. negative) 5.1.3.13 double theora_granule_time (theora_state th, ogg_int64_t granulepos) Convert a granulepos to absolute time in seconds. The granulepos is interpreted in the context of a given theora_state handle. th A previously initialized theora_state handle (encode or decode) granulepos The granulepos to convert. Returns: The absolute time in seconds corresponding to granulepos. Return values: -1 The given granulepos is invalid (ie. negative) 5.1.3.14 void theora_info_clear (theora_info c) Clear a theora_info structure. All values within the given theora_info structure are cleared, and associated internal codec setup data is freed. c A theora_info struct to initialize. Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

5.1 theora.h File Reference 15 5.1.3.15 void theora_info_init (theora_info c) Initialize a theora_info structure. All values within the given theora_info structure are initialized, and space is allocated within libtheora for internal codec setup data. c A theora_info struct to initialize. 5.1.3.16 ogg_uint32_t theora_version_number (void) Retrieve a 32-bit version number. This number is composed of a 16-bit major version, 8-bit minor version and 8 bit sub-version, composed as follows: (VERSION_MAJOR$<$$<$16) + (VERSION_MINOR$<$$<$8) + (VERSION_SUB) Returns: the version number. 5.1.3.17 const char theora_version_string (void) Retrieve a human-readable string to identify the vendor and version. Returns: a version string. Generated on Wed Sep 15 22:40:11 2004 for libtheora by Doxygen

Index theora.h, 9 theora_clear, 10 theora_colorspace, 10 theora_decode_header, 10 theora_decode_init, 11 theora_decode_packetin, 11 theora_decode_yuvout, 12 theora_encode_comment, 12 theora_encode_header, 12 theora_encode_init, 12 theora_encode_packetout, 13 theora_encode_tables, 13 theora_encode_yuvin, 13 theora_granule_frame, 14 theora_granule_time, 14 theora_info_clear, 14 theora_info_init, 14 theora_version_number, 15 theora_version_string, 15 theora_clear theora.h, 10 theora_colorspace theora.h, 10 theora_decode_header theora.h, 10 theora_decode_init theora.h, 11 theora_decode_packetin theora.h, 11 theora_decode_yuvout theora.h, 12 theora_encode_comment theora.h, 12 theora_encode_header theora.h, 12 theora_encode_init theora.h, 12 theora_encode_packetout theora.h, 13 theora_encode_tables theora.h, 13 theora_encode_yuvin theora.h, 13 theora_granule_frame theora.h, 14 theora_granule_time theora.h, 14 theora_info_clear theora.h, 14 theora_info_init theora.h, 14 theora_version_number theora.h, 15 theora_version_string theora.h, 15 yuv_buer, 7