FFmpeg
Loading...
Searching...
No Matches
cbs_jpeg.h
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#ifndef AVCODEC_CBS_JPEG_H
20#define AVCODEC_CBS_JPEG_H
21
22#include <stddef.h>
23#include <stdint.h>
24
25#include "libavutil/buffer.h"
26
27
28enum {
33
39
43};
44
45enum {
47
50};
51
52
53typedef struct JPEGRawFrameHeader {
54 uint16_t Lf;
55 uint8_t P;
56 uint16_t Y;
57 uint16_t X;
58 uint16_t Nf;
59
65
66typedef struct JPEGRawScanHeader {
67 uint16_t Ls;
68 uint8_t Ns;
69
73
74 uint8_t Ss;
75 uint8_t Se;
76 uint8_t Ah;
77 uint8_t Al;
79
86
88 uint8_t Pq;
89 uint8_t Tq;
90 uint16_t Q[64];
92
97
98typedef struct JPEGRawHuffmanTable {
99 uint8_t Tc;
100 uint8_t Th;
101 uint8_t L[16];
102 uint8_t V[256];
104
109
115
116typedef struct JPEGRawComment {
117 uint16_t Lc;
118 uint8_t *Cm;
121
122
123#endif /* AVCODEC_CBS_JPEG_H */
refcounted data buffer API
@ JPEG_MAX_WIDTH
Definition cbs_jpeg.h:49
@ JPEG_MAX_HEIGHT
Definition cbs_jpeg.h:48
@ JPEG_MAX_COMPONENTS
Definition cbs_jpeg.h:46
@ JPEG_MARKER_COM
Definition cbs_jpeg.h:42
@ JPEG_MARKER_DHT
Definition cbs_jpeg.h:34
@ JPEG_MARKER_EOI
Definition cbs_jpeg.h:36
@ JPEG_MARKER_SOF1
Definition cbs_jpeg.h:30
@ JPEG_MARKER_APPN
Definition cbs_jpeg.h:40
@ JPEG_MARKER_DQT
Definition cbs_jpeg.h:38
@ JPEG_MARKER_SOF2
Definition cbs_jpeg.h:31
@ JPEG_MARKER_JPGN
Definition cbs_jpeg.h:41
@ JPEG_MARKER_SOF3
Definition cbs_jpeg.h:32
@ JPEG_MARKER_SOF0
Definition cbs_jpeg.h:29
@ JPEG_MARKER_SOS
Definition cbs_jpeg.h:37
@ JPEG_MARKER_SOI
Definition cbs_jpeg.h:35
A reference to a data buffer.
Definition buffer.h:82
AVBufferRef * Ap_ref
Definition cbs_jpeg.h:113
AVBufferRef * Cm_ref
Definition cbs_jpeg.h:119
uint8_t * Cm
Definition cbs_jpeg.h:118
uint16_t Lc
Definition cbs_jpeg.h:117
uint8_t V[JPEG_MAX_COMPONENTS]
Definition cbs_jpeg.h:62
uint8_t H[JPEG_MAX_COMPONENTS]
Definition cbs_jpeg.h:61
uint8_t C[JPEG_MAX_COMPONENTS]
Definition cbs_jpeg.h:60
uint8_t Tq[JPEG_MAX_COMPONENTS]
Definition cbs_jpeg.h:63
JPEGRawHuffmanTable table[8]
Definition cbs_jpeg.h:107
uint8_t V[256]
Definition cbs_jpeg.h:102
uint8_t L[16]
Definition cbs_jpeg.h:101
JPEGRawQuantisationTable table[4]
Definition cbs_jpeg.h:95
uint8_t Ta[JPEG_MAX_COMPONENTS]
Definition cbs_jpeg.h:72
uint8_t Td[JPEG_MAX_COMPONENTS]
Definition cbs_jpeg.h:71
uint8_t Cs[JPEG_MAX_COMPONENTS]
Definition cbs_jpeg.h:70
AVBufferRef * data_ref
Definition cbs_jpeg.h:83
JPEGRawScanHeader header
Definition cbs_jpeg.h:81
size_t data_size
Definition cbs_jpeg.h:84
uint8_t * data
Definition cbs_jpeg.h:82