libavcodec/tiffenc.c File Reference

TIFF image encoder. More...

#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

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)
AVCodec ff_tiff_encoder


Detailed Description

TIFF image encoder.

Author:
Bartlomiej Wolowiec

Definition in file tiffenc.c.


Define Documentation

#define TIFF_MAX_ENTRY   32

Definition at line 37 of file tiffenc.c.

Referenced by add_entry().


Function Documentation

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.

Parameters:
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 111 of file tiffenc.c.

Referenced by add_entry1().

static void add_entry1 ( TiffEncoderContext s,
enum TiffTags  tag,
enum TiffTypes  type,
int  val 
) [static]

Definition at line 134 of file tiffenc.c.

static int check_size ( TiffEncoderContext s,
uint64_t  need 
) [inline, static]

Check free space in buffer.

Parameters:
s Tiff context
need Needed bytes
Returns:
0 - ok, 1 - no free space

Definition at line 73 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]

according to CCIR Recommendation 601.1

Definition at line 199 of file tiffenc.c.

static int encode_strip ( TiffEncoderContext s,
const int8_t *  src,
uint8_t *  dst,
int  n,
int  compr 
) [static]

Encode one strip in tiff file.

Parameters:
s Tiff context
src Input buffer
dst Output buffer
n Size of input buffer
compr Compression method
Returns:
Number of output bytes. If an output error is encountered, -1 returned

Definition at line 151 of file tiffenc.c.

static void pack_yuv ( TiffEncoderContext s,
uint8_t *  dst,
int  lnum 
) [static]

Definition at line 182 of file tiffenc.c.

static void tnput ( uint8_t **  p,
int  n,
const uint8_t *  val,
enum TiffTypes  type,
int  flip 
) [static]

Put n values to buffer.

Parameters:
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 92 of file tiffenc.c.

Referenced by add_entry().


Variable Documentation

const uint8_t type_sizes2[6] [static]

Initial value:

 {
    0, 1, 1, 2, 4, 8
}
sizes of various TIFF field types (string size = 1)

Definition at line 40 of file tiffenc.c.

Referenced by add_entry(), and tnput().


Generated on Fri Oct 26 02:38:18 2012 for FFmpeg by  doxygen 1.5.8