daala  unknown
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 
31 # if defined(__cplusplus)
32 extern "C" {
33 # endif
34 # if OD_GNUC_PREREQ(4, 0, 0)
35 # pragma GCC visibility push(default)
36 # endif
37 
85  int req, void *buf, size_t buf_sz);
104  daala_comment *comments, daala_packet *dp);
116 int daala_encode_img_in(daala_enc_ctx *enc, daala_image *img, int duration);
136 int daala_encode_packet_out(daala_enc_ctx *enc, int last, daala_packet *dp);
152 #define OD_SET_QUANT 4000
153 
159 #define OD_SET_COMPLEXITY 4002
160 
166 #define OD_GET_COMPLEXITY 4004
167 
170 #define OD_SET_ACTIVITY_MASKING 4006
171 
174 #define OD_SET_QM 4008
175 
178 #define OD_SET_DERING 4010
179 
184 #define OD_SET_MC_CHROMA 4100
185 
188 #define OD_SET_MV_RES_MIN 4102
189 
194 #define OD_SET_MV_LEVEL_MIN 4104
195 
198 #define OD_SET_MV_LEVEL_MAX 4106
199 
202 #define OD_SET_MC_SATD 4108
203 
207 #define OD_SET_B_FRAMES 4110
208 
230 #define OD_SET_BITRATE 4112
231 
251 #define OD_SET_RATE_FLAGS 4114
252 
277 #define OD_SET_RATE_BUFFER 4116
278 
307 #define OD_2PASS_OUT 4118
308 
353 #define OD_2PASS_IN 4120
354 
364 #define OD_RATECTL_DROP_FRAMES (0x1)
365 
372 #define OD_RATECTL_CAP_OVERFLOW (0x2)
373 
379 #define OD_RATECTL_CAP_UNDERFLOW (0x4)
380 
382 # if OD_GNUC_PREREQ(4, 0, 0)
383 # pragma GCC visibility pop
384 # endif
385 # if defined(__cplusplus)
386 }
387 # endif
388 
389 #endif
The comment information.
Definition: codec.h:272
int daala_encode_flush_header(daala_enc_ctx *enc, daala_comment *comments, daala_packet *dp)
Outputs the next header packet.
The shared libdaala C API.
Definition: codec.h:237
void daala_encode_free(daala_enc_ctx *enc)
Frees an allocated encoder instance.
struct daala_enc_ctx daala_enc_ctx
The encoder context.
Definition: daalaenc.h:45
int daala_encode_ctl(daala_enc_ctx *enc, int req, void *buf, size_t buf_sz)
Encoder control function.
Representation of an image or video frame.
Definition: codec.h:175
daala_enc_ctx * daala_encode_create(const daala_info *info)
Allocates and initializes an encoder instance.
Configuration parameters for a codec instance.
Definition: codec.h:204
int daala_encode_img_in(daala_enc_ctx *enc, daala_image *img, int duration)
Submits an uncompressed frame to the encoder.
int daala_encode_packet_out(daala_enc_ctx *enc, int last, daala_packet *dp)
Retrieves encoded video data packets.