mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavc: AV-prefix all codec capabilities
Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
parent
7c6eb0a1b7
commit
def97856de
6
avconv.c
6
avconv.c
@ -249,7 +249,7 @@ static void abort_codec_experimental(AVCodec *c, int encoder)
|
||||
"results.\nAdd '-strict experimental' if you want to use it.\n",
|
||||
codec_string, c->name);
|
||||
codec = encoder ? avcodec_find_encoder(c->id) : avcodec_find_decoder(c->id);
|
||||
if (!(codec->capabilities & CODEC_CAP_EXPERIMENTAL))
|
||||
if (!(codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL))
|
||||
av_log(NULL, AV_LOG_FATAL, "Or use the non experimental %s '%s'.\n",
|
||||
codec_string, codec->name);
|
||||
exit_program(1);
|
||||
@ -614,7 +614,7 @@ static int poll_filter(OutputStream *ost)
|
||||
filtered_frame = ost->filtered_frame;
|
||||
|
||||
if (ost->enc->type == AVMEDIA_TYPE_AUDIO &&
|
||||
!(ost->enc->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE))
|
||||
!(ost->enc->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE))
|
||||
ret = av_buffersink_get_samples(ost->filter->filter, filtered_frame,
|
||||
ost->enc_ctx->frame_size);
|
||||
else
|
||||
@ -1353,7 +1353,7 @@ static void process_input_packet(InputStream *ist, const AVPacket *pkt)
|
||||
ist->last_dts = ist->next_dts;
|
||||
|
||||
if (avpkt.size && avpkt.size != pkt->size &&
|
||||
!(ist->dec->capabilities & CODEC_CAP_SUBFRAMES)) {
|
||||
!(ist->dec->capabilities & AV_CODEC_CAP_SUBFRAMES)) {
|
||||
av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING,
|
||||
"Multiple frames in a packet from stream %d\n", pkt->stream_index);
|
||||
ist->showed_multi_packet_warning = 1;
|
||||
|
4
avplay.c
4
avplay.c
@ -1908,7 +1908,7 @@ static int audio_decode_frame(VideoState *is, double *pts_ptr)
|
||||
|
||||
if (!got_frame) {
|
||||
/* stop sending empty packets if the decoder is finished */
|
||||
if (!pkt_temp->data && dec->codec->capabilities & CODEC_CAP_DELAY)
|
||||
if (!pkt_temp->data && (dec->codec->capabilities & AV_CODEC_CAP_DELAY))
|
||||
flush_complete = 1;
|
||||
continue;
|
||||
}
|
||||
@ -2470,7 +2470,7 @@ static int decode_thread(void *arg)
|
||||
packet_queue_put(&is->videoq, pkt);
|
||||
}
|
||||
if (is->audio_stream >= 0 &&
|
||||
is->audio_st->codec->codec->capabilities & CODEC_CAP_DELAY) {
|
||||
(is->audio_st->codec->codec->capabilities & AV_CODEC_CAP_DELAY)) {
|
||||
av_init_packet(pkt);
|
||||
pkt->data = NULL;
|
||||
pkt->size = 0;
|
||||
|
18
cmdutils.c
18
cmdutils.c
@ -979,12 +979,12 @@ static void print_codec(const AVCodec *c)
|
||||
|
||||
if (c->type == AVMEDIA_TYPE_VIDEO) {
|
||||
printf(" Threading capabilities: ");
|
||||
switch (c->capabilities & (CODEC_CAP_FRAME_THREADS |
|
||||
CODEC_CAP_SLICE_THREADS)) {
|
||||
case CODEC_CAP_FRAME_THREADS |
|
||||
CODEC_CAP_SLICE_THREADS: printf("frame and slice"); break;
|
||||
case CODEC_CAP_FRAME_THREADS: printf("frame"); break;
|
||||
case CODEC_CAP_SLICE_THREADS: printf("slice"); break;
|
||||
switch (c->capabilities & (AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_SLICE_THREADS)) {
|
||||
case AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_SLICE_THREADS: printf("frame and slice"); break;
|
||||
case AV_CODEC_CAP_FRAME_THREADS: printf("frame"); break;
|
||||
case AV_CODEC_CAP_SLICE_THREADS: printf("slice"); break;
|
||||
default: printf("no"); break;
|
||||
}
|
||||
printf("\n");
|
||||
@ -1115,9 +1115,9 @@ static void print_codecs(int encoder)
|
||||
|
||||
while ((codec = next_codec_for_id(desc->id, codec, encoder))) {
|
||||
printf("%c", get_media_type_char(desc->type));
|
||||
printf((codec->capabilities & CODEC_CAP_FRAME_THREADS) ? "F" : ".");
|
||||
printf((codec->capabilities & CODEC_CAP_SLICE_THREADS) ? "S" : ".");
|
||||
printf((codec->capabilities & CODEC_CAP_EXPERIMENTAL) ? "X" : ".");
|
||||
printf((codec->capabilities & AV_CODEC_CAP_FRAME_THREADS) ? "F" : ".");
|
||||
printf((codec->capabilities & AV_CODEC_CAP_SLICE_THREADS) ? "S" : ".");
|
||||
printf((codec->capabilities & AV_CODEC_CAP_EXPERIMENTAL) ? "X" : ".");
|
||||
|
||||
printf(" %-20s %s", codec->name, codec->long_name ? codec->long_name : "");
|
||||
if (strcmp(codec->name, desc->name))
|
||||
|
@ -480,7 +480,7 @@ static void video_decode_example(const char *outfilename, const char *filename)
|
||||
c = avcodec_alloc_context3(codec);
|
||||
picture = av_frame_alloc();
|
||||
|
||||
if(codec->capabilities&CODEC_CAP_TRUNCATED)
|
||||
if (codec->capabilities & AV_CODEC_CAP_TRUNCATED)
|
||||
c->flags |= AV_CODEC_FLAG_TRUNCATED; // we do not send complete frames
|
||||
|
||||
/* For some codecs, such as msmpeg4 and mpeg4, width and height
|
||||
|
@ -178,7 +178,7 @@ static void open_audio(AVFormatContext *oc, OutputStream *ost)
|
||||
/* increment frequency by 110 Hz per second */
|
||||
ost->tincr2 = 2 * M_PI * 110.0 / c->sample_rate / c->sample_rate;
|
||||
|
||||
if (c->codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE)
|
||||
if (c->codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE)
|
||||
nb_samples = 10000;
|
||||
else
|
||||
nb_samples = c->frame_size;
|
||||
|
@ -981,5 +981,5 @@ AVCodec ff_fourxm_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -193,5 +193,5 @@ AVCodec ff_eightbps_decoder = {
|
||||
.priv_data_size = sizeof(EightBpsContext),
|
||||
.init = decode_init,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -205,7 +205,7 @@ AVCodec ff_eightsvx_fib_decoder = {
|
||||
.init = eightsvx_decode_init,
|
||||
.close = eightsvx_decode_close,
|
||||
.decode = eightsvx_decode_frame,
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
@ -219,7 +219,7 @@ AVCodec ff_eightsvx_exp_decoder = {
|
||||
.init = eightsvx_decode_init,
|
||||
.close = eightsvx_decode_close,
|
||||
.decode = eightsvx_decode_frame,
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
@ -233,7 +233,7 @@ AVCodec ff_pcm_s8_planar_decoder = {
|
||||
.init = eightsvx_decode_init,
|
||||
.close = eightsvx_decode_close,
|
||||
.decode = eightsvx_decode_frame,
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -392,7 +392,7 @@ AVCodec ff_a64multi_encoder = {
|
||||
.encode2 = a64multi_encode_frame,
|
||||
.close = a64multi_close_encoder,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
|
||||
.capabilities = CODEC_CAP_DELAY,
|
||||
.capabilities = AV_CODEC_CAP_DELAY,
|
||||
};
|
||||
|
||||
AVCodec ff_a64multi5_encoder = {
|
||||
@ -405,5 +405,5 @@ AVCodec ff_a64multi5_encoder = {
|
||||
.encode2 = a64multi_encode_frame,
|
||||
.close = a64multi_close_encoder,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {AV_PIX_FMT_GRAY8, AV_PIX_FMT_NONE},
|
||||
.capabilities = CODEC_CAP_DELAY,
|
||||
.capabilities = AV_CODEC_CAP_DELAY,
|
||||
};
|
||||
|
@ -3318,7 +3318,7 @@ AVCodec ff_aac_decoder = {
|
||||
.sample_fmts = (const enum AVSampleFormat[]) {
|
||||
AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
|
||||
},
|
||||
.capabilities = CODEC_CAP_CHANNEL_CONF | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
|
||||
.channel_layouts = aac_channel_layout,
|
||||
};
|
||||
|
||||
@ -3339,6 +3339,6 @@ AVCodec ff_aac_latm_decoder = {
|
||||
.sample_fmts = (const enum AVSampleFormat[]) {
|
||||
AV_SAMPLE_FMT_FLTP, AV_SAMPLE_FMT_NONE
|
||||
},
|
||||
.capabilities = CODEC_CAP_CHANNEL_CONF | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
|
||||
.channel_layouts = aac_channel_layout,
|
||||
};
|
||||
|
@ -812,8 +812,8 @@ AVCodec ff_aac_encoder = {
|
||||
.init = aac_encode_init,
|
||||
.encode2 = aac_encode_frame,
|
||||
.close = aac_encode_end,
|
||||
.capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY |
|
||||
CODEC_CAP_EXPERIMENTAL,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY |
|
||||
AV_CODEC_CAP_EXPERIMENTAL,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLTP,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
.priv_class = &aacenc_class,
|
||||
|
@ -118,5 +118,5 @@ AVCodec ff_aasc_decoder = {
|
||||
.init = aasc_decode_init,
|
||||
.close = aasc_decode_end,
|
||||
.decode = aasc_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1558,7 +1558,7 @@ AVCodec ff_ac3_decoder = {
|
||||
.init = ac3_decode_init,
|
||||
.close = ac3_decode_end,
|
||||
.decode = ac3_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
.priv_class = &ac3_decoder_class,
|
||||
@ -1581,7 +1581,7 @@ AVCodec ff_eac3_decoder = {
|
||||
.init = ac3_decode_init,
|
||||
.close = ac3_decode_end,
|
||||
.decode = ac3_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
.priv_class = &eac3_decoder_class,
|
||||
|
@ -1298,7 +1298,7 @@ AVCodec ff_ ## name_ ## _decoder = { \
|
||||
.priv_data_size = sizeof(ADPCMDecodeContext), \
|
||||
.init = adpcm_decode_init, \
|
||||
.decode = adpcm_decode_frame, \
|
||||
.capabilities = CODEC_CAP_DR1, \
|
||||
.capabilities = AV_CODEC_CAP_DR1, \
|
||||
.sample_fmts = sample_fmts_, \
|
||||
}
|
||||
|
||||
|
@ -182,7 +182,7 @@ AVCodec ff_adpcm_adx_decoder = {
|
||||
.init = adx_decode_init,
|
||||
.decode = adx_decode_frame,
|
||||
.flush = adx_decode_flush,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16P,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -484,5 +484,5 @@ AVCodec ff_aic_decoder = {
|
||||
.init = aic_decode_init,
|
||||
.close = aic_decode_close,
|
||||
.decode = aic_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -587,5 +587,5 @@ AVCodec ff_alac_decoder = {
|
||||
.init = alac_decode_init,
|
||||
.close = alac_decode_close,
|
||||
.decode = alac_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -643,7 +643,7 @@ AVCodec ff_alac_encoder = {
|
||||
.init = alac_encode_init,
|
||||
.encode2 = alac_encode_frame,
|
||||
.close = alac_encode_close,
|
||||
.capabilities = CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.channel_layouts = ff_alac_channel_layouts,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S32P,
|
||||
AV_SAMPLE_FMT_S16P,
|
||||
|
@ -124,5 +124,5 @@ AVCodec ff_alias_pix_decoder = {
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
.id = AV_CODEC_ID_ALIAS_PIX,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1812,5 +1812,5 @@ AVCodec ff_als_decoder = {
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.flush = flush,
|
||||
.capabilities = CODEC_CAP_SUBFRAMES | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1070,7 +1070,7 @@ AVCodec ff_amrnb_decoder = {
|
||||
.priv_data_size = sizeof(AMRContext),
|
||||
.init = amrnb_decode_init,
|
||||
.decode = amrnb_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -1254,7 +1254,7 @@ AVCodec ff_amrwb_decoder = {
|
||||
.priv_data_size = sizeof(AMRWBContext),
|
||||
.init = amrwb_decode_init,
|
||||
.decode = amrwb_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_FLT,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -198,5 +198,5 @@ AVCodec ff_anm_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -450,5 +450,5 @@ AVCodec ff_ansi_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_close,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1596,7 +1596,8 @@ AVCodec ff_ape_decoder = {
|
||||
.init = ape_decode_init,
|
||||
.close = ape_decode_close,
|
||||
.decode = ape_decode_frame,
|
||||
.capabilities = CODEC_CAP_SUBFRAMES | CODEC_CAP_DELAY | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DELAY |
|
||||
AV_CODEC_CAP_DR1,
|
||||
.flush = ape_flush,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P,
|
||||
AV_SAMPLE_FMT_S16P,
|
||||
|
@ -326,7 +326,7 @@ AVCodec ff_asv1_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
||||
AVCodec ff_asv2_decoder = {
|
||||
@ -338,5 +338,5 @@ AVCodec ff_asv2_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -381,7 +381,7 @@ AVCodec ff_atrac1_decoder = {
|
||||
.init = atrac1_decode_init,
|
||||
.close = atrac1_decode_end,
|
||||
.decode = atrac1_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -928,7 +928,7 @@ AVCodec ff_atrac3_decoder = {
|
||||
.init_static_data = atrac3_init_static_data,
|
||||
.close = atrac3_decode_close,
|
||||
.decode = atrac3_decode_frame,
|
||||
.capabilities = CODEC_CAP_SUBFRAMES | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -387,7 +387,7 @@ AVCodec ff_atrac3p_decoder = {
|
||||
.long_name = NULL_IF_CONFIG_SMALL("ATRAC3+ (Adaptive TRansform Acoustic Coding 3+)"),
|
||||
.type = AVMEDIA_TYPE_AUDIO,
|
||||
.id = AV_CODEC_ID_ATRAC3P,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.priv_data_size = sizeof(ATRAC3PContext),
|
||||
.init = atrac3p_decode_init,
|
||||
.init_static_data = ff_atrac3p_init_vlcs,
|
||||
|
@ -106,5 +106,5 @@ AVCodec ff_aura2_decoder = {
|
||||
.id = AV_CODEC_ID_AURA2,
|
||||
.init = aura_decode_init,
|
||||
.decode = aura_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -708,6 +708,95 @@ typedef struct RcOverride{
|
||||
*/
|
||||
#define AV_CODEC_FLAG2_IGNORE_CROP (1 << 16)
|
||||
|
||||
/* Unsupported options :
|
||||
* Syntax Arithmetic coding (SAC)
|
||||
* Reference Picture Selection
|
||||
* Independent Segment Decoding */
|
||||
/* /Fx */
|
||||
/* codec capabilities */
|
||||
|
||||
/**
|
||||
* Decoder can use draw_horiz_band callback.
|
||||
*/
|
||||
#define AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0)
|
||||
/**
|
||||
* Codec uses get_buffer() for allocating buffers and supports custom allocators.
|
||||
* If not set, it might not use get_buffer() at all or use operations that
|
||||
* assume the buffer was allocated by avcodec_default_get_buffer.
|
||||
*/
|
||||
#define AV_CODEC_CAP_DR1 (1 << 1)
|
||||
#define AV_CODEC_CAP_TRUNCATED (1 << 3)
|
||||
/**
|
||||
* Encoder or decoder requires flushing with NULL input at the end in order to
|
||||
* give the complete and correct output.
|
||||
*
|
||||
* NOTE: If this flag is not set, the codec is guaranteed to never be fed with
|
||||
* with NULL data. The user can still send NULL data to the public encode
|
||||
* or decode function, but libavcodec will not pass it along to the codec
|
||||
* unless this flag is set.
|
||||
*
|
||||
* Decoders:
|
||||
* The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL,
|
||||
* avpkt->size=0 at the end to get the delayed data until the decoder no longer
|
||||
* returns frames.
|
||||
*
|
||||
* Encoders:
|
||||
* The encoder needs to be fed with NULL data at the end of encoding until the
|
||||
* encoder no longer returns data.
|
||||
*
|
||||
* NOTE: For encoders implementing the AVCodec.encode2() function, setting this
|
||||
* flag also means that the encoder must set the pts and duration for
|
||||
* each output packet. If this flag is not set, the pts and duration will
|
||||
* be determined by libavcodec from the input frame.
|
||||
*/
|
||||
#define AV_CODEC_CAP_DELAY (1 << 5)
|
||||
/**
|
||||
* Codec can be fed a final frame with a smaller size.
|
||||
* This can be used to prevent truncation of the last audio samples.
|
||||
*/
|
||||
#define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6)
|
||||
/**
|
||||
* Codec can output multiple frames per AVPacket
|
||||
* Normally demuxers return one frame at a time, demuxers which do not do
|
||||
* are connected to a parser to split what they return into proper frames.
|
||||
* This flag is reserved to the very rare category of codecs which have a
|
||||
* bitstream that cannot be split into frames without timeconsuming
|
||||
* operations like full decoding. Demuxers carring such bitstreams thus
|
||||
* may return multiple frames in a packet. This has many disadvantages like
|
||||
* prohibiting stream copy in many cases thus it should only be considered
|
||||
* as a last resort.
|
||||
*/
|
||||
#define AV_CODEC_CAP_SUBFRAMES (1 << 8)
|
||||
/**
|
||||
* Codec is experimental and is thus avoided in favor of non experimental
|
||||
* encoders
|
||||
*/
|
||||
#define AV_CODEC_CAP_EXPERIMENTAL (1 << 9)
|
||||
/**
|
||||
* Codec should fill in channel configuration and samplerate instead of container
|
||||
*/
|
||||
#define AV_CODEC_CAP_CHANNEL_CONF (1 << 10)
|
||||
/**
|
||||
* Codec supports frame-level multithreading.
|
||||
*/
|
||||
#define AV_CODEC_CAP_FRAME_THREADS (1 << 12)
|
||||
/**
|
||||
* Codec supports slice-based (or partition-based) multithreading.
|
||||
*/
|
||||
#define AV_CODEC_CAP_SLICE_THREADS (1 << 13)
|
||||
/**
|
||||
* Codec supports changed parameters at any point.
|
||||
*/
|
||||
#define AV_CODEC_CAP_PARAM_CHANGE (1 << 14)
|
||||
/**
|
||||
* Codec supports avctx->thread_count == 0 (auto).
|
||||
*/
|
||||
#define AV_CODEC_CAP_AUTO_THREADS (1 << 15)
|
||||
/**
|
||||
* Audio encoder supports receiving a different number of samples in each call.
|
||||
*/
|
||||
#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16)
|
||||
|
||||
/**
|
||||
* Allow decoders to produce frames with data planes that are not aligned
|
||||
* to CPU requirements (e.g. due to cropping).
|
||||
@ -1931,7 +2020,7 @@ typedef struct AVCodecContext {
|
||||
*
|
||||
* - encoding: set by libavcodec in avcodec_open2(). Each submitted frame
|
||||
* except the last must contain exactly frame_size samples per channel.
|
||||
* May be 0 when the codec has CODEC_CAP_VARIABLE_FRAME_SIZE set, then the
|
||||
* May be 0 when the codec has AV_CODEC_CAP_VARIABLE_FRAME_SIZE set, then the
|
||||
* frame size is not restricted.
|
||||
* - decoding: may be set by some decoders to indicate constant frame size
|
||||
*/
|
||||
@ -2132,7 +2221,7 @@ typedef struct AVCodecContext {
|
||||
* buffers than buf[] can hold. extended_buf will be freed in
|
||||
* av_frame_unref().
|
||||
*
|
||||
* If CODEC_CAP_DR1 is not set then get_buffer2() must call
|
||||
* If AV_CODEC_CAP_DR1 is not set then get_buffer2() must call
|
||||
* avcodec_default_get_buffer2() instead of providing buffers allocated by
|
||||
* some other means.
|
||||
*
|
||||
@ -2983,7 +3072,7 @@ typedef struct AVCodec {
|
||||
enum AVCodecID id;
|
||||
/**
|
||||
* Codec capabilities.
|
||||
* see CODEC_CAP_*
|
||||
* see AV_CODEC_CAP_*
|
||||
*/
|
||||
int capabilities;
|
||||
const AVRational *supported_framerates; ///< array of supported framerates, or NULL if any, array is terminated by {0,0}
|
||||
@ -3697,7 +3786,7 @@ attribute_deprecated int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame
|
||||
/**
|
||||
* The default callback for AVCodecContext.get_buffer2(). It is made public so
|
||||
* it can be called by custom get_buffer2() implementations for decoders without
|
||||
* CODEC_CAP_DR1 set.
|
||||
* AV_CODEC_CAP_DR1 set.
|
||||
*/
|
||||
int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags);
|
||||
|
||||
@ -3721,7 +3810,7 @@ unsigned avcodec_get_edge_width(void);
|
||||
* buffer that is acceptable for the codec if you do not use any horizontal
|
||||
* padding.
|
||||
*
|
||||
* May only be used if a codec with CODEC_CAP_DR1 has been opened.
|
||||
* May only be used if a codec with AV_CODEC_CAP_DR1 has been opened.
|
||||
*/
|
||||
void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
|
||||
|
||||
@ -3730,7 +3819,7 @@ void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
|
||||
* buffer that is acceptable for the codec if you also ensure that all
|
||||
* line sizes are a multiple of the respective linesize_align[i].
|
||||
*
|
||||
* May only be used if a codec with CODEC_CAP_DR1 has been opened.
|
||||
* May only be used if a codec with AV_CODEC_CAP_DR1 has been opened.
|
||||
*/
|
||||
void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
|
||||
int linesize_align[AV_NUM_DATA_POINTERS]);
|
||||
@ -3746,13 +3835,13 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
|
||||
* needs to be fed to the decoder with remaining data until it is completely
|
||||
* consumed or an error occurs.
|
||||
*
|
||||
* Some decoders (those marked with CODEC_CAP_DELAY) have a delay between input
|
||||
* Some decoders (those marked with AV_CODEC_CAP_DELAY) have a delay between input
|
||||
* and output. This means that for some packets they will not immediately
|
||||
* produce decoded output and need to be flushed at the end of decoding to get
|
||||
* all the decoded data. Flushing is done by calling this function with packets
|
||||
* with avpkt->data set to NULL and avpkt->size set to 0 until it stops
|
||||
* returning samples. It is safe to flush even those decoders that are not
|
||||
* marked with CODEC_CAP_DELAY, then no samples will be returned.
|
||||
* marked with AV_CODEC_CAP_DELAY, then no samples will be returned.
|
||||
*
|
||||
* @warning The input buffer, avpkt->data must be FF_INPUT_BUFFER_PADDING_SIZE
|
||||
* larger than the actual read bytes because some optimized bitstream
|
||||
@ -3777,7 +3866,7 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
|
||||
* @param[out] got_frame_ptr Zero if no frame could be decoded, otherwise it is
|
||||
* non-zero. Note that this field being set to zero
|
||||
* does not mean that an error has occurred. For
|
||||
* decoders with CODEC_CAP_DELAY set, no given decode
|
||||
* decoders with AV_CODEC_CAP_DELAY set, no given decode
|
||||
* call is guaranteed to produce a frame.
|
||||
* @param[in] avpkt The input AVPacket containing the input buffer.
|
||||
* At least avpkt->data and avpkt->size should be set. Some
|
||||
@ -3801,7 +3890,7 @@ int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
|
||||
* @warning The end of the input buffer buf should be set to 0 to ensure that
|
||||
* no overreading happens for damaged MPEG streams.
|
||||
*
|
||||
* @note Codecs which have the CODEC_CAP_DELAY capability set have a delay
|
||||
* @note Codecs which have the AV_CODEC_CAP_DELAY capability set have a delay
|
||||
* between input and output, these need to be fed with avpkt->data=NULL,
|
||||
* avpkt->size=0 at the end to return the remaining frames.
|
||||
*
|
||||
@ -3841,7 +3930,7 @@ int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
|
||||
* Return a negative value on error, otherwise return the number of bytes used.
|
||||
* If no subtitle could be decompressed, got_sub_ptr is zero.
|
||||
* Otherwise, the subtitle is stored in *sub.
|
||||
* Note that CODEC_CAP_DR1 is not available for subtitle codecs. This is for
|
||||
* Note that AV_CODEC_CAP_DR1 is not available for subtitle codecs. This is for
|
||||
* simplicity, because the performance difference is expect to be negligible
|
||||
* and reusing a get_buffer written for video codecs would probably perform badly
|
||||
* due to a potentially very different allocation pattern.
|
||||
@ -4163,8 +4252,8 @@ AVCodec *avcodec_find_encoder_by_name(const char *name);
|
||||
* called to free the user supplied buffer).
|
||||
* @param[in] frame AVFrame containing the raw audio data to be encoded.
|
||||
* May be NULL when flushing an encoder that has the
|
||||
* CODEC_CAP_DELAY capability set.
|
||||
* If CODEC_CAP_VARIABLE_FRAME_SIZE is set, then each frame
|
||||
* AV_CODEC_CAP_DELAY capability set.
|
||||
* If AV_CODEC_CAP_VARIABLE_FRAME_SIZE is set, then each frame
|
||||
* can have any number of samples.
|
||||
* If it is not set, frame->nb_samples must be equal to
|
||||
* avctx->frame_size for all frames except the last.
|
||||
@ -4205,7 +4294,7 @@ int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt,
|
||||
* called to free the user supplied buffer).
|
||||
* @param[in] frame AVFrame containing the raw video data to be encoded.
|
||||
* May be NULL when flushing an encoder that has the
|
||||
* CODEC_CAP_DELAY capability set.
|
||||
* AV_CODEC_CAP_DELAY capability set.
|
||||
* @param[out] got_packet_ptr This field is set to 1 by libavcodec if the
|
||||
* output packet is non-empty, and to 0 if it is
|
||||
* empty. If the function returns an error, the
|
||||
|
@ -185,5 +185,5 @@ AVCodec ff_avs_decoder = {
|
||||
.init = avs_decode_init,
|
||||
.decode = avs_decode_frame,
|
||||
.close = avs_decode_end,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -163,5 +163,5 @@ AVCodec ff_bethsoftvid_decoder = {
|
||||
.init = bethsoftvid_decode_init,
|
||||
.close = bethsoftvid_decode_end,
|
||||
.decode = bethsoftvid_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -180,5 +180,5 @@ AVCodec ff_bfi_decoder = {
|
||||
.init = bfi_decode_init,
|
||||
.close = bfi_decode_close,
|
||||
.decode = bfi_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1352,5 +1352,5 @@ AVCodec ff_bink_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -343,7 +343,7 @@ AVCodec ff_binkaudio_rdft_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
||||
AVCodec ff_binkaudio_dct_decoder = {
|
||||
@ -355,5 +355,5 @@ AVCodec ff_binkaudio_dct_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -353,5 +353,5 @@ AVCodec ff_bmp_decoder = {
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
.id = AV_CODEC_ID_BMP,
|
||||
.decode = bmp_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -87,5 +87,5 @@ AVCodec ff_bmv_audio_decoder = {
|
||||
.id = AV_CODEC_ID_BMV_AUDIO,
|
||||
.init = bmv_aud_decode_init,
|
||||
.decode = bmv_aud_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -289,5 +289,5 @@ AVCodec ff_bmv_video_decoder = {
|
||||
.priv_data_size = sizeof(BMVDecContext),
|
||||
.init = decode_init,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -290,5 +290,5 @@ AVCodec ff_brender_pix_decoder = {
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
.id = AV_CODEC_ID_BRENDER_PIX,
|
||||
.decode = pix_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -260,5 +260,5 @@ AVCodec ff_c93_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1202,6 +1202,6 @@ AVCodec ff_cavs_decoder = {
|
||||
.init = ff_cavs_init,
|
||||
.close = ff_cavs_end,
|
||||
.decode = cavs_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY,
|
||||
.flush = cavs_flush,
|
||||
};
|
||||
|
@ -372,5 +372,5 @@ AVCodec ff_cdgraphics_decoder = {
|
||||
.init = cdg_decode_init,
|
||||
.close = cdg_decode_end,
|
||||
.decode = cdg_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -296,5 +296,5 @@ AVCodec ff_cdxl_decoder = {
|
||||
.init = cdxl_decode_init,
|
||||
.close = cdxl_decode_end,
|
||||
.decode = cdxl_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -477,5 +477,5 @@ AVCodec ff_cinepak_decoder = {
|
||||
.init = cinepak_decode_init,
|
||||
.close = cinepak_decode_end,
|
||||
.decode = cinepak_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -91,5 +91,5 @@ AVCodec ff_cljr_decoder = {
|
||||
.id = AV_CODEC_ID_CLJR,
|
||||
.init = decode_init,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -503,5 +503,5 @@ AVCodec ff_cllc_decoder = {
|
||||
.init = cllc_decode_init,
|
||||
.decode = cllc_decode_frame,
|
||||
.close = cllc_decode_close,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -169,5 +169,5 @@ AVCodec ff_comfortnoise_decoder = {
|
||||
.close = cng_decode_close,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
.capabilities = CODEC_CAP_DELAY | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1263,7 +1263,7 @@ AVCodec ff_cook_decoder = {
|
||||
.init = cook_decode_init,
|
||||
.close = cook_decode_close,
|
||||
.decode = cook_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -256,5 +256,5 @@ AVCodec ff_cscd_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -172,7 +172,7 @@ AVCodec ff_aura_decoder = {
|
||||
.priv_data_size = sizeof(CyuvDecodeContext),
|
||||
.init = cyuv_decode_init,
|
||||
.decode = cyuv_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -185,6 +185,6 @@ AVCodec ff_cyuv_decoder = {
|
||||
.priv_data_size = sizeof(CyuvDecodeContext),
|
||||
.init = cyuv_decode_init,
|
||||
.decode = cyuv_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
#endif
|
||||
|
@ -1577,7 +1577,7 @@ AVCodec ff_dca_decoder = {
|
||||
.init = dca_decode_init,
|
||||
.decode = dca_decode_frame,
|
||||
.close = dca_decode_end,
|
||||
.capabilities = CODEC_CAP_CHANNEL_CONF | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_CHANNEL_CONF | AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_FLTP,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
.profiles = NULL_IF_CONFIG_SMALL(profiles),
|
||||
|
@ -694,6 +694,6 @@ AVCodec ff_dds_decoder = {
|
||||
.id = AV_CODEC_ID_DDS,
|
||||
.decode = dds_decode,
|
||||
.priv_data_size = sizeof(DDSContext),
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE
|
||||
};
|
||||
|
@ -404,5 +404,5 @@ AVCodec ff_dfa_decoder = {
|
||||
.init = dfa_decode_init,
|
||||
.close = dfa_decode_end,
|
||||
.decode = dfa_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -474,5 +474,5 @@ AVCodec ff_dnxhd_decoder = {
|
||||
.init = dnxhd_decode_init,
|
||||
.close = dnxhd_decode_close,
|
||||
.decode = dnxhd_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1152,7 +1152,7 @@ AVCodec ff_dnxhd_encoder = {
|
||||
.init = dnxhd_encode_init,
|
||||
.encode2 = dnxhd_encode_picture,
|
||||
.close = dnxhd_encode_end,
|
||||
.capabilities = CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUV422P,
|
||||
AV_PIX_FMT_YUV422P10,
|
||||
|
@ -333,7 +333,7 @@ AVCodec ff_ ## name_ ## _decoder = { \
|
||||
.priv_data_size = sizeof(DPCMContext), \
|
||||
.init = dpcm_decode_init, \
|
||||
.decode = dpcm_decode_frame, \
|
||||
.capabilities = CODEC_CAP_DR1, \
|
||||
.capabilities = AV_CODEC_CAP_DR1, \
|
||||
}
|
||||
|
||||
DPCM_DECODER(AV_CODEC_ID_INTERPLAY_DPCM, interplay_dpcm, "DPCM Interplay");
|
||||
|
@ -215,5 +215,5 @@ AVCodec ff_dpx_decoder = {
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
.id = AV_CODEC_ID_DPX,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -131,5 +131,5 @@ AVCodec ff_dsicinaudio_decoder = {
|
||||
.priv_data_size = sizeof(CinAudioContext),
|
||||
.init = cinaudio_decode_init,
|
||||
.decode = cinaudio_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -297,5 +297,5 @@ AVCodec ff_dsicinvideo_decoder = {
|
||||
.init = cinvideo_decode_init,
|
||||
.close = cinvideo_decode_end,
|
||||
.decode = cinvideo_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -776,5 +776,5 @@ AVCodec ff_dss_sp_decoder = {
|
||||
.priv_data_size = sizeof(DssSpContext),
|
||||
.init = dss_sp_decode_init,
|
||||
.decode = dss_sp_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -415,5 +415,5 @@ AVCodec ff_dvvideo_decoder = {
|
||||
.priv_data_size = sizeof(DVVideoContext),
|
||||
.init = dvvideo_decode_init,
|
||||
.decode = dvvideo_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
|
||||
};
|
||||
|
@ -745,7 +745,7 @@ AVCodec ff_dvvideo_encoder = {
|
||||
.priv_data_size = sizeof(DVVideoContext),
|
||||
.init = dvvideo_encode_init,
|
||||
.encode2 = dvvideo_encode_frame,
|
||||
.capabilities = CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV422P,
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE
|
||||
|
@ -336,5 +336,5 @@ AVCodec ff_dxa_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -751,5 +751,5 @@ AVCodec ff_dxtory_decoder = {
|
||||
.type = AVMEDIA_TYPE_VIDEO,
|
||||
.id = AV_CODEC_ID_DXTORY,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -240,5 +240,5 @@ AVCodec ff_eacmv_decoder = {
|
||||
.init = cmv_decode_init,
|
||||
.close = cmv_decode_end,
|
||||
.decode = cmv_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -333,5 +333,5 @@ AVCodec ff_eamad_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -247,5 +247,5 @@ AVCodec ff_eatgq_decoder = {
|
||||
.priv_data_size = sizeof(TgqContext),
|
||||
.init = tgq_decode_init,
|
||||
.decode = tgq_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -357,5 +357,5 @@ AVCodec ff_eatgv_decoder = {
|
||||
.init = tgv_decode_init,
|
||||
.close = tgv_decode_end,
|
||||
.decode = tgv_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -163,5 +163,5 @@ AVCodec ff_eatqi_decoder = {
|
||||
.init = tqi_decode_init,
|
||||
.close = tqi_decode_end,
|
||||
.decode = tqi_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -380,5 +380,5 @@ AVCodec ff_escape124_decoder = {
|
||||
.init = escape124_decode_init,
|
||||
.close = escape124_decode_close,
|
||||
.decode = escape124_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -352,5 +352,5 @@ AVCodec ff_escape130_decoder = {
|
||||
.init = escape130_decode_init,
|
||||
.close = escape130_decode_close,
|
||||
.decode = escape130_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1446,7 +1446,7 @@ AVCodec ff_exr_decoder = {
|
||||
.init_thread_copy = ONLY_IF_THREADS_ENABLED(decode_init_thread_copy),
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_FRAME_THREADS |
|
||||
CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS |
|
||||
AV_CODEC_CAP_SLICE_THREADS,
|
||||
.priv_class = &exr_class,
|
||||
};
|
||||
|
@ -958,6 +958,6 @@ AVCodec ff_ffv1_decoder = {
|
||||
.init = ffv1_decode_init,
|
||||
.close = ffv1_decode_close,
|
||||
.decode = ffv1_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1 /*| CODEC_CAP_DRAW_HORIZ_BAND*/ |
|
||||
CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/ |
|
||||
AV_CODEC_CAP_SLICE_THREADS,
|
||||
};
|
||||
|
@ -1098,7 +1098,7 @@ AVCodec ff_ffv1_encoder = {
|
||||
.init = ffv1_encode_init,
|
||||
.encode2 = ffv1_encode_frame,
|
||||
.close = ffv1_encode_close,
|
||||
.capabilities = CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_SLICE_THREADS,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) {
|
||||
AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P,
|
||||
AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV410P,
|
||||
|
@ -454,5 +454,5 @@ AVCodec ff_fic_decoder = {
|
||||
.init = fic_decode_init,
|
||||
.decode = fic_decode_frame,
|
||||
.close = fic_decode_close,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
|
||||
};
|
||||
|
@ -562,7 +562,7 @@ AVCodec ff_flac_decoder = {
|
||||
.init = flac_decode_init,
|
||||
.close = flac_decode_close,
|
||||
.decode = flac_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_S16,
|
||||
AV_SAMPLE_FMT_S16P,
|
||||
AV_SAMPLE_FMT_S32,
|
||||
|
@ -1343,7 +1343,7 @@ AVCodec ff_flac_encoder = {
|
||||
.init = flac_encode_init,
|
||||
.encode2 = flac_encode_frame,
|
||||
.close = flac_encode_close,
|
||||
.capabilities = CODEC_CAP_SMALL_LAST_FRAME | CODEC_CAP_DELAY,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME | AV_CODEC_CAP_DELAY,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
|
||||
AV_SAMPLE_FMT_S32,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
|
@ -493,7 +493,7 @@ AVCodec ff_flashsv_decoder = {
|
||||
.init = flashsv_decode_init,
|
||||
.close = flashsv_decode_end,
|
||||
.decode = flashsv_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
|
||||
};
|
||||
#endif /* CONFIG_FLASHSV_DECODER */
|
||||
@ -556,7 +556,7 @@ AVCodec ff_flashsv2_decoder = {
|
||||
.init = flashsv2_decode_init,
|
||||
.close = flashsv2_decode_end,
|
||||
.decode = flashsv_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, AV_PIX_FMT_NONE },
|
||||
};
|
||||
#endif /* CONFIG_FLASHSV2_DECODER */
|
||||
|
@ -750,5 +750,5 @@ AVCodec ff_flic_decoder = {
|
||||
.init = flic_decode_init,
|
||||
.close = flic_decode_end,
|
||||
.decode = flic_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -129,7 +129,7 @@ AVCodec ff_flv_decoder = {
|
||||
.init = ff_h263_decode_init,
|
||||
.close = ff_h263_decode_end,
|
||||
.decode = ff_h263_decode_frame,
|
||||
.capabilities = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1,
|
||||
.pix_fmts = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
|
||||
AV_PIX_FMT_NONE },
|
||||
};
|
||||
|
@ -382,5 +382,5 @@ AVCodec ff_fraps_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -101,5 +101,5 @@ AVCodec ff_frwu_decoder = {
|
||||
.id = AV_CODEC_ID_FRWU,
|
||||
.init = decode_init,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -1612,6 +1612,6 @@ AVCodec ff_g2m_decoder = {
|
||||
.init = g2m_decode_init,
|
||||
.close = g2m_decode_end,
|
||||
.decode = g2m_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
|
||||
};
|
||||
|
@ -147,6 +147,6 @@ AVCodec ff_adpcm_g722_decoder = {
|
||||
.priv_data_size = sizeof(G722Context),
|
||||
.init = g722_decode_init,
|
||||
.decode = g722_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.priv_class = &g722_decoder_class,
|
||||
};
|
||||
|
@ -390,7 +390,7 @@ AVCodec ff_adpcm_g722_encoder = {
|
||||
.init = g722_encode_init,
|
||||
.close = g722_encode_close,
|
||||
.encode2 = g722_encode_frame,
|
||||
.capabilities = CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
};
|
||||
|
@ -1373,6 +1373,6 @@ AVCodec ff_g723_1_decoder = {
|
||||
.priv_data_size = sizeof(G723_1_Context),
|
||||
.init = g723_1_decode_init,
|
||||
.decode = g723_1_decode_frame,
|
||||
.capabilities = CODEC_CAP_SUBFRAMES | CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_SUBFRAMES | AV_CODEC_CAP_DR1,
|
||||
.priv_class = &g723_1dec_class,
|
||||
};
|
||||
|
@ -393,7 +393,7 @@ AVCodec ff_adpcm_g726_encoder = {
|
||||
.priv_data_size = sizeof(G726Context),
|
||||
.init = g726_encode_init,
|
||||
.encode2 = g726_encode_frame,
|
||||
.capabilities = CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.capabilities = AV_CODEC_CAP_SMALL_LAST_FRAME,
|
||||
.sample_fmts = (const enum AVSampleFormat[]){ AV_SAMPLE_FMT_S16,
|
||||
AV_SAMPLE_FMT_NONE },
|
||||
.priv_class = &class,
|
||||
@ -470,6 +470,6 @@ AVCodec ff_adpcm_g726_decoder = {
|
||||
.init = g726_decode_init,
|
||||
.decode = g726_decode_frame,
|
||||
.flush = g726_decode_flush,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
#endif
|
||||
|
@ -323,5 +323,5 @@ AVCodec ff_gif_decoder = {
|
||||
.init = gif_decode_init,
|
||||
.close = gif_decode_close,
|
||||
.decode = gif_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -121,7 +121,7 @@ AVCodec ff_gsm_decoder = {
|
||||
.init = gsm_init,
|
||||
.decode = gsm_decode_frame,
|
||||
.flush = gsm_flush,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
||||
AVCodec ff_gsm_ms_decoder = {
|
||||
@ -133,5 +133,5 @@ AVCodec ff_gsm_ms_decoder = {
|
||||
.init = gsm_init,
|
||||
.decode = gsm_decode_frame,
|
||||
.flush = gsm_flush,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -664,5 +664,5 @@ AVCodec ff_h261_decoder = {
|
||||
.init = h261_decode_init,
|
||||
.close = h261_decode_end,
|
||||
.decode = h261_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -673,8 +673,8 @@ AVCodec ff_h263_decoder = {
|
||||
.init = ff_h263_decode_init,
|
||||
.close = ff_h263_decode_end,
|
||||
.decode = ff_h263_decode_frame,
|
||||
.capabilities = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 |
|
||||
CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
|
||||
.capabilities = AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_DR1 |
|
||||
AV_CODEC_CAP_TRUNCATED | AV_CODEC_CAP_DELAY,
|
||||
.flush = ff_mpeg_flush,
|
||||
.pix_fmts = ff_h263_hwaccel_pixfmt_list_420,
|
||||
};
|
||||
|
@ -1798,9 +1798,9 @@ AVCodec ff_h264_decoder = {
|
||||
.init = ff_h264_decode_init,
|
||||
.close = h264_decode_end,
|
||||
.decode = h264_decode_frame,
|
||||
.capabilities = /*CODEC_CAP_DRAW_HORIZ_BAND |*/ CODEC_CAP_DR1 |
|
||||
CODEC_CAP_DELAY | CODEC_CAP_SLICE_THREADS |
|
||||
CODEC_CAP_FRAME_THREADS,
|
||||
.capabilities = /*AV_CODEC_CAP_DRAW_HORIZ_BAND |*/ AV_CODEC_CAP_DR1 |
|
||||
AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS |
|
||||
AV_CODEC_CAP_FRAME_THREADS,
|
||||
.flush = flush_dpb,
|
||||
.init_thread_copy = ONLY_IF_THREADS_ENABLED(decode_init_thread_copy),
|
||||
.update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context),
|
||||
|
@ -261,8 +261,8 @@ AVCodec ff_hap_decoder = {
|
||||
.decode = hap_decode,
|
||||
.close = hap_close,
|
||||
.priv_data_size = sizeof(HapContext),
|
||||
.capabilities = CODEC_CAP_FRAME_THREADS | CODEC_CAP_SLICE_THREADS |
|
||||
CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS |
|
||||
AV_CODEC_CAP_DR1,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
|
||||
FF_CODEC_CAP_INIT_CLEANUP,
|
||||
};
|
||||
|
@ -3060,7 +3060,7 @@ AVCodec ff_hevc_decoder = {
|
||||
.flush = hevc_decode_flush,
|
||||
.update_thread_context = hevc_update_thread_context,
|
||||
.init_thread_copy = hevc_init_thread_copy,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_DELAY |
|
||||
CODEC_CAP_FRAME_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY |
|
||||
AV_CODEC_CAP_FRAME_THREADS,
|
||||
.profiles = NULL_IF_CONFIG_SMALL(profiles),
|
||||
};
|
||||
|
@ -461,5 +461,5 @@ AVCodec ff_hnm4_video_decoder = {
|
||||
.init = hnm_decode_init,
|
||||
.close = hnm_decode_end,
|
||||
.decode = hnm_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
@ -384,7 +384,7 @@ AVCodec ff_hq_hqa_decoder = {
|
||||
.init = hq_hqa_decode_init,
|
||||
.decode = hq_hqa_decode_frame,
|
||||
.close = hq_hqa_decode_close,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
|
||||
FF_CODEC_CAP_INIT_CLEANUP,
|
||||
};
|
||||
|
@ -538,7 +538,7 @@ AVCodec ff_hqx_decoder = {
|
||||
.init = hqx_decode_init,
|
||||
.decode = hqx_decode_frame,
|
||||
.close = hqx_decode_close,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_SLICE_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS,
|
||||
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE |
|
||||
FF_CODEC_CAP_INIT_CLEANUP,
|
||||
};
|
||||
|
@ -792,8 +792,8 @@ AVCodec ff_huffyuv_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND |
|
||||
CODEC_CAP_FRAME_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
|
||||
AV_CODEC_CAP_FRAME_THREADS,
|
||||
.init_thread_copy = ONLY_IF_THREADS_ENABLED(decode_init_thread_copy),
|
||||
};
|
||||
|
||||
@ -807,8 +807,8 @@ AVCodec ff_ffvhuff_decoder = {
|
||||
.init = decode_init,
|
||||
.close = decode_end,
|
||||
.decode = decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1 | CODEC_CAP_DRAW_HORIZ_BAND |
|
||||
CODEC_CAP_FRAME_THREADS,
|
||||
.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND |
|
||||
AV_CODEC_CAP_FRAME_THREADS,
|
||||
.init_thread_copy = ONLY_IF_THREADS_ENABLED(decode_init_thread_copy),
|
||||
};
|
||||
#endif /* CONFIG_FFVHUFF_DECODER */
|
||||
|
@ -247,5 +247,5 @@ AVCodec ff_idcin_decoder = {
|
||||
.priv_data_size = sizeof(IdcinContext),
|
||||
.init = idcin_decode_init,
|
||||
.decode = idcin_decode_frame,
|
||||
.capabilities = CODEC_CAP_DR1,
|
||||
.capabilities = AV_CODEC_CAP_DR1,
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user