daala  0.0-1185-g52bbd43-dirty
Experimental Daala video codec API reference.
daalaenc.h
Go to the documentation of this file.
1 /*Daala video codec
2 Copyright (c) 2006-2013 Daala project contributors. All rights reserved.
3 
4 Redistribution and use in source and binary forms, with or without
5 modification, are permitted provided that the following conditions are met:
6 
7 - Redistributions of source code must retain the above copyright notice, this
8  list of conditions and the following disclaimer.
9 
10 - Redistributions in binary form must reproduce the above copyright notice,
11  this list of conditions and the following disclaimer in the documentation
12  and/or other materials provided with the distribution.
13 
14 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
15 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
18 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.*/
24 
27 #if !defined(_daala_daalaenc_H)
28 # define _daala_daalaenc_H (1)
29 # include "codec.h"
30 # include <ogg/ogg.h>
31 
32 # if defined(__cplusplus)
33 extern "C" {
34 # endif
35 # if OD_GNUC_PREREQ(4, 0, 0)
36 # pragma GCC visibility push(default)
37 # endif
38 
46 typedef struct daala_enc_ctx daala_enc_ctx;
85  int req, void *buf, size_t buf_sz);
103  daala_comment *comments, ogg_packet *op);
115 int daala_encode_img_in(daala_enc_ctx *enc, od_img *img, int duration);
138  int last, ogg_packet *op);
154 #define OD_SET_QUANT 4000
161 #define OD_SET_COMPLEXITY 4002
168 #define OD_GET_COMPLEXITY 4004
172 #define OD_SET_USE_ACTIVITY_MASKING 4006
176 #define OD_SET_QM 4008
180 #define OD_SET_USE_DERING 4010
181 
186 #define OD_SET_MC_USE_CHROMA 4100
190 #define OD_SET_MV_RES_MIN 4102
196 #define OD_SET_MV_LEVEL_MIN 4104
200 #define OD_SET_MV_LEVEL_MAX 4106
204 #define OD_SET_MC_USE_SATD 4108
205 
208 # if OD_GNUC_PREREQ(4, 0, 0)
209 # pragma GCC visibility pop
210 # endif
211 # if defined(__cplusplus)
212 }
213 # endif
214 
215 #endif
The shared libdaala C API.
int daala_encode_ctl(daala_enc_ctx *enc, int req, void *buf, size_t buf_sz)
Encoder control function.
void daala_encode_free(daala_enc_ctx *enc)
Frees an allocated encoder instance.
int daala_encode_img_in(daala_enc_ctx *enc, od_img *img, int duration)
Submits an uncompressed frame to the encoder.
int daala_encode_packet_out(daala_enc_ctx *enc, int last, ogg_packet *op)
Retrieves encoded video data packets.
daala_enc_ctx * daala_encode_create(const daala_info *info)
Allocates and initializes an encoder instance.
int daala_encode_flush_header(daala_enc_ctx *enc, daala_comment *comments, ogg_packet *op)
Outputs the next header packet.
struct daala_enc_ctx daala_enc_ctx
The encoder context.
Definition: daalaenc.h:46
The comment information.
Definition: codec.h:225
Configuration parameters for a codec instance.
Definition: codec.h:180
Representation of an image or video frame.
Definition: codec.h:162