FFmpeg
|
#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "jpegtables.h"
#include "mjpegenc_common.h"
#include "mjpegenc_huffman.h"
#include "mpegvideo.h"
#include "mjpeg.h"
#include "mjpegenc.h"
#include "profiles.h"
Go to the source code of this file.
Macros | |
#define | OFFSET(x) offsetof(MpegEncContext, x) |
#define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
static av_cold void | init_uni_ac_vlc (const uint8_t huff_size_ac[256], uint8_t *uni_ac_vlc_len) |
static void | mjpeg_encode_picture_frame (MpegEncContext *s) |
Encodes and outputs the entire frame in the JPEG format. More... | |
static void | mjpeg_build_optimal_huffman (MJpegContext *m) |
Builds all 4 optimal Huffman tables. More... | |
int | ff_mjpeg_encode_stuffing (MpegEncContext *s) |
Writes the complete JPEG frame when optimal huffman tables are enabled, otherwise writes the stuffing. More... | |
static int | alloc_huffman (MpegEncContext *s) |
av_cold int | ff_mjpeg_encode_init (MpegEncContext *s) |
av_cold void | ff_mjpeg_encode_close (MpegEncContext *s) |
static void | ff_mjpeg_encode_code (MJpegContext *s, uint8_t table_id, int code) |
Add code and table_id to the JPEG buffer. More... | |
static void | ff_mjpeg_encode_coef (MJpegContext *s, uint8_t table_id, int val, int run) |
Add the coefficient's data to the JPEG buffer. More... | |
static void | record_block (MpegEncContext *s, int16_t *block, int n) |
Add the block's data into the JPEG buffer. More... | |
static void | encode_block (MpegEncContext *s, int16_t *block, int n) |
void | ff_mjpeg_encode_mb (MpegEncContext *s, int16_t block[12][64]) |
Variables | |
static const AVOption | options [] |
MJPEG encoder.
Definition in file mjpegenc.c.
#define OFFSET | ( | x | ) | offsetof(MpegEncContext, x) |
Definition at line 575 of file mjpegenc.c.
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 576 of file mjpegenc.c.
|
static |
Definition at line 44 of file mjpegenc.c.
Referenced by ff_mjpeg_encode_init(), and ff_mjpeg_encode_stuffing().
|
static |
Encodes and outputs the entire frame in the JPEG format.
s | The MpegEncContext. |
Definition at line 73 of file mjpegenc.c.
Referenced by ff_mjpeg_encode_stuffing().
|
static |
Builds all 4 optimal Huffman tables.
Uses the data stored in the JPEG buffer to compute the tables. Stores the Huffman tables in the bits_* and val_* arrays in the MJpegContext.
m | MJpegContext containing the JPEG buffer. |
Definition at line 124 of file mjpegenc.c.
Referenced by ff_mjpeg_encode_stuffing().
int ff_mjpeg_encode_stuffing | ( | MpegEncContext * | s | ) |
Writes the complete JPEG frame when optimal huffman tables are enabled, otherwise writes the stuffing.
Header + values + stuffing.
s | The MpegEncContext. |
Definition at line 184 of file mjpegenc.c.
Referenced by write_slice_end().
|
static |
Definition at line 230 of file mjpegenc.c.
Referenced by ff_mjpeg_encode_init().
av_cold int ff_mjpeg_encode_init | ( | MpegEncContext * | s | ) |
Definition at line 258 of file mjpegenc.c.
Referenced by ff_mpv_encode_init().
av_cold void ff_mjpeg_encode_close | ( | MpegEncContext * | s | ) |
Definition at line 313 of file mjpegenc.c.
Referenced by ff_mpv_encode_end().
|
inlinestatic |
Add code and table_id to the JPEG buffer.
s | The MJpegContext which contains the JPEG buffer. |
table_id | Which Huffman table the code belongs to. |
code | The encoded exponent of the coefficients and the run-bits. |
Definition at line 328 of file mjpegenc.c.
Referenced by ff_mjpeg_encode_coef(), and record_block().
|
static |
Add the coefficient's data to the JPEG buffer.
s | The MJpegContext which contains the JPEG buffer. |
table_id | Which Huffman table the code belongs to. |
val | The coefficient. |
run | The run-bits. |
Definition at line 343 of file mjpegenc.c.
Referenced by record_block().
|
static |
Add the block's data into the JPEG buffer.
s | The MJpegEncContext that contains the JPEG buffer. |
block | The block. |
n | The block's index or number. |
Definition at line 371 of file mjpegenc.c.
Referenced by ff_mjpeg_encode_mb().
|
static |
Definition at line 414 of file mjpegenc.c.
Referenced by ff_mjpeg_encode_mb().
void ff_mjpeg_encode_mb | ( | MpegEncContext * | s, |
int16_t | block[12][64] | ||
) |
Definition at line 472 of file mjpegenc.c.
Referenced by encode_mb_internal().
|
static |
Definition at line 577 of file mjpegenc.c.