Move fine_priority calculation after the bust cap.
[opus.git] / libcelt / celt_header.h
index db87ad3..357a7f0 100644 (file)
@@ -1,5 +1,6 @@
-/* (C) 2008 Jean-Marc Valin, CSIRO
-*/
+/* Copyright (c) 2007 CSIRO
+   Copyright (c) 2007-2008 Xiph.Org Foundation
+   Written by Jean-Marc Valin */
 /*
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
+#ifndef CELT_HEADER_H
+#define CELT_HEADER_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include "celt.h"
+#include "celt_types.h"
 
+/** Header data to be used for Ogg files (or possibly other encapsulation) 
+    @brief Header data 
+ */
 typedef struct {
-   char codec_id[8];
-   char codec_version[20];
-   int version_id;
-   int header_size;
-   int mode;
-   int sample_rate;
-   int nb_channels;
-   int bytes_per_packet;
-   int extra_headers;
+   char         codec_id[8];       /**< MUST be "CELT    " (four spaces) */
+   char         codec_version[20]; /**< Version used (as string) */
+   celt_int32 version_id;        /**< Version id (negative for until stream is frozen) */
+   celt_int32 header_size;       /**< Size of this header */
+   celt_int32 sample_rate;       /**< Sampling rate of the original audio */
+   celt_int32 nb_channels;       /**< Number of channels */
+   celt_int32 frame_size;        /**< Samples per frame (per channel) */
+   celt_int32 overlap;           /**< Overlapping samples (per channel) */
+   celt_int32 bytes_per_packet;  /**< Number of bytes per compressed packet (0 if unknown) */
+   celt_int32 extra_headers;     /**< Number of additional headers that follow this header */
 } CELTHeader;
 
-void celt_init_header(CELTHeader *header, int rate, int nb_channels, const struct CELTMode *m);
+/** Creates a basic header struct */
+EXPORT int celt_header_init(CELTHeader *header, const CELTMode *m, int channels);
+
+EXPORT int celt_header_to_packet(const CELTHeader *header, unsigned char *packet, celt_uint32 size);
+
+EXPORT int celt_header_from_packet(const unsigned char *packet, celt_uint32 size, CELTHeader *header);
 
-int celt_header_to_packet(const CELTHeader *header, char *packet, int size);
+#ifdef __cplusplus
+}
+#endif
 
-int celt_packet_to_header(const char *packet, int size, CELTHeader *header);
+#endif /* CELT_HEADER_H */