#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "avcodec.h"
#include "bytestream.h"
#include "tiff.h"
#include "rle.h"
#include "lzw.h"
#include "put_bits.h"
Go to the source code of this file.
Data Structures | |
| struct | TiffEncoderContext |
Defines | |
| #define | TIFF_MAX_ENTRY 32 |
| #define | OFFSET(x) offsetof(TiffEncoderContext, x) |
| #define | VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
Functions | |
| static int | check_size (TiffEncoderContext *s, uint64_t need) |
| Check free space in buffer. | |
| static void | tnput (uint8_t **p, int n, const uint8_t *val, enum TiffTypes type, int flip) |
| Put n values to buffer. | |
| static void | add_entry (TiffEncoderContext *s, enum TiffTags tag, enum TiffTypes type, int count, const void *ptr_val) |
| Add entry to directory in tiff header. | |
| static void | add_entry1 (TiffEncoderContext *s, enum TiffTags tag, enum TiffTypes type, int val) |
| static int | encode_strip (TiffEncoderContext *s, const int8_t *src, uint8_t *dst, int n, int compr) |
| Encode one strip in tiff file. | |
| static void | pack_yuv (TiffEncoderContext *s, uint8_t *dst, int lnum) |
| static int | encode_frame (AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data) |
Variables | |
| static const uint8_t | type_sizes2 [6] |
| sizes of various TIFF field types (string size = 1) | |
| static const AVOption | options [] |
| static const AVClass | tiffenc_class |
| AVCodec | ff_tiff_encoder |
Definition in file tiffenc.c.
| #define OFFSET | ( | x | ) | offsetof(TiffEncoderContext, x) |
| #define TIFF_MAX_ENTRY 32 |
| #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM |
| static void add_entry | ( | TiffEncoderContext * | s, | |
| enum TiffTags | tag, | |||
| enum TiffTypes | type, | |||
| int | count, | |||
| const void * | ptr_val | |||
| ) | [static] |
Add entry to directory in tiff header.
| s | Tiff context | |
| tag | Tag that identifies the entry | |
| type | Entry type | |
| count | The number of values | |
| ptr_val | Pointer to values |
Definition at line 117 of file tiffenc.c.
Referenced by add_entry1().
| static void add_entry1 | ( | TiffEncoderContext * | s, | |
| enum TiffTags | tag, | |||
| enum TiffTypes | type, | |||
| int | val | |||
| ) | [static] |
| static int check_size | ( | TiffEncoderContext * | s, | |
| uint64_t | need | |||
| ) | [inline, static] |
Check free space in buffer.
| s | Tiff context | |
| need | Needed bytes |
Definition at line 79 of file tiffenc.c.
Referenced by add_entry(), and encode_strip().
| static int encode_frame | ( | AVCodecContext * | avctx, | |
| unsigned char * | buf, | |||
| int | buf_size, | |||
| void * | data | |||
| ) | [static] |
| static int encode_strip | ( | TiffEncoderContext * | s, | |
| const int8_t * | src, | |||
| uint8_t * | dst, | |||
| int | n, | |||
| int | compr | |||
| ) | [static] |
| static void pack_yuv | ( | TiffEncoderContext * | s, | |
| uint8_t * | dst, | |||
| int | lnum | |||
| ) | [static] |
| static void tnput | ( | uint8_t ** | p, | |
| int | n, | |||
| const uint8_t * | val, | |||
| enum TiffTypes | type, | |||
| int | flip | |||
| ) | [static] |
Put n values to buffer.
| p | Pointer to pointer to output buffer | |
| n | Number of values | |
| val | Pointer to values | |
| type | Type of values | |
| flip | =0 - normal copy, >0 - flip |
Definition at line 98 of file tiffenc.c.
Referenced by add_entry().
Initial value:
{
.name = "tiff",
.type = AVMEDIA_TYPE_VIDEO,
.id = CODEC_ID_TIFF,
.priv_data_size = sizeof(TiffEncoderContext),
.encode = encode_frame,
.pix_fmts =
(const enum PixelFormat[]) {PIX_FMT_RGB24, PIX_FMT_PAL8, PIX_FMT_GRAY8,
PIX_FMT_MONOBLACK, PIX_FMT_MONOWHITE,
PIX_FMT_YUV420P, PIX_FMT_YUV422P,
PIX_FMT_YUV444P, PIX_FMT_YUV410P,
PIX_FMT_YUV411P, PIX_FMT_RGB48LE,
PIX_FMT_RGBA, PIX_FMT_NONE},
.long_name = NULL_IF_CONFIG_SMALL("TIFF image"),
.priv_class = &tiffenc_class,
}
Initial value:
{
{"dpi", "set the image resolution (in dpi)", OFFSET(dpi), AV_OPT_TYPE_INT, {.dbl = 72}, 1, 0x10000, AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_ENCODING_PARAM},
{ "compression_algo", NULL, OFFSET(compr), AV_OPT_TYPE_INT, {TIFF_PACKBITS}, TIFF_RAW, TIFF_DEFLATE, VE, "compression_algo" },
{ "packbits", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_PACKBITS}, 0, 0, VE, "compression_algo" },
{ "raw", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_RAW}, 0, 0, VE, "compression_algo" },
{ "lzw", NULL, 0, AV_OPT_TYPE_CONST, {TIFF_LZW}, 0, 0, VE, "compression_algo" },
{ NULL },
}
const AVClass tiffenc_class [static] |
Initial value:
{
.class_name = "TIFF encoder",
.item_name = av_default_item_name,
.option = options,
.version = LIBAVUTIL_VERSION_INT,
}
const uint8_t type_sizes2[6] [static] |
Initial value:
{
0, 1, 1, 2, 4, 8
}
Definition at line 45 of file tiffenc.c.
Referenced by add_entry(), and tnput().
1.5.8