mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
lavc: support AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE in all no-delay encoders
Including fake-delay encoders marked with FF_CODEC_CAP_EOF_FLUSH.
This commit is contained in:
parent
5c0348f3d6
commit
8d73f3ce56
@ -112,7 +112,7 @@ const FFCodec ff_ac3_fixed_encoder = {
|
||||
CODEC_LONG_NAME("ATSC A/52A (AC-3)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_AC3,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(AC3EncodeContext),
|
||||
.init = ac3_fixed_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_ac3_fixed_encode_frame),
|
||||
|
@ -116,7 +116,7 @@ const FFCodec ff_ac3_encoder = {
|
||||
CODEC_LONG_NAME("ATSC A/52A (AC-3)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_AC3,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(AC3EncodeContext),
|
||||
.init = ff_ac3_float_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_ac3_float_encode_frame),
|
||||
|
@ -1003,7 +1003,8 @@ const FFCodec ff_ ## name_ ## _encoder = { \
|
||||
.p.id = id_, \
|
||||
.p.sample_fmts = sample_fmts_, \
|
||||
.p.ch_layouts = ch_layouts, \
|
||||
.p.capabilities = capabilities_ | AV_CODEC_CAP_DR1, \
|
||||
.p.capabilities = capabilities_ | AV_CODEC_CAP_DR1 | \
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, \
|
||||
.p.priv_class = &adpcm_encoder_class, \
|
||||
.priv_data_size = sizeof(ADPCMEncodeContext), \
|
||||
.init = adpcm_encode_init, \
|
||||
|
@ -192,7 +192,8 @@ const FFCodec ff_adpcm_adx_encoder = {
|
||||
CODEC_LONG_NAME("SEGA CRI ADX ADPCM"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_ADPCM_ADX,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(ADXContext),
|
||||
.init = adx_encode_init,
|
||||
FF_CODEC_ENCODE_CB(adx_encode_frame),
|
||||
|
@ -653,7 +653,8 @@ const FFCodec ff_alac_encoder = {
|
||||
CODEC_LONG_NAME("ALAC (Apple Lossless Audio Codec)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_ALAC,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(AlacEncodeContext),
|
||||
.p.priv_class = &alacenc_class,
|
||||
.init = alac_encode_init,
|
||||
|
@ -106,7 +106,7 @@ const FFCodec ff_alias_pix_encoder = {
|
||||
CODEC_LONG_NAME("Alias/Wavefront PIX image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_ALIAS_PIX,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_BGR24, AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE
|
||||
|
@ -271,7 +271,7 @@ const FFCodec ff_aptx_encoder = {
|
||||
CODEC_LONG_NAME("aptX (Audio Processing Technology for Bluetooth)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_APTX,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(AptXEncContext),
|
||||
.init = aptx_encode_init,
|
||||
FF_CODEC_ENCODE_CB(aptx_encode_frame),
|
||||
@ -290,7 +290,7 @@ const FFCodec ff_aptx_hd_encoder = {
|
||||
CODEC_LONG_NAME("aptX HD (Audio Processing Technology for Bluetooth)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_APTX_HD,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(AptXEncContext),
|
||||
.init = aptx_encode_init,
|
||||
FF_CODEC_ENCODE_CB(aptx_encode_frame),
|
||||
|
@ -362,7 +362,7 @@ const FFCodec ff_asv1_encoder = {
|
||||
CODEC_LONG_NAME("ASUS V1"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_ASV1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(ASVEncContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
@ -377,7 +377,7 @@ const FFCodec ff_asv2_encoder = {
|
||||
CODEC_LONG_NAME("ASUS V2"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_ASV2,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(ASVEncContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -96,7 +96,8 @@ const FFCodec ff_avui_encoder = {
|
||||
CODEC_LONG_NAME("Avid Meridien Uncompressed"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_AVUI,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_UYVY422, AV_PIX_FMT_NONE },
|
||||
.init = avui_encode_init,
|
||||
FF_CODEC_ENCODE_CB(avui_encode_frame),
|
||||
|
@ -110,7 +110,8 @@ const FFCodec ff_bitpacked_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_BITPACKED,
|
||||
.priv_data_size = sizeof(struct BitpackedContext),
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV422P10,
|
||||
|
@ -161,7 +161,7 @@ const FFCodec ff_bmp_encoder = {
|
||||
CODEC_LONG_NAME("BMP (Windows and OS/2 bitmap)"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_BMP,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = bmp_encode_init,
|
||||
FF_CODEC_ENCODE_CB(bmp_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
|
@ -859,7 +859,8 @@ const FFCodec ff_cfhd_encoder = {
|
||||
CODEC_LONG_NAME("GoPro CineForm HD"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_CFHD,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(CFHDEncContext),
|
||||
.p.priv_class = &cfhd_class,
|
||||
.init = cfhd_encode_init,
|
||||
|
@ -1219,7 +1219,7 @@ const FFCodec ff_cinepak_encoder = {
|
||||
CODEC_LONG_NAME("Cinepak"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_CINEPAK,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(CinepakEncContext),
|
||||
.init = cinepak_encode_init,
|
||||
FF_CODEC_ENCODE_CB(cinepak_encode_frame),
|
||||
|
@ -113,7 +113,7 @@ const FFCodec ff_cljr_encoder = {
|
||||
CODEC_LONG_NAME("Cirrus Logic AccuPak"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_CLJR,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(CLJRContext),
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV411P,
|
||||
|
@ -101,7 +101,7 @@ const FFCodec ff_comfortnoise_encoder = {
|
||||
CODEC_LONG_NAME("RFC 3389 comfort noise generator"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_COMFORT_NOISE,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(CNGContext),
|
||||
.init = cng_encode_init,
|
||||
FF_CODEC_ENCODE_CB(cng_encode_frame),
|
||||
|
@ -1315,7 +1315,8 @@ const FFCodec ff_dca_encoder = {
|
||||
CODEC_LONG_NAME("DCA (DTS Coherent Acoustics)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_DTS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(DCAEncContext),
|
||||
.init = encode_init,
|
||||
.close = encode_close,
|
||||
|
@ -116,5 +116,6 @@ const FFCodec ff_dfpwm_encoder = {
|
||||
.init = dfpwm_enc_init,
|
||||
FF_CODEC_ENCODE_CB(dfpwm_enc_frame),
|
||||
.p.sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_U8, AV_SAMPLE_FMT_NONE},
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
};
|
||||
|
@ -1359,7 +1359,7 @@ const FFCodec ff_dnxhd_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_DNXHD,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_SLICE_THREADS,
|
||||
AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(DNXHDEncContext),
|
||||
.init = dnxhd_encode_init,
|
||||
FF_CODEC_ENCODE_CB(dnxhd_encode_picture),
|
||||
|
@ -1239,7 +1239,8 @@ const FFCodec ff_dvvideo_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_DVVIDEO,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_SLICE_THREADS,
|
||||
AV_CODEC_CAP_SLICE_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(DVEncContext),
|
||||
.init = dvvideo_encode_init,
|
||||
FF_CODEC_ENCODE_CB(dvvideo_encode_frame),
|
||||
|
@ -254,7 +254,7 @@ const FFCodec ff_eac3_encoder = {
|
||||
CODEC_LONG_NAME("ATSC A/52 E-AC-3"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_EAC3,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(AC3EncodeContext),
|
||||
.init = ff_ac3_float_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_ac3_float_encode_frame),
|
||||
|
@ -190,6 +190,21 @@ int ff_encode_get_frame(AVCodecContext *avctx, AVFrame *frame)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ff_encode_reordered_opaque(AVCodecContext *avctx,
|
||||
AVPacket *pkt, const AVFrame *frame)
|
||||
{
|
||||
avctx->reordered_opaque = frame->reordered_opaque;
|
||||
|
||||
if (avctx->flags & AV_CODEC_FLAG_COPY_OPAQUE) {
|
||||
int ret = av_buffer_replace(&pkt->opaque_ref, frame->opaque_ref);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
pkt->opaque = frame->opaque;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt,
|
||||
AVFrame *frame, int *got_packet)
|
||||
{
|
||||
@ -221,6 +236,10 @@ int ff_encode_encode_cb(AVCodecContext *avctx, AVPacket *avpkt,
|
||||
avpkt->duration = ff_samples_to_time_base(avctx,
|
||||
frame->nb_samples);
|
||||
}
|
||||
|
||||
ret = ff_encode_reordered_opaque(avctx, avpkt, frame);
|
||||
if (ret < 0)
|
||||
goto unref;
|
||||
}
|
||||
|
||||
// dts equals pts unless there is reordering
|
||||
|
@ -69,6 +69,12 @@ int ff_encode_alloc_frame(AVCodecContext *avctx, AVFrame *frame);
|
||||
*/
|
||||
int ff_alloc_packet(AVCodecContext *avctx, AVPacket *avpkt, int64_t size);
|
||||
|
||||
/**
|
||||
* Propagate user opaque values from the frame to avctx/pkt as needed.
|
||||
*/
|
||||
int ff_encode_reordered_opaque(AVCodecContext *avctx,
|
||||
AVPacket *pkt, const AVFrame *frame);
|
||||
|
||||
/*
|
||||
* Perform encoder initialization and validation.
|
||||
* Called when opening the encoder, before the FFCodec.init() call.
|
||||
|
@ -547,7 +547,8 @@ const FFCodec ff_exr_encoder = {
|
||||
.p.priv_class = &exr_class,
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_EXR,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.close = encode_close,
|
||||
|
@ -1270,7 +1270,8 @@ const FFCodec ff_ffv1_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_FFV1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
|
||||
AV_CODEC_CAP_SLICE_THREADS,
|
||||
AV_CODEC_CAP_SLICE_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(FFV1Context),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -114,7 +114,7 @@ const FFCodec ff_fits_encoder = {
|
||||
CODEC_LONG_NAME("Flexible Image Transport System"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_FITS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(fits_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_GBRAP16BE,
|
||||
AV_PIX_FMT_GBRP16BE,
|
||||
|
@ -1754,7 +1754,8 @@ const FFCodec ff_flac_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_FLAC,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
|
||||
AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(FlacEncodeContext),
|
||||
.init = flac_encode_init,
|
||||
FF_CODEC_ENCODE_CB(flac_encode_frame),
|
||||
|
@ -915,7 +915,7 @@ const FFCodec ff_flashsv2_encoder = {
|
||||
CODEC_LONG_NAME("Flash Screen Video Version 2"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_FLASHSV2,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(FlashSV2Context),
|
||||
.init = flashsv2_encode_init,
|
||||
FF_CODEC_ENCODE_CB(flashsv2_encode_frame),
|
||||
|
@ -251,7 +251,7 @@ const FFCodec ff_flashsv_encoder = {
|
||||
CODEC_LONG_NAME("Flash Screen Video"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_FLASHSV,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(FlashSVContext),
|
||||
.init = flashsv_encode_init,
|
||||
FF_CODEC_ENCODE_CB(flashsv_encode_frame),
|
||||
|
@ -105,4 +105,5 @@ const FFCodec ff_flv_encoder = {
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
|
||||
AV_PIX_FMT_NONE},
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
};
|
||||
|
@ -375,7 +375,8 @@ const FFCodec ff_adpcm_g722_encoder = {
|
||||
CODEC_LONG_NAME("G.722 ADPCM"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_ADPCM_G722,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(G722Context),
|
||||
.init = g722_encode_init,
|
||||
.close = g722_encode_close,
|
||||
|
@ -1241,7 +1241,7 @@ const FFCodec ff_g723_1_encoder = {
|
||||
CODEC_LONG_NAME("G.723.1"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_G723_1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(G723_1_Context),
|
||||
.init = g723_1_encode_init,
|
||||
FF_CODEC_ENCODE_CB(g723_1_encode_frame),
|
||||
|
@ -405,7 +405,8 @@ const FFCodec ff_adpcm_g726_encoder = {
|
||||
CODEC_LONG_NAME("G.726 ADPCM"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_ADPCM_G726,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(G726Context),
|
||||
.init = g726_encode_init,
|
||||
FF_CODEC_ENCODE_CB(g726_encode_frame),
|
||||
@ -422,7 +423,8 @@ const FFCodec ff_adpcm_g726le_encoder = {
|
||||
CODEC_LONG_NAME("G.726 little endian ADPCM (\"right-justified\")"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_ADPCM_G726LE,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(G726Context),
|
||||
.init = g726_encode_init,
|
||||
FF_CODEC_ENCODE_CB(g726_encode_frame),
|
||||
|
@ -553,7 +553,7 @@ const FFCodec ff_gif_encoder = {
|
||||
CODEC_LONG_NAME("GIF (Graphics Interchange Format)"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_GIF,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(GIFContext),
|
||||
.init = gif_encode_init,
|
||||
FF_CODEC_ENCODE_CB(gif_encode_frame),
|
||||
|
@ -413,4 +413,5 @@ const FFCodec ff_h261_encoder = {
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
|
||||
AV_PIX_FMT_NONE },
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
};
|
||||
|
@ -351,7 +351,8 @@ const FFCodec ff_hap_encoder = {
|
||||
CODEC_LONG_NAME("Vidvox Hap"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_HAP,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(HapContext),
|
||||
.p.priv_class = &hapenc_class,
|
||||
.init = hap_init,
|
||||
|
@ -177,7 +177,8 @@ const FFCodec ff_hdr_encoder = {
|
||||
.priv_data_size = sizeof(HDREncContext),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_RADIANCE_HDR,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = hdr_encode_init,
|
||||
FF_CODEC_ENCODE_CB(hdr_encode_frame),
|
||||
.close = hdr_encode_close,
|
||||
|
@ -1082,7 +1082,8 @@ const FFCodec ff_huffyuv_encoder = {
|
||||
CODEC_LONG_NAME("Huffyuv / HuffYUV"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_HUFFYUV,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(HYuvEncContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
@ -1101,7 +1102,8 @@ const FFCodec ff_ffvhuff_encoder = {
|
||||
CODEC_LONG_NAME("Huffyuv FFmpeg variant"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_FFVHUFF,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(HYuvEncContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -903,6 +903,7 @@ const FFCodec ff_h263_encoder = {
|
||||
.p.id = AV_CODEC_ID_H263,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE},
|
||||
.p.priv_class = &h263_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.priv_data_size = sizeof(MpegEncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
@ -933,7 +934,7 @@ const FFCodec ff_h263p_encoder = {
|
||||
.p.id = AV_CODEC_ID_H263P,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.p.priv_class = &h263p_class,
|
||||
.p.capabilities = AV_CODEC_CAP_SLICE_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.priv_data_size = sizeof(MpegEncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
|
@ -1835,7 +1835,7 @@ const FFCodec ff_jpeg2000_encoder = {
|
||||
CODEC_LONG_NAME("JPEG 2000"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_JPEG2000,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(Jpeg2000EncoderContext),
|
||||
.init = j2kenc_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -476,7 +476,8 @@ const FFCodec ff_jpegls_encoder = {
|
||||
CODEC_LONG_NAME("JPEG-LS"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_JPEGLS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(JPEGLSContext),
|
||||
.p.priv_class = &jpegls_class,
|
||||
.init = encode_jpegls_init,
|
||||
|
@ -156,7 +156,8 @@ const FFCodec ff_zlib_encoder = {
|
||||
CODEC_LONG_NAME("LCL (LossLess Codec Library) ZLIB"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_ZLIB,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(LclEncContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -197,7 +197,8 @@ const FFCodec ff_libcodec2_encoder = {
|
||||
CODEC_LONG_NAME("codec2 encoder using libcodec2"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_CODEC2,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.supported_samplerates = (const int[]){ 8000, 0 },
|
||||
.p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE },
|
||||
.p.ch_layouts = (const AVChannelLayout[]) { AV_CHANNEL_LAYOUT_MONO, { 0 } },
|
||||
|
@ -122,7 +122,7 @@ const FFCodec ff_libgsm_encoder = {
|
||||
CODEC_LONG_NAME("libgsm GSM"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_GSM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = libgsm_encode_init,
|
||||
FF_CODEC_ENCODE_CB(libgsm_encode_frame),
|
||||
.close = libgsm_encode_close,
|
||||
@ -141,7 +141,7 @@ const FFCodec ff_libgsm_ms_encoder = {
|
||||
CODEC_LONG_NAME("libgsm GSM Microsoft variant"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_GSM_MS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = libgsm_encode_init,
|
||||
FF_CODEC_ENCODE_CB(libgsm_encode_frame),
|
||||
.close = libgsm_encode_close,
|
||||
|
@ -205,7 +205,7 @@ const FFCodec ff_libilbc_encoder = {
|
||||
CODEC_LONG_NAME("iLBC (Internet Low Bitrate Codec)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_ILBC,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
|
||||
.priv_data_size = sizeof(ILBCEncContext),
|
||||
.init = ilbc_encode_init,
|
||||
|
@ -467,7 +467,8 @@ const FFCodec ff_libjxl_encoder = {
|
||||
.init = libjxl_encode_init,
|
||||
FF_CODEC_ENCODE_CB(libjxl_encode_frame),
|
||||
.close = libjxl_encode_close,
|
||||
.p.capabilities = AV_CODEC_CAP_OTHER_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_OTHER_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE |
|
||||
FF_CODEC_CAP_AUTO_THREADS | FF_CODEC_CAP_INIT_CLEANUP |
|
||||
FF_CODEC_CAP_ICC_PROFILES,
|
||||
|
@ -456,7 +456,8 @@ const FFCodec ff_libopenh264_encoder = {
|
||||
CODEC_LONG_NAME("OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_H264,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_OTHER_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_OTHER_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SVCContext),
|
||||
.init = svc_encode_init,
|
||||
FF_CODEC_ENCODE_CB(svc_encode_frame),
|
||||
|
@ -763,7 +763,8 @@ const FFCodec ff_libopenjpeg_encoder = {
|
||||
.priv_data_size = sizeof(LibOpenJPEGContext),
|
||||
.init = libopenjpeg_encode_init,
|
||||
FF_CODEC_ENCODE_CB(libopenjpeg_encode_frame),
|
||||
.p.capabilities = AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB48,
|
||||
AV_PIX_FMT_RGBA64, AV_PIX_FMT_GBR24P,
|
||||
|
@ -144,7 +144,8 @@ const FFCodec ff_libvo_amrwbenc_encoder = {
|
||||
CODEC_LONG_NAME("Android VisualOn AMR-WB (Adaptive Multi-Rate Wide-Band)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_AMR_WB,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.priv_class = &amrwb_class,
|
||||
.p.wrapper_name = "libvo_amrwbenc",
|
||||
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE,
|
||||
|
@ -92,7 +92,7 @@ const FFCodec ff_libwebp_encoder = {
|
||||
CODEC_LONG_NAME("libwebp WebP image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_WEBP,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.pix_fmts = ff_libwebpenc_pix_fmts,
|
||||
.p.priv_class = &ff_libwebpenc_class,
|
||||
.p.wrapper_name = "libwebp",
|
||||
|
@ -902,7 +902,7 @@ const FFCodec ff_libxvid_encoder = {
|
||||
CODEC_LONG_NAME("libxvidcore MPEG-4 part 2"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_MPEG4,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(struct xvid_context),
|
||||
.init = xvid_encode_init,
|
||||
FF_CODEC_ENCODE_CB(xvid_encode_frame),
|
||||
|
@ -316,7 +316,8 @@ const FFCodec ff_ljpeg_encoder = {
|
||||
CODEC_LONG_NAME("Lossless JPEG"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_LJPEG,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(LJpegEncContext),
|
||||
.p.priv_class = &ljpeg_class,
|
||||
.init = ljpeg_encode_init,
|
||||
|
@ -569,7 +569,8 @@ const FFCodec ff_magicyuv_encoder = {
|
||||
CODEC_LONG_NAME("MagicYUV video"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_MAGICYUV,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(MagicYUVContext),
|
||||
.p.priv_class = &magicyuv_class,
|
||||
.init = magy_encode_init,
|
||||
|
@ -651,7 +651,8 @@ const FFCodec ff_mjpeg_encoder = {
|
||||
.init = ff_mpv_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
|
||||
.close = mjpeg_encode_close,
|
||||
.p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ICC_PROFILES,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P,
|
||||
@ -685,5 +686,6 @@ const FFCodec ff_amv_encoder = {
|
||||
AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_NONE
|
||||
},
|
||||
.p.priv_class = &amv_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
};
|
||||
#endif
|
||||
|
@ -28,7 +28,7 @@ const FFCodec ff_mp2fixed_encoder = {
|
||||
CODEC_LONG_NAME("MP2 fixed point (MPEG audio layer 2)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_MP2,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(MpegAudioContext),
|
||||
.init = MPA_encode_init,
|
||||
FF_CODEC_ENCODE_CB(MPA_encode_frame),
|
||||
|
@ -29,7 +29,7 @@ const FFCodec ff_mp2_encoder = {
|
||||
CODEC_LONG_NAME("MP2 (MPEG audio layer 2)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_MP2,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(MpegAudioContext),
|
||||
.init = MPA_encode_init,
|
||||
FF_CODEC_ENCODE_CB(MPA_encode_frame),
|
||||
|
@ -684,6 +684,7 @@ const FFCodec ff_msmpeg4v2_encoder = {
|
||||
.p.id = AV_CODEC_ID_MSMPEG4V2,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.p.priv_class = &ff_mpv_enc_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.priv_data_size = sizeof(MSMPEG4EncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
@ -698,6 +699,7 @@ const FFCodec ff_msmpeg4v3_encoder = {
|
||||
.p.id = AV_CODEC_ID_MSMPEG4V3,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.p.priv_class = &ff_mpv_enc_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.priv_data_size = sizeof(MSMPEG4EncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
@ -712,6 +714,7 @@ const FFCodec ff_wmv1_encoder = {
|
||||
.p.id = AV_CODEC_ID_WMV1,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE },
|
||||
.p.priv_class = &ff_mpv_enc_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.priv_data_size = sizeof(MSMPEG4EncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
|
@ -307,6 +307,7 @@ const FFCodec ff_msvideo1_encoder = {
|
||||
CODEC_LONG_NAME("Microsoft Video-1"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_MSVIDEO1,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(Msvideo1EncContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -133,7 +133,7 @@ const FFCodec ff_pam_encoder = {
|
||||
CODEC_LONG_NAME("PAM (Portable AnyMap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PAM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(pam_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGBA,
|
||||
|
@ -304,5 +304,5 @@ const FFCodec ff_pcm_bluray_encoder = {
|
||||
{ 0 } },
|
||||
.p.sample_fmts = (const enum AVSampleFormat[]) {
|
||||
AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_S32, AV_SAMPLE_FMT_NONE },
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
};
|
||||
|
@ -176,7 +176,8 @@ const FFCodec ff_pcm_dvd_encoder = {
|
||||
CODEC_LONG_NAME("PCM signed 16|20|24-bit big-endian for DVD media"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_PCM_DVD,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(PCMDVDContext),
|
||||
.init = pcm_dvd_encode_init,
|
||||
FF_CODEC_ENCODE_CB(pcm_dvd_encode_frame),
|
||||
|
@ -553,7 +553,8 @@ const FFCodec ff_ ## name_ ## _encoder = { \
|
||||
CODEC_LONG_NAME(long_name_), \
|
||||
.p.type = AVMEDIA_TYPE_AUDIO, \
|
||||
.p.id = AV_CODEC_ID_ ## id_, \
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE, \
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_VARIABLE_FRAME_SIZE | \
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE, \
|
||||
.init = pcm_encode_init, \
|
||||
FF_CODEC_ENCODE_CB(pcm_encode_frame), \
|
||||
.p.sample_fmts = (const enum AVSampleFormat[]){ sample_fmt_, \
|
||||
|
@ -197,7 +197,7 @@ const FFCodec ff_pcx_encoder = {
|
||||
CODEC_LONG_NAME("PC Paintbrush PCX image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PCX,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(pcx_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_RGB24,
|
||||
|
@ -1183,7 +1183,8 @@ const FFCodec ff_png_encoder = {
|
||||
CODEC_LONG_NAME("PNG (Portable Network Graphics) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PNG,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(PNGEncContext),
|
||||
.init = png_enc_init,
|
||||
.close = png_enc_close,
|
||||
|
@ -229,7 +229,7 @@ const FFCodec ff_pgm_encoder = {
|
||||
CODEC_LONG_NAME("PGM (Portable GrayMap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PGM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(pnm_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY16BE, AV_PIX_FMT_NONE
|
||||
@ -243,7 +243,7 @@ const FFCodec ff_pgmyuv_encoder = {
|
||||
CODEC_LONG_NAME("PGMYUV (Portable GrayMap YUV) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PGMYUV,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(pnm_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV420P16BE, AV_PIX_FMT_NONE
|
||||
@ -257,7 +257,7 @@ const FFCodec ff_ppm_encoder = {
|
||||
CODEC_LONG_NAME("PPM (Portable PixelMap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PPM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(pnm_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_RGB24, AV_PIX_FMT_RGB48BE, AV_PIX_FMT_NONE
|
||||
@ -271,7 +271,7 @@ const FFCodec ff_pbm_encoder = {
|
||||
CODEC_LONG_NAME("PBM (Portable BitMap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PBM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(pnm_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_MONOWHITE,
|
||||
AV_PIX_FMT_NONE },
|
||||
@ -284,7 +284,7 @@ const FFCodec ff_pfm_encoder = {
|
||||
CODEC_LONG_NAME("PFM (Portable FloatMap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PFM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(pnm_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_GBRPF32LE,
|
||||
AV_PIX_FMT_GRAYF32LE,
|
||||
@ -309,7 +309,7 @@ const FFCodec ff_phm_encoder = {
|
||||
CODEC_LONG_NAME("PHM (Portable HalfFloatMap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PHM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(PHMEncContext),
|
||||
.init = phm_enc_init,
|
||||
FF_CODEC_ENCODE_CB(pnm_encode_frame),
|
||||
|
@ -944,7 +944,8 @@ const FFCodec ff_prores_aw_encoder = {
|
||||
CODEC_LONG_NAME("Apple ProRes"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PRORES,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.pix_fmts = pix_fmts,
|
||||
.priv_data_size = sizeof(ProresContext),
|
||||
.init = prores_encode_init,
|
||||
@ -960,7 +961,8 @@ const FFCodec ff_prores_encoder = {
|
||||
CODEC_LONG_NAME("Apple ProRes"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_PRORES,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.pix_fmts = pix_fmts,
|
||||
.priv_data_size = sizeof(ProresContext),
|
||||
.init = prores_encode_init,
|
||||
|
@ -1428,7 +1428,8 @@ const FFCodec ff_prores_ks_encoder = {
|
||||
.init = encode_init,
|
||||
.close = encode_close,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUV422P10, AV_PIX_FMT_YUV444P10,
|
||||
AV_PIX_FMT_YUVA444P10, AV_PIX_FMT_NONE
|
||||
|
@ -131,7 +131,8 @@ const FFCodec ff_qoi_encoder = {
|
||||
CODEC_LONG_NAME("QOI (Quite OK Image format) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_QOI,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(qoi_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_RGBA, AV_PIX_FMT_RGB24,
|
||||
|
@ -404,7 +404,7 @@ const FFCodec ff_qtrle_encoder = {
|
||||
CODEC_LONG_NAME("QuickTime Animation (RLE) video"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_QTRLE,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(QtrleEncContext),
|
||||
.init = qtrle_encode_init,
|
||||
FF_CODEC_ENCODE_CB(qtrle_encode_frame),
|
||||
|
@ -96,7 +96,7 @@ const FFCodec ff_r210_encoder = {
|
||||
CODEC_LONG_NAME("Uncompressed RGB 10-bit"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_R210,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.p.pix_fmts = pix_fmt,
|
||||
@ -108,7 +108,7 @@ const FFCodec ff_r10k_encoder = {
|
||||
CODEC_LONG_NAME("AJA Kona 10-bit RGB Codec"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_R10K,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.p.pix_fmts = pix_fmt,
|
||||
@ -120,7 +120,7 @@ const FFCodec ff_avrp_encoder = {
|
||||
CODEC_LONG_NAME("Avid 1:1 10-bit RGB Packer"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_AVRP,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
.p.pix_fmts = pix_fmt,
|
||||
|
@ -86,7 +86,8 @@ const FFCodec ff_rawvideo_encoder = {
|
||||
CODEC_LONG_NAME("raw video"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_RAWVIDEO,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = raw_encode_init,
|
||||
FF_CODEC_ENCODE_CB(raw_encode),
|
||||
};
|
||||
|
@ -1122,7 +1122,7 @@ const FFCodec ff_roq_encoder = {
|
||||
CODEC_LONG_NAME("id RoQ video"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_ROQ,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(RoqEncContext),
|
||||
.init = roq_encode_init,
|
||||
FF_CODEC_ENCODE_CB(roq_encode_frame),
|
||||
|
@ -873,7 +873,7 @@ const FFCodec ff_rpza_encoder = {
|
||||
CODEC_LONG_NAME("QuickTime video (RPZA)"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_RPZA,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(RpzaContext),
|
||||
.p.priv_class = &rpza_class,
|
||||
.init = rpza_encode_init,
|
||||
|
@ -71,6 +71,7 @@ const FFCodec ff_rv10_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_RV10,
|
||||
.p.priv_class = &ff_mpv_enc_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(MpegEncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
|
||||
|
@ -68,6 +68,7 @@ const FFCodec ff_rv20_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_RV20,
|
||||
.p.priv_class = &ff_mpv_enc_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(MpegEncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
|
||||
|
@ -176,7 +176,8 @@ const FFCodec ff_s302m_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_S302M,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL |
|
||||
AV_CODEC_CAP_VARIABLE_FRAME_SIZE,
|
||||
AV_CODEC_CAP_VARIABLE_FRAME_SIZE |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(S302MEncContext),
|
||||
.init = s302m_encode_init,
|
||||
FF_CODEC_ENCODE_CB(s302m_encode2_frame),
|
||||
|
@ -348,7 +348,8 @@ const FFCodec ff_sbc_encoder = {
|
||||
CODEC_LONG_NAME("SBC (low-complexity subband codec)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_SBC,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SBCEncContext),
|
||||
.init = sbc_encode_init,
|
||||
FF_CODEC_ENCODE_CB(sbc_encode_frame),
|
||||
|
@ -275,7 +275,7 @@ const FFCodec ff_sgi_encoder = {
|
||||
CODEC_LONG_NAME("SGI image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_SGI,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SgiContext),
|
||||
.p.priv_class = &sgi_class,
|
||||
.init = encode_init,
|
||||
|
@ -595,7 +595,7 @@ const FFCodec ff_smc_encoder = {
|
||||
CODEC_LONG_NAME("QuickTime Graphics (SMC)"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_SMC,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SMCContext),
|
||||
.init = smc_encode_init,
|
||||
FF_CODEC_ENCODE_CB(smc_encode_frame),
|
||||
|
@ -1935,7 +1935,7 @@ const FFCodec ff_snow_encoder = {
|
||||
CODEC_LONG_NAME("Snow"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_SNOW,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SnowContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -1096,7 +1096,8 @@ const FFCodec ff_sonic_encoder = {
|
||||
CODEC_LONG_NAME("Sonic"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_SONIC,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SonicContext),
|
||||
.init = sonic_encode_init,
|
||||
FF_CODEC_ENCODE_CB(sonic_encode_frame),
|
||||
@ -1112,7 +1113,8 @@ const FFCodec ff_sonic_ls_encoder = {
|
||||
CODEC_LONG_NAME("Sonic lossless"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_SONIC_LS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_EXPERIMENTAL |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SonicContext),
|
||||
.init = sonic_encode_init,
|
||||
FF_CODEC_ENCODE_CB(sonic_encode_frame),
|
||||
|
@ -288,6 +288,7 @@ const FFCodec ff_speedhq_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_SPEEDHQ,
|
||||
.p.priv_class = &ff_mpv_enc_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SpeedHQEncContext),
|
||||
.init = ff_mpv_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
|
||||
|
@ -213,7 +213,7 @@ const FFCodec ff_sunrast_encoder = {
|
||||
CODEC_LONG_NAME("Sun Rasterfile image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_SUNRAST,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SUNRASTContext),
|
||||
.init = sunrast_encode_init,
|
||||
FF_CODEC_ENCODE_CB(sunrast_encode_frame),
|
||||
|
@ -752,7 +752,7 @@ const FFCodec ff_svq1_encoder = {
|
||||
CODEC_LONG_NAME("Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_SVQ1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(SVQ1EncContext),
|
||||
.p.priv_class = &svq1enc_class,
|
||||
.init = svq1_encode_init,
|
||||
|
@ -207,7 +207,7 @@ const FFCodec ff_targa_encoder = {
|
||||
CODEC_LONG_NAME("Truevision Targa image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_TARGA,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(TargaContext),
|
||||
.p.priv_class = &targa_class,
|
||||
.init = targa_encode_init,
|
||||
|
@ -574,7 +574,8 @@ const FFCodec ff_tiff_encoder = {
|
||||
CODEC_LONG_NAME("TIFF image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_TIFF,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(TiffEncoderContext),
|
||||
.init = encode_init,
|
||||
.close = encode_close,
|
||||
|
@ -204,7 +204,8 @@ const FFCodec ff_tta_encoder = {
|
||||
CODEC_LONG_NAME("TTA (True Audio)"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_TTA,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(TTAEncContext),
|
||||
.init = tta_encode_init,
|
||||
.close = tta_encode_close,
|
||||
|
@ -648,7 +648,8 @@ const FFCodec ff_utvideo_encoder = {
|
||||
CODEC_LONG_NAME("Ut Video"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_UTVIDEO,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(UtvideoContext),
|
||||
.p.priv_class = &utvideo_class,
|
||||
.init = utvideo_encode_init,
|
||||
|
@ -112,7 +112,8 @@ const FFCodec ff_v210_encoder = {
|
||||
CODEC_LONG_NAME("Uncompressed 4:2:2 10-bit"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_V210,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(V210EncContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_frame),
|
||||
|
@ -75,7 +75,7 @@ const FFCodec ff_v308_encoder = {
|
||||
CODEC_LONG_NAME("Uncompressed packed 4:4:4"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_V308,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = v308_encode_init,
|
||||
FF_CODEC_ENCODE_CB(v308_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE },
|
||||
|
@ -94,7 +94,7 @@ const FFCodec ff_ayuv_encoder = {
|
||||
CODEC_LONG_NAME("Uncompressed packed MS 4:4:4:4"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_AYUV,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = v408_encode_init,
|
||||
FF_CODEC_ENCODE_CB(v408_encode_frame),
|
||||
.p.pix_fmts = pix_fmt,
|
||||
@ -107,7 +107,7 @@ const FFCodec ff_v408_encoder = {
|
||||
CODEC_LONG_NAME("Uncompressed packed QT 4:4:4:4"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_V408,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = v408_encode_init,
|
||||
FF_CODEC_ENCODE_CB(v408_encode_frame),
|
||||
.p.pix_fmts = pix_fmt,
|
||||
|
@ -79,7 +79,7 @@ const FFCodec ff_v410_encoder = {
|
||||
CODEC_LONG_NAME("Uncompressed 4:4:4 10-bit"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_V410,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.init = v410_encode_init,
|
||||
FF_CODEC_ENCODE_CB(v410_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV444P10, AV_PIX_FMT_NONE },
|
||||
|
@ -574,7 +574,8 @@ const FFCodec ff_mjpeg_vaapi_encoder = {
|
||||
FF_CODEC_RECEIVE_PACKET_CB(&ff_vaapi_encode_receive_packet),
|
||||
.close = &vaapi_encode_mjpeg_close,
|
||||
.p.priv_class = &vaapi_encode_mjpeg_class,
|
||||
.p.capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_HARDWARE | AV_CODEC_CAP_DR1 |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_NOT_INIT_THREADSAFE |
|
||||
FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.defaults = vaapi_encode_mjpeg_defaults,
|
||||
|
@ -153,7 +153,8 @@ const FFCodec ff_vbn_encoder = {
|
||||
CODEC_LONG_NAME("Vizrt Binary Image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_VBN,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.p.priv_class = &vbnenc_class,
|
||||
.init = vbn_init,
|
||||
FF_CODEC_ENCODE_CB(vbn_encode),
|
||||
|
@ -1228,7 +1228,8 @@ const FFCodec ff_vc2_encoder = {
|
||||
CODEC_LONG_NAME("SMPTE VC-2"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_DIRAC,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
|
||||
.priv_data_size = sizeof(VC2EncContext),
|
||||
.init = vc2_encode_init,
|
||||
|
@ -2963,7 +2963,8 @@ const FFCodec ff_wavpack_encoder = {
|
||||
CODEC_LONG_NAME("WavPack"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_WAVPACK,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SMALL_LAST_FRAME |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(WavPackEncodeContext),
|
||||
.p.priv_class = &wavpack_encoder_class,
|
||||
.init = wavpack_encode_init,
|
||||
|
@ -80,7 +80,8 @@ const FFCodec ff_wbmp_encoder = {
|
||||
CODEC_LONG_NAME("WBMP (Wireless Application Protocol Bitmap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_WBMP,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(wbmp_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]){
|
||||
AV_PIX_FMT_MONOBLACK,
|
||||
|
@ -440,7 +440,7 @@ const FFCodec ff_wmav1_encoder = {
|
||||
CODEC_LONG_NAME("Windows Media Audio 1"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_WMAV1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(WMACodecContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_superframe),
|
||||
@ -456,7 +456,7 @@ const FFCodec ff_wmav2_encoder = {
|
||||
CODEC_LONG_NAME("Windows Media Audio 2"),
|
||||
.p.type = AVMEDIA_TYPE_AUDIO,
|
||||
.p.id = AV_CODEC_ID_WMAV2,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(WMACodecContext),
|
||||
.init = encode_init,
|
||||
FF_CODEC_ENCODE_CB(encode_superframe),
|
||||
|
@ -242,6 +242,7 @@ const FFCodec ff_wmv2_encoder = {
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_WMV2,
|
||||
.p.priv_class = &ff_mpv_enc_class,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
.priv_data_size = sizeof(WMV2EncContext),
|
||||
.init = wmv2_encode_init,
|
||||
FF_CODEC_ENCODE_CB(ff_mpv_encode_picture),
|
||||
|
@ -109,6 +109,7 @@ const FFCodec ff_wrapped_avframe_encoder = {
|
||||
CODEC_LONG_NAME("AVFrame to AVPacket passthrough"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_WRAPPED_AVFRAME,
|
||||
.p.capabilities = AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(wrapped_avframe_encode),
|
||||
};
|
||||
|
||||
|
@ -82,7 +82,7 @@ const FFCodec ff_xbm_encoder = {
|
||||
CODEC_LONG_NAME("XBM (X BitMap) image"),
|
||||
.p.type = AVMEDIA_TYPE_VIDEO,
|
||||
.p.id = AV_CODEC_ID_XBM,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1,
|
||||
.p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
|
||||
FF_CODEC_ENCODE_CB(xbm_encode_frame),
|
||||
.p.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_MONOWHITE,
|
||||
AV_PIX_FMT_NONE },
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user