summaryrefslogtreecommitdiff
path: root/libmkv/EbmlWriter.h
diff options
context:
space:
mode:
authorSuman Sunkara <sunkaras@google.com>2010-11-16 15:09:26 -0500
committerSuman Sunkara <sunkaras@google.com>2010-11-16 16:30:59 -0500
commit4b3f72001de952aaf3874d3ce2dca3cb3fbe3928 (patch)
tree754d87a4fa5cae908388f0a26b2affad7cd8a523 /libmkv/EbmlWriter.h
parentb9a18344cf8e5283928525c5ac0897ede79f9e57 (diff)
parent00fe7441e9c5cbd898a8382d49cf9396d8482464 (diff)
downloadlibvpx-4b3f72001de952aaf3874d3ce2dca3cb3fbe3928.tar
libvpx-4b3f72001de952aaf3874d3ce2dca3cb3fbe3928.tar.gz
libvpx-4b3f72001de952aaf3874d3ce2dca3cb3fbe3928.tar.bz2
libvpx-4b3f72001de952aaf3874d3ce2dca3cb3fbe3928.zip
Merge branch 'experimental' of ssh://on2-git.corp.google.com:29418/libvpx into test
Conflicts: vp8/common/blockd.h vp8/decoder/decodemv.c vp8/decoder/decodframe.c vp8/decoder/demode.c vp8/decoder/onyxd_if.c vp8/decoder/onyxd_int.h vp8/encoder/encodeframe.c Change-Id: Ic379f4dffaded9796dc19d56be304d3f8527c61f
Diffstat (limited to 'libmkv/EbmlWriter.h')
-rw-r--r--libmkv/EbmlWriter.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/libmkv/EbmlWriter.h b/libmkv/EbmlWriter.h
new file mode 100644
index 000000000..8c7fe7c66
--- /dev/null
+++ b/libmkv/EbmlWriter.h
@@ -0,0 +1,38 @@
+#ifndef EBMLWRITER_HPP
+#define EBMLWRITER_HPP
+
+// Copyright (c) 2010 The WebM project authors. All Rights Reserved.
+//
+// Use of this source code is governed by a BSD-style license
+// that can be found in the LICENSE file in the root of the source
+// tree. An additional intellectual property rights grant can be found
+// in the file PATENTS. All contributing project authors may
+// be found in the AUTHORS file in the root of the source tree.
+
+//note: you must define write and serialize functions as well as your own EBML_GLOBAL
+//These functions MUST be implemented
+#include <stddef.h>
+#include "vpx/vpx_integer.h"
+
+typedef struct EbmlGlobal EbmlGlobal;
+void Ebml_Serialize(EbmlGlobal *glob, const void *, unsigned long);
+void Ebml_Write(EbmlGlobal *glob, const void *, unsigned long);
+/////
+
+
+void Ebml_WriteLen(EbmlGlobal *glob, long long val);
+void Ebml_WriteString(EbmlGlobal *glob, const char *str);
+void Ebml_WriteUTF8(EbmlGlobal *glob, const wchar_t *wstr);
+void Ebml_WriteID(EbmlGlobal *glob, unsigned long class_id);
+void Ebml_SerializeUnsigned64(EbmlGlobal *glob, unsigned long class_id, uint64_t ui);
+void Ebml_SerializeUnsigned(EbmlGlobal *glob, unsigned long class_id, unsigned long ui);
+void Ebml_SerializeBinary(EbmlGlobal *glob, unsigned long class_id, unsigned long ui);
+void Ebml_SerializeFloat(EbmlGlobal *glob, unsigned long class_id, double d);
+//TODO make this more generic to signed
+void Ebml_WriteSigned16(EbmlGlobal *glob, short val);
+void Ebml_SerializeString(EbmlGlobal *glob, unsigned long class_id, const char *s);
+void Ebml_SerializeUTF8(EbmlGlobal *glob, unsigned long class_id, wchar_t *s);
+void Ebml_SerializeData(EbmlGlobal *glob, unsigned long class_id, unsigned char *data, unsigned long data_length);
+void Ebml_WriteVoid(EbmlGlobal *glob, unsigned long vSize);
+//TODO need date function
+#endif