FFmpeg
Loading...
Searching...
No Matches
dpxenc.c File Reference
#include "libavutil/attributes.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "encode.h"
#include "version.h"
#include "dpx.h"

Go to the source code of this file.

Data Structures

struct  DPXContext
 

Macros

#define write16(p, value)
 
#define write32(p, value)
 
#define HEADER_SIZE   1664 /* DPX Generic header */
 

Functions

static av_cold int encode_init (AVCodecContext *avctx)
 
static av_always_inline void write16_internal (int big_endian, void *p, int value)
 
static av_always_inline void write32_internal (int big_endian, void *p, int value)
 
static void encode_rgb48_10bit (AVCodecContext *avctx, const AVFrame *pic, uint8_t *dst)
 
static void encode_gbrp10 (AVCodecContext *avctx, const AVFrame *pic, uint8_t *dst)
 
static void encode_gbrp12 (AVCodecContext *avctx, const AVFrame *pic, uint8_t *dst)
 
static int encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
 

Variables

const FFCodec ff_dpx_encoder
 

Macro Definition Documentation

◆ write16

#define write16 ( p,
value )
Value:
write16_internal(s->big_endian, p, value)
#define s(width, name)
Definition cbs_vp9.c:198
static av_always_inline void write16_internal(int big_endian, void *p, int value)
Definition dpxenc.c:79
double value
Definition eval.c:102

Definition at line 91 of file dpxenc.c.

Referenced by encode_frame(), and encode_gbrp12().

◆ write32

#define write32 ( p,
value )
Value:
write32_internal(s->big_endian, p, value)
static av_always_inline void write32_internal(int big_endian, void *p, int value)
Definition dpxenc.c:85

Definition at line 92 of file dpxenc.c.

Referenced by encode_frame(), encode_gbrp10(), and encode_rgb48_10bit().

◆ HEADER_SIZE

#define HEADER_SIZE   1664 /* DPX Generic header */

Function Documentation

◆ encode_init()

static av_cold int encode_init ( AVCodecContext * avctx)
static

Definition at line 40 of file dpxenc.c.

◆ write16_internal()

static av_always_inline void write16_internal ( int big_endian,
void * p,
int value )
static

Definition at line 79 of file dpxenc.c.

◆ write32_internal()

static av_always_inline void write32_internal ( int big_endian,
void * p,
int value )
static

Definition at line 85 of file dpxenc.c.

◆ encode_rgb48_10bit()

static void encode_rgb48_10bit ( AVCodecContext * avctx,
const AVFrame * pic,
uint8_t * dst )
static

Definition at line 94 of file dpxenc.c.

Referenced by encode_frame().

◆ encode_gbrp10()

static void encode_gbrp10 ( AVCodecContext * avctx,
const AVFrame * pic,
uint8_t * dst )
static

Definition at line 120 of file dpxenc.c.

Referenced by encode_frame().

◆ encode_gbrp12()

static void encode_gbrp12 ( AVCodecContext * avctx,
const AVFrame * pic,
uint8_t * dst )
static

Definition at line 146 of file dpxenc.c.

Referenced by encode_frame().

◆ encode_frame()

static int encode_frame ( AVCodecContext * avctx,
AVPacket * pkt,
const AVFrame * frame,
int * got_packet )
static

Definition at line 177 of file dpxenc.c.

Variable Documentation

◆ ff_dpx_encoder

const FFCodec ff_dpx_encoder
Initial value:
= {
.p.name = "dpx",
CODEC_LONG_NAME("DPX (Digital Picture Exchange) image"),
.p.type = AVMEDIA_TYPE_VIDEO,
.p.id = AV_CODEC_ID_DPX,
.p.capabilities = AV_CODEC_CAP_DR1,
.priv_data_size = sizeof(DPXContext),
}
static av_cold int encode_init(AVCodecContext *avctx)
Definition asvenc.c:373
#define CODEC_PIXFMTS(...)
#define FF_CODEC_ENCODE_CB(func)
#define CODEC_LONG_NAME(str)
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
static int encode_frame(OutputFile *of, OutputStream *ost, AVFrame *frame, AVPacket *pkt)
Definition ffmpeg_enc.c:694
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
Definition codec.h:49
@ AV_CODEC_ID_DPX
Definition codec_id.h:178
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
@ AV_PIX_FMT_GRAY16BE
Y , 16bpp, big-endian.
Definition pixfmt.h:104
@ AV_PIX_FMT_RGB24
packed RGB 8:8:8, 24bpp, RGBRGB...
Definition pixfmt.h:75
@ AV_PIX_FMT_GBRP10BE
planar GBR 4:4:4 30bpp, big-endian
Definition pixfmt.h:169
@ AV_PIX_FMT_GBRP12BE
planar GBR 4:4:4 36bpp, big-endian
Definition pixfmt.h:279
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition pixfmt.h:81
@ AV_PIX_FMT_RGB48BE
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as big...
Definition pixfmt.h:109
@ AV_PIX_FMT_ABGR
packed ABGR 8:8:8:8, 32bpp, ABGRABGR...
Definition pixfmt.h:101
@ AV_PIX_FMT_RGBA64BE
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
Definition pixfmt.h:202
@ AV_PIX_FMT_RGBA64LE
packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is st...
Definition pixfmt.h:203
@ AV_PIX_FMT_RGBA
packed RGBA 8:8:8:8, 32bpp, RGBARGBA...
Definition pixfmt.h:100
@ AV_PIX_FMT_GBRP12LE
planar GBR 4:4:4 36bpp, little-endian
Definition pixfmt.h:280
@ AV_PIX_FMT_RGB48LE
packed RGB 16:16:16, 48bpp, 16R, 16G, 16B, the 2-byte value for each R/G/B component is stored as lit...
Definition pixfmt.h:110
@ AV_PIX_FMT_GRAY16LE
Y , 16bpp, little-endian.
Definition pixfmt.h:105
@ AV_PIX_FMT_GBRP10LE
planar GBR 4:4:4 30bpp, little-endian
Definition pixfmt.h:170

Definition at line 320 of file dpxenc.c.