libtheora: theoradec.h Source File

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

# theoradec.h

Go to the documentation of this file.

    00001 /********************************************************************
    00002  *                                                                  *
    00003  * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE.   *
    00004  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
    00005  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
    00006  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
    00007  *                                                                  *
    00008  * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2009                *
    00009  * by the Xiph.Org Foundation http://www.xiph.org/                  *
    00010  *                                                                  *
    00011  ********************************************************************
    00012
    00013   function:
    00014   last mod: $Id: theora.h,v 1.8 2004/03/15 22:17:32 derf Exp $
    00015
    00016  ********************************************************************/
    00017
    00021 #if !defined(_O_THEORA_THEORADEC_H_)
    00022 # define _O_THEORA_THEORADEC_H_ (1)
    00023 # include <stddef.h>
    00024 # include <ogg/ogg.h>
    00025 # include "codec.h"
    00026
    00027 #if defined(__cplusplus)
    00028 extern "C" {
    00029 #endif
    00030
    00031
    00032
    00050 #define TH_DECCTL_GET_PPLEVEL_MAX (1)
    00051
    00067 #define TH_DECCTL_SET_PPLEVEL (3)
    00068
    00079 #define TH_DECCTL_SET_GRANPOS (5)
    00080
    00093 #define TH_DECCTL_SET_STRIPE_CB (7)
    00094
    00096 #define TH_DECCTL_SET_TELEMETRY_MBMODE (9)
    00097
    00098 #define TH_DECCTL_SET_TELEMETRY_MV (11)
    00099
    00100 #define TH_DECCTL_SET_TELEMETRY_QI (13)
    00101
    00102 #define TH_DECCTL_SET_TELEMETRY_BITS (15)
    00103
    00138 typedef void (*th_stripe_decoded_func)(void *_ctx,th_ycbcr_buffer _buf,
    00139  int _yfrag0,int _yfrag_end);
    00140
    00142 typedef struct{
    00145   void                   *ctx;
    00147   th_stripe_decoded_func  stripe_decoded;
    00148 }th_stripe_callback;
    00149
    00150
    00151
    00159 typedef struct th_dec_ctx    th_dec_ctx;
    00166 typedef struct th_setup_info th_setup_info;
    00231 extern int th_decode_headerin(th_info *_info,th_comment *_tc,
    00232  th_setup_info **_setup,ogg_packet *_op);
    00255 extern th_dec_ctx *th_decode_alloc(const th_info *_info,
    00256  const th_setup_info *_setup);
    00262 extern void th_setup_free(th_setup_info *_setup);
    00271 extern int th_decode_ctl(th_dec_ctx *_dec,int _req,void *_buf,
    00272  size_t _buf_sz);
    00294 extern int th_decode_packetin(th_dec_ctx *_dec,const ogg_packet *_op,
    00295  ogg_int64_t *_granpos);
    00311 extern int th_decode_ycbcr_out(th_dec_ctx *_dec,
    00312  th_ycbcr_buffer _ycbcr);
    00315 extern void th_decode_free(th_dec_ctx *_dec);
    00318
    00319
    00320
    00321 #if defined(__cplusplus)
    00322 }
    00323 #endif
    00324
    00325 #endif