FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
mjpegenc.h
Go to the documentation of this file.
1
/*
2
* MJPEG encoder
3
* Copyright (c) 2000, 2001 Fabrice Bellard
4
* Copyright (c) 2003 Alex Beregszaszi
5
* Copyright (c) 2003-2004 Michael Niedermayer
6
*
7
* Support for external huffman table, various fixes (AVID workaround),
8
* aspecting, new decode_frame mechanism and apple mjpeg-b support
9
* by Alex Beregszaszi
10
*
11
* This file is part of FFmpeg.
12
*
13
* FFmpeg is free software; you can redistribute it and/or
14
* modify it under the terms of the GNU Lesser General Public
15
* License as published by the Free Software Foundation; either
16
* version 2.1 of the License, or (at your option) any later version.
17
*
18
* FFmpeg is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21
* Lesser General Public License for more details.
22
*
23
* You should have received a copy of the GNU Lesser General Public
24
* License along with FFmpeg; if not, write to the Free Software
25
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
26
*/
27
28
/**
29
* @file
30
* MJPEG encoder.
31
*/
32
33
#ifndef AVCODEC_MJPEGENC_H
34
#define AVCODEC_MJPEGENC_H
35
36
#include "
dsputil.h
"
37
#include "
mpegvideo.h
"
38
39
typedef
struct
MJpegContext
{
40
uint8_t
huff_size_dc_luminance
[12];
//FIXME use array [3] instead of lumi / chrom, for easier addressing
41
uint16_t
huff_code_dc_luminance
[12];
42
uint8_t
huff_size_dc_chrominance
[12];
43
uint16_t
huff_code_dc_chrominance
[12];
44
45
uint8_t
huff_size_ac_luminance
[256];
46
uint16_t
huff_code_ac_luminance
[256];
47
uint8_t
huff_size_ac_chrominance
[256];
48
uint16_t
huff_code_ac_chrominance
[256];
49
}
MJpegContext
;
50
51
int
ff_mjpeg_encode_init
(
MpegEncContext
*s);
52
void
ff_mjpeg_encode_close
(
MpegEncContext
*s);
53
void
ff_mjpeg_encode_picture_header
(
MpegEncContext
*s);
54
void
ff_mjpeg_encode_picture_trailer
(
MpegEncContext
*s);
55
void
ff_mjpeg_encode_stuffing
(
MpegEncContext
*s);
56
void
ff_mjpeg_encode_dc
(
MpegEncContext
*s,
int
val,
57
uint8_t
*huff_size, uint16_t *huff_code);
58
void
ff_mjpeg_encode_mb
(
MpegEncContext
*s,
DCTELEM
block
[6][64]);
59
60
#endif
/* AVCODEC_MJPEGENC_H */
Generated on Sat May 25 2013 03:58:37 for FFmpeg by
1.8.2