FFmpeg
libavcodec
fits.h
Go to the documentation of this file.
1
/*
2
* FITS image format common prototypes and structures
3
* Copyright (c) 2017 Paras Chadha
4
*
5
* This file is part of FFmpeg.
6
*
7
* FFmpeg is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* FFmpeg is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with FFmpeg; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
22
#ifndef AVCODEC_FITS_H
23
#define AVCODEC_FITS_H
24
25
#include <inttypes.h>
26
27
#include "
libavutil/dict.h
"
28
29
typedef
enum
FITSHeaderState
{
30
STATE_SIMPLE
,
31
STATE_XTENSION
,
32
STATE_BITPIX
,
33
STATE_NAXIS
,
34
STATE_NAXIS_N
,
35
STATE_PCOUNT
,
36
STATE_GCOUNT
,
37
STATE_REST
,
38
}
FITSHeaderState
;
39
40
/**
41
* Structure to store the header keywords in FITS file
42
*/
43
typedef
struct
FITSHeader
{
44
FITSHeaderState
state
;
45
unsigned
naxis_index
;
46
int
bitpix
;
47
int64_t
blank
;
48
int
blank_found
;
49
int
naxis
;
50
int
naxisn
[999];
51
int
pcount
;
52
int
gcount
;
53
int
groups
;
54
int
rgb
;
/**< 1 if file contains RGB image, 0 otherwise */
55
int
image_extension
;
56
double
bscale
;
57
double
bzero
;
58
int
data_min_found
;
59
double
data_min
;
60
int
data_max_found
;
61
double
data_max
;
62
}
FITSHeader
;
63
64
65
/**
66
* Initialize a single header line
67
* @param header pointer to the header
68
* @param state current state of parsing the header
69
* @return 0 if successful otherwise AVERROR_INVALIDDATA
70
*/
71
int
avpriv_fits_header_init
(
FITSHeader
*
header
,
FITSHeaderState
state
);
72
73
/**
74
* Parse a single header line
75
* @param avcl used in av_log
76
* @param header pointer to the header
77
* @param line one header line
78
* @param metadata used to store metadata while decoding
79
* @return 0 if successful otherwise AVERROR_INVALIDDATA
80
*/
81
int
avpriv_fits_header_parse_line
(
void
*avcl,
FITSHeader
*
header
,
const
uint8_t
line
[80],
AVDictionary
***metadata);
82
83
#endif
/* AVCODEC_FITS_H */
FITSHeader::rgb
int rgb
1 if file contains RGB image, 0 otherwise
Definition:
fits.h:54
STATE_PCOUNT
@ STATE_PCOUNT
Definition:
fits.h:35
FITSHeader::bscale
double bscale
Definition:
fits.h:56
FITSHeader::data_max
double data_max
Definition:
fits.h:61
FITSHeader::naxis
int naxis
Definition:
fits.h:49
FITSHeader::gcount
int gcount
Definition:
fits.h:52
avpriv_fits_header_parse_line
int avpriv_fits_header_parse_line(void *avcl, FITSHeader *header, const uint8_t line[80], AVDictionary ***metadata)
Parse a single header line.
Definition:
fits.c:113
STATE_GCOUNT
@ STATE_GCOUNT
Definition:
fits.h:36
AVDictionary
Definition:
dict.c:34
FITSHeader::image_extension
int image_extension
Definition:
fits.h:55
STATE_XTENSION
@ STATE_XTENSION
Definition:
fits.h:31
FITSHeader::data_min_found
int data_min_found
Definition:
fits.h:58
avpriv_fits_header_init
int avpriv_fits_header_init(FITSHeader *header, FITSHeaderState state)
Initialize a single header line.
Definition:
fits.c:31
STATE_REST
@ STATE_REST
Definition:
fits.h:37
FITSHeader::bzero
double bzero
Definition:
fits.h:57
FITSHeader::state
FITSHeaderState state
Definition:
fits.h:44
FITSHeader::data_min
double data_min
Definition:
fits.h:59
FITSHeader::naxis_index
unsigned naxis_index
Definition:
fits.h:45
FITSHeader::bitpix
int bitpix
Definition:
fits.h:46
FITSHeader::pcount
int pcount
Definition:
fits.h:51
header
static const uint8_t header[24]
Definition:
sdr2.c:67
line
Definition:
graph2dot.c:48
STATE_BITPIX
@ STATE_BITPIX
Definition:
fits.h:32
STATE_SIMPLE
@ STATE_SIMPLE
Definition:
fits.h:30
dict.h
FITSHeaderState
FITSHeaderState
Definition:
fits.h:29
FITSHeader::data_max_found
int data_max_found
Definition:
fits.h:60
FITSHeader::naxisn
int naxisn[999]
Definition:
fits.h:50
FITSHeader
Structure to store the header keywords in FITS file.
Definition:
fits.h:43
state
static struct @362 state
FITSHeader::blank
int64_t blank
Definition:
fits.h:47
FITSHeader::groups
int groups
Definition:
fits.h:53
FITSHeader::blank_found
int blank_found
Definition:
fits.h:48
STATE_NAXIS_N
@ STATE_NAXIS_N
Definition:
fits.h:34
STATE_NAXIS
@ STATE_NAXIS
Definition:
fits.h:33
Generated on Thu Apr 18 2024 22:41:48 for FFmpeg by
1.8.17