FFmpeg
Classes | Macros | Variables
proresenc_anatoliy.c File Reference

Apple ProRes encoder (Anatoliy Wasserman version) Known FOURCCs: 'apch' (HQ), 'apcn' (SD), 'apcs' (LT), 'acpo' (Proxy) More...

#include "avcodec.h"
#include "dct.h"
#include "internal.h"
#include "put_bits.h"
#include "bytestream.h"
#include "fdctdsp.h"

Classes

struct  ProresContext
 

Macros

#define DEFAULT_SLICE_MB_WIDTH   8
 
#define FF_PROFILE_PRORES_PROXY   0
 
#define FF_PROFILE_PRORES_LT   1
 
#define FF_PROFILE_PRORES_STANDARD   2
 
#define FF_PROFILE_PRORES_HQ   3
 
#define QSCALE(qmat, ind, val)   ((val) / ((qmat)[ind]))
 
#define TO_GOLOMB(val)   (((val) << 1) ^ ((val) >> 31))
 
#define DIFF_SIGN(val, sign)   (((val) >> 31) ^ (sign))
 
#define IS_NEGATIVE(val)   ((((val) >> 31) ^ -1) + 1)
 
#define TO_GOLOMB2(val, sign)   ((val)==0 ? 0 : ((val) << 1) + (sign))
 
#define FIRST_DC_CB   0xB8
 

Variables

AVCodec ff_prores_aw_encoder
 
AVCodec ff_prores_encoder
 

Detailed Description

Apple ProRes encoder (Anatoliy Wasserman version) Known FOURCCs: 'apch' (HQ), 'apcn' (SD), 'apcs' (LT), 'acpo' (Proxy)

Variable Documentation

§ ff_prores_aw_encoder

AVCodec ff_prores_aw_encoder
Initial value:
= {
.name = "prores_aw",
.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_PRORES,
.priv_data_size = sizeof(ProresContext),
.init = prores_encode_init,
.close = prores_encode_close,
.encode2 = prores_encode_frame,
.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV422P10, AV_PIX_FMT_NONE},
.profiles = profiles
}
#define AV_CODEC_CAP_INTRA_ONLY
Codec is intra only.
Definition: avcodec.h:1045
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
Definition: avcodec.h:1015
Definition: proresdec.h:37
AVPixelFormat
Pixel format.
Definition: pixfmt.h:60

§ ff_prores_encoder

AVCodec ff_prores_encoder
Initial value:
= {
.name = "prores",
.long_name = NULL_IF_CONFIG_SMALL("Apple ProRes"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_PRORES,
.priv_data_size = sizeof(ProresContext),
.init = prores_encode_init,
.close = prores_encode_close,
.encode2 = prores_encode_frame,
.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV422P10, AV_PIX_FMT_NONE},
.profiles = profiles
}
#define AV_CODEC_CAP_INTRA_ONLY
Codec is intra only.
Definition: avcodec.h:1045
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
Definition: avcodec.h:1015
Definition: proresdec.h:37
AVPixelFormat
Pixel format.
Definition: pixfmt.h:60