Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
elphel-apps-camogm
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
elphel-apps-camogm
Commits
c4ada33f
Commit
c4ada33f
authored
Jul 19, 2016
by
Mikhail Karpenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update doxygen documentation
parent
cb60ae2d
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
365 additions
and
382 deletions
+365
-382
camogm_jpeg.c
camogm_jpeg.c
+1
-1
camogm_jpeg.h
camogm_jpeg.h
+1
-1
camogm_kml.c
camogm_kml.c
+93
-114
camogm_kml.h
camogm_kml.h
+17
-0
camogm_mov.c
camogm_mov.c
+93
-140
camogm_mov.h
camogm_mov.h
+17
-0
camogm_ogm.c
camogm_ogm.c
+61
-80
camogm_ogm.h
camogm_ogm.h
+17
-0
camogm_read.c
camogm_read.c
+12
-0
index_list.c
index_list.c
+11
-0
ogmstreams.h
ogmstreams.h
+42
-46
No files found.
camogm_jpeg.c
View file @
c4ada33f
/** @file camogm_jpeg.c
* @brief Provides writing to series of individual JPEG files for camogm
* @brief Provides writing to series of individual JPEG files for
@e
camogm
* @copyright Copyright (C) 2016 Elphel, Inc.
*
* @par <b>License</b>
...
...
camogm_jpeg.h
View file @
c4ada33f
/** @file camogm_jpeg.h
* @brief Provides writing to series of individual JPEG files for camogm
* @brief Provides writing to series of individual JPEG files for
@e
camogm
* @copyright Copyright (C) 2016 Elphel, Inc.
*
* @par <b>License</b>
...
...
camogm_kml.c
View file @
c4ada33f
This diff is collapsed.
Click to expand it.
camogm_kml.h
View file @
c4ada33f
/** @file camogm_kml.h
* @brief Provides writing to series of individual KML files for @e camogm
* @copyright Copyright (C) 2016 Elphel, Inc.
*
* @par <b>License</b>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _CAMOGM_KML_H
#define _CAMOGM_KML_H
...
...
camogm_mov.c
View file @
c4ada33f
This diff is collapsed.
Click to expand it.
camogm_mov.h
View file @
c4ada33f
/** @file camogm_mov.h
* @brief Provides writing to file compatible with Apple Quicktime(R) for @e camogm
* @copyright Copyright (C) 2016 Elphel, Inc.
*
* @par <b>License</b>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _CAMOGM_MOV_H
#define _CAMOG_MOV_H
...
...
camogm_ogm.c
View file @
c4ada33f
This diff is collapsed.
Click to expand it.
camogm_ogm.h
View file @
c4ada33f
/** @file camogm_ogm.h
* @brief Provides writing to OGM files for @e camogm
* @copyright Copyright (C) 2016 Elphel, Inc.
*
* @par <b>License</b>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _CAMOGM_OGM_H
#define _CAMOGM_OGM_H
...
...
camogm_read.c
View file @
c4ada33f
...
...
@@ -305,6 +305,18 @@ static int find_marker(const unsigned char * restrict buff_ptr, ssize_t buff_sz,
return
ret
;
}
/**
* @brief Find pattern in a data buffer in reverse order
*
* This function searches for the first occurrence of pattern in a data buffer and returns a pointer to
* the position of this pattern in the buffer.
* @param[in] buff_ptr pointer to an array of char values where the pattern should be found
* @param[in] buff_sz size of the data array
* @param[in] pattern pointer to an array of char values containing pattern
* @param[in] pt_sz size of the pattern array
* @param[in] add_pattern include or exclude marker from resulting buffer offset
* @return The index in data buffer where pattern matches or error code from #match_result if it was not found
*/
static
int
find_marker_backward
(
const
unsigned
char
*
restrict
buff_ptr
,
ssize_t
buff_sz
,
const
unsigned
char
*
restrict
pattern
,
ssize_t
pt_sz
,
int
add_pattern
)
{
...
...
index_list.c
View file @
c4ada33f
...
...
@@ -63,6 +63,12 @@ int add_node(struct disk_idir *idir, struct disk_index *index)
return
idir
->
size
;
}
/**
* @brief Insert new node in chronological order
* @param[in,out] idir index directory to which a new node should be added
* @param[in] indx a pointer to new node
* @return The number of nodes in the directory
*/
int
insert_node
(
struct
disk_idir
*
idir
,
struct
disk_index
*
indx
)
{
int
ret
=
0
;
...
...
@@ -157,6 +163,11 @@ struct disk_index *find_by_offset(const struct disk_idir *idir, uint64_t offset)
return
index
;
}
/** @brief Find index node by its time stamp
* @param[in] idir pointer to disk index directory
* @param[in] time the time stamp of the file which should be found
* @return pointer to disk index node or NULL if the corresponding file was not found
*/
struct
disk_index
*
find_nearest_by_time
(
const
struct
disk_idir
*
idir
,
time_t
time
)
{
struct
disk_index
*
ptr
=
NULL
;
...
...
ogmstreams.h
View file @
c4ada33f
/** @file ogmstreams.h */
#ifndef __OGGSTREAMS_H
#define __OGGSTREAMS_H
/*
/*
*
* Taken from http://tobias.everwicked.com/packfmt.htm
*
First packet (header)
---------------------
pos | content | description
-------+-------------------------+----------------------------------
0x0000 | 0x01 | indicates 'header packet'
-------+-------------------------+----------------------------------
0x0001 | stream_header | the size is indicated in the
| | size member
Second packet (comment)
-----------------------
pos | content | description
-------+-------------------------+----------------------------------
0x0000 | 0x03 | indicates 'comment packet'
-------+-------------------------+----------------------------------
0x0001 | data | see vorbis doc on www.xiph.org
Data packets
------------
pos | content | description
---------+-------------------------+----------------------------------
0x0000 | Bit0 0 | indicates data packet
| Bit1 Bit 2 of lenbytes |
| Bit2 unused |
| Bit3 keyframe |
| Bit4 unused |
| Bit5 unused |
| Bit6 Bit 0 of lenbytes |
| Bit7 Bit 1 of lenbytes |
---------+-------------------------+----------------------------------
0x0001 | LowByte | Length of this packet in samples
| ... | (frames for video, samples for
| HighByte | audio, 1ms units for text)
---------+-------------------------+----------------------------------
0x0001+ | data | packet contents
lenbytes | |
*
* First packet (header)
* ---------------------
*
* pos | content | description
* -------|-------------------------|----------------------------------
* 0x0000 | 0x01 | indicates 'header packet'
* 0x0001 | stream_header | the size is indicated in the
* | | size member
*
*
* Second packet (comment)
* -----------------------
*
* pos | content | description
* -------|-------------------------|----------------------------------
* 0x0000 | 0x03 | indicates 'comment packet'
* 0x0001 | data | see vorbis doc on www.xiph.org
*
*
* Data packets
* ------------
*
* pos | content | description
* ---------|-------------------------|----------------------------------
* 0x0000 | Bit0 0 | indicates data packet
* | Bit1 Bit 2 of lenbytes |
* | Bit2 unused |
* | Bit3 keyframe |
* | Bit4 unused |
* | Bit5 unused |
* | Bit6 Bit 0 of lenbytes |
* | Bit7 Bit 1 of lenbytes |
* 0x0001 | LowByte | Length of this packet in samples
* | ... | (frames for video, samples for
* | HighByte | audio, 1ms units for text)
* 0x0001+ | data | packet contents
* lenbytes | |
*
*/
/
/// OggDS headers
/
/ Header for the new header format
/
** OggDS headers */
/
** Header for the new header format */
typedef
struct
stream_header_video
{
ogg_int32_t
width
;
ogg_int32_t
height
;
...
...
@@ -121,4 +117,4 @@ typedef struct old_stream_header {
#define PACKET_LEN_BITS2 0x02
#define PACKET_IS_SYNCPOINT 0x08
#endif
/* __OGGSTREAMS_H */
#endif
/* __OGGSTREAMS_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment