2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
4 * This source code is subject to the terms of the BSD 2 Clause License and
5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 * was not distributed with this source code in the LICENSE file, you can
7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 * Media Patent License 1.0 was not distributed with this source code in the
9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
11 #ifndef AOM_COMMON_WEBMENC_H_
12 #define AOM_COMMON_WEBMENC_H_
17 #include "tools_common.h"
18 #include "aom/aom_encoder.h"
24 struct WebmOutputContext
{
32 /* Stereo 3D packed frame format */
33 typedef enum stereo_format
{
34 STEREO_FORMAT_MONO
= 0,
35 STEREO_FORMAT_LEFT_RIGHT
= 1,
36 STEREO_FORMAT_BOTTOM_TOP
= 2,
37 STEREO_FORMAT_TOP_BOTTOM
= 3,
38 STEREO_FORMAT_RIGHT_LEFT
= 11
41 void write_webm_file_header(struct WebmOutputContext
*webm_ctx
,
42 const aom_codec_enc_cfg_t
*cfg
,
43 stereo_format_t stereo_fmt
, unsigned int fourcc
,
44 const struct AvxRational
*par
);
46 void write_webm_block(struct WebmOutputContext
*webm_ctx
,
47 const aom_codec_enc_cfg_t
*cfg
,
48 const aom_codec_cx_pkt_t
*pkt
);
50 void write_webm_file_footer(struct WebmOutputContext
*webm_ctx
);
56 #endif // AOM_COMMON_WEBMENC_H_