Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'
* commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370': Deprecate avctx.coded_frame Conflicts: ffmpeg.c libavcodec/a64multienc.c libavcodec/asvenc.c libavcodec/cljrenc.c libavcodec/dpxenc.c libavcodec/gif.c libavcodec/mpegvideo_enc.c libavcodec/nvenc.c libavcodec/proresenc_kostya.c libavcodec/pthread_frame.c libavcodec/rawenc.c libavcodec/sunrastenc.c libavcodec/tiffenc.c libavcodec/version.h libavcodec/xbmenc.c libavcodec/xwdenc.c libavdevice/v4l2.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
commit
495eee0123
3
ffmpeg.c
3
ffmpeg.c
@ -49,6 +49,7 @@
|
||||
#include "libavutil/parseutils.h"
|
||||
#include "libavutil/samplefmt.h"
|
||||
#include "libavutil/fifo.h"
|
||||
#include "libavutil/internal.h"
|
||||
#include "libavutil/intreadwrite.h"
|
||||
#include "libavutil/dict.h"
|
||||
#include "libavutil/mathematics.h"
|
||||
@ -1264,6 +1265,7 @@ static void do_video_stats(OutputStream *ost, int frame_size)
|
||||
frame_number = ost->st->nb_frames;
|
||||
fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number,
|
||||
ost->quality / (float)FF_QP2LAMBDA);
|
||||
|
||||
if (enc->coded_frame && (enc->flags&CODEC_FLAG_PSNR))
|
||||
fprintf(vstats_file, "PSNR= %6.2f ", psnr(enc->coded_frame->error[0] / (enc->width * enc->height * 255.0 * 255.0)));
|
||||
|
||||
@ -1583,6 +1585,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
|
||||
for (j = 0; j < 32; j++)
|
||||
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%X", (int)lrintf(log2(qp_histogram[j] + 1)));
|
||||
}
|
||||
|
||||
if ((enc->flags&CODEC_FLAG_PSNR) && (enc->coded_frame || is_last_report)) {
|
||||
int j;
|
||||
double error, error_sum = 0;
|
||||
|
@ -33,8 +33,12 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
int width, height, bits_pixel, i, j, length, ret;
|
||||
uint8_t *in_buf, *buf;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
width = avctx->width;
|
||||
height = avctx->height;
|
||||
|
@ -2773,12 +2773,16 @@ typedef struct AVCodecContext {
|
||||
int lowres;
|
||||
#endif
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
/**
|
||||
* the picture in the bitstream
|
||||
* - encoding: Set by libavcodec.
|
||||
* - decoding: unused
|
||||
*
|
||||
* @deprecated use the quality factor packet side data instead
|
||||
*/
|
||||
AVFrame *coded_frame;
|
||||
attribute_deprecated AVFrame *coded_frame;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* thread count
|
||||
|
@ -74,8 +74,12 @@ static int bmp_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
int bit_count = avctx->bits_per_coded_sample;
|
||||
uint8_t *ptr, *buf;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
switch (avctx->pix_fmt) {
|
||||
case AV_PIX_FMT_RGB444:
|
||||
compression = BMP_BITFIELDS;
|
||||
|
@ -388,8 +388,12 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->mb_qscale,
|
||||
ctx->m.mb_num * sizeof(uint8_t), fail);
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
if (avctx->thread_count > MAX_THREADS) {
|
||||
av_log(avctx, AV_LOG_ERROR, "too many threads\n");
|
||||
@ -1040,7 +1044,11 @@ static void dnxhd_load_picture(DNXHDEncContext *ctx, const AVFrame *frame)
|
||||
ctx->thread[i]->dct_uv_offset = ctx->m.uvlinesize*8;
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
ctx->m.avctx->coded_frame->interlaced_frame = frame->interlaced_frame;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
ctx->cur_field = frame->interlaced_frame && !frame->top_field_first;
|
||||
}
|
||||
|
||||
@ -1101,7 +1109,11 @@ encode_coding_unit:
|
||||
goto encode_coding_unit;
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->quality = ctx->qscale * FF_QP2LAMBDA;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
sd = av_packet_new_side_data(pkt, AV_PKT_DATA_QUALITY_FACTOR, sizeof(int));
|
||||
if (!sd)
|
||||
|
@ -722,8 +722,12 @@ static int dvvideo_encode_frame(AVCodecContext *c, AVPacket *pkt,
|
||||
|
||||
c->pix_fmt = s->sys->pix_fmt;
|
||||
s->frame = frame;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
c->coded_frame->key_frame = 1;
|
||||
c->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
s->buf = pkt->data;
|
||||
c->execute(c, dv_encode_video_segment, s->work_chunks, NULL,
|
||||
|
@ -853,7 +853,11 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
||||
if ((ret = ffv1_allocate_initial_states(s)) < 0)
|
||||
return ret;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
if (!s->transparency)
|
||||
s->plane_count = 2;
|
||||
@ -1314,7 +1318,11 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
if (avctx->flags & CODEC_FLAG_PASS1)
|
||||
avctx->stats_out[0] = '\0';
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = f->key_frame;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
f->picture_number++;
|
||||
pkt->size = buf_p - pkt->data;
|
||||
|
@ -254,13 +254,21 @@ static int flashsv_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
|
||||
//mark the frame type so the muxer can mux it correctly
|
||||
if (I_frame) {
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
s->last_key_frame = avctx->frame_number;
|
||||
ff_dlog(avctx, "Inserting keyframe at frame %d\n", avctx->frame_number);
|
||||
} else {
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P;
|
||||
avctx->coded_frame->key_frame = 0;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
}
|
||||
|
||||
if (I_frame)
|
||||
|
@ -221,8 +221,12 @@ static av_cold int gif_encode_init(AVCodecContext *avctx)
|
||||
av_log(avctx, AV_LOG_ERROR, "GIF does not support resolutions above 65535x65535\n");
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
s->transparent_index = -1;
|
||||
|
||||
|
@ -231,8 +231,12 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
||||
if (!avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
s->bps = desc->comp[0].depth_minus1 + 1;
|
||||
s->yuv = !(desc->flags & AV_PIX_FMT_FLAG_RGB) && desc->nb_components >= 2;
|
||||
|
@ -414,8 +414,12 @@ memfail:
|
||||
|
||||
static av_cold int encode_init_ls(AVCodecContext *ctx)
|
||||
{
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
ctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
ctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
if (ctx->pix_fmt != AV_PIX_FMT_GRAY8 &&
|
||||
ctx->pix_fmt != AV_PIX_FMT_GRAY16 &&
|
||||
|
@ -135,8 +135,12 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
||||
if (!avctx->extradata)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
c->compression = avctx->compression_level == FF_COMPRESSION_DEFAULT ?
|
||||
COMP_ZLIB_NORMAL :
|
||||
|
@ -383,12 +383,16 @@ static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
goto error;
|
||||
|
||||
memcpy(pkt->data, p_frame_output->p_encbuf, p_frame_output->size);
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = p_frame_output->key_frame;
|
||||
avctx->coded_frame->pts = p_frame_output->frame_num;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
/* Use the frame number of the encoded frame as the pts. It is OK to
|
||||
* do so since Dirac is a constant frame rate codec. It expects input
|
||||
* to be of constant frame rate. */
|
||||
pkt->pts =
|
||||
avctx->coded_frame->pts = p_frame_output->frame_num;
|
||||
pkt->pts = p_frame_output->frame_num;
|
||||
pkt->dts = p_schro_params->dts++;
|
||||
enc_size = p_frame_output->size;
|
||||
|
||||
|
@ -344,7 +344,11 @@ static int encode_frame(AVCodecContext* avc_context, AVPacket *pkt,
|
||||
// HACK: assumes no encoder delay, this is true until libtheora becomes
|
||||
// multithreaded (which will be disabled unless explicitly requested)
|
||||
pkt->pts = pkt->dts = frame->pts;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avc_context->coded_frame->key_frame = !(o_packet.granulepos & h->keyframe_mask);
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
if (!(o_packet.granulepos & h->keyframe_mask))
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
*got_packet = 1;
|
||||
|
@ -692,14 +692,26 @@ static int storeframe(AVCodecContext *avctx, struct FrameListData *cx_frame,
|
||||
if (ret >= 0) {
|
||||
memcpy(pkt->data, cx_frame->buf, pkt->size);
|
||||
pkt->pts = pkt->dts = cx_frame->pts;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pts = cx_frame->pts;
|
||||
avctx->coded_frame->key_frame = !!(cx_frame->flags & VPX_FRAME_IS_KEY);
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
if (!!(cx_frame->flags & VPX_FRAME_IS_KEY)) {
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
} else {
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
}
|
||||
|
||||
if (cx_frame->have_sse) {
|
||||
|
@ -287,6 +287,8 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame,
|
||||
pkt->pts = pic_out.i_pts;
|
||||
pkt->dts = pic_out.i_dts;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
switch (pic_out.i_type) {
|
||||
case X264_TYPE_IDR:
|
||||
case X264_TYPE_I:
|
||||
@ -300,6 +302,8 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame,
|
||||
ctx->coded_frame->pict_type = AV_PICTURE_TYPE_B;
|
||||
break;
|
||||
}
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
pkt->flags |= AV_PKT_FLAG_KEY*pic_out.b_keyframe;
|
||||
if (ret) {
|
||||
@ -309,7 +313,11 @@ static int X264_frame(AVCodecContext *ctx, AVPacket *pkt, const AVFrame *frame,
|
||||
return AVERROR(ENOMEM);
|
||||
*(int *)sd = (pic_out.i_qpplus1 - 1) * FF_QP2LAMBDA;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
ctx->coded_frame->quality = (pic_out.i_qpplus1 - 1) * FF_QP2LAMBDA;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
}
|
||||
|
||||
*got_packet = ret;
|
||||
|
@ -298,6 +298,8 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
pkt->pts = x265pic_out.pts;
|
||||
pkt->dts = x265pic_out.dts;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
switch (x265pic_out.sliceType) {
|
||||
case X265_TYPE_IDR:
|
||||
case X265_TYPE_I:
|
||||
@ -310,6 +312,8 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_B;
|
||||
break;
|
||||
}
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
*got_packet = 1;
|
||||
return 0;
|
||||
|
@ -159,7 +159,11 @@ static int XAVS_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pts = pic_out.i_pts;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
pkt->pts = pic_out.i_pts;
|
||||
if (avctx->has_b_frames) {
|
||||
if (!x4->out_frame_count)
|
||||
@ -169,6 +173,8 @@ static int XAVS_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
} else
|
||||
pkt->dts = pkt->pts;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
switch (pic_out.i_type) {
|
||||
case XAVS_TYPE_IDR:
|
||||
case XAVS_TYPE_I:
|
||||
@ -182,15 +188,25 @@ static int XAVS_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_B;
|
||||
break;
|
||||
}
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
/* There is no IDR frame in AVS JiZhun */
|
||||
/* Sequence header is used as a flag */
|
||||
if (pic_out.i_type == XAVS_TYPE_I) {
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->quality = (pic_out.i_qpplus1 - 1) * FF_QP2LAMBDA;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
sd = av_packet_new_side_data(pkt, AV_PKT_DATA_QUALITY_FACTOR, sizeof(int));
|
||||
if (!sd)
|
||||
|
@ -779,6 +779,8 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
|
||||
*got_packet = 1;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->quality = xvid_enc_stats.quant * FF_QP2LAMBDA;
|
||||
if (xvid_enc_stats.type == XVID_TYPE_PVOP)
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P;
|
||||
@ -788,14 +790,24 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_S;
|
||||
else
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
if (xvid_enc_frame.out_flags & XVID_KEYFRAME) {
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
if (x->quicktime_format)
|
||||
return xvid_strip_vol_header(avctx, pkt,
|
||||
xvid_enc_stats.hlength, xerr);
|
||||
} else {
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = 0;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
}
|
||||
|
||||
pkt->size = xerr;
|
||||
|
@ -285,8 +285,12 @@ static av_cold int ljpeg_encode_init(AVCodecContext *avctx)
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
s->scratch = av_malloc_array(avctx->width + 1, sizeof(*s->scratch));
|
||||
if (!s->scratch)
|
||||
|
@ -1617,7 +1617,11 @@ static void frame_end(MpegEncContext *s)
|
||||
if (s->pict_type!= AV_PICTURE_TYPE_B)
|
||||
s->last_non_b_pict_type = s->pict_type;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
av_frame_copy_props(s->avctx->coded_frame, s->current_picture.f);
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
}
|
||||
|
||||
static void update_noise_reduction(MpegEncContext *s)
|
||||
|
@ -1137,6 +1137,8 @@ static int process_output_surface(AVCodecContext *avctx, AVPacket *pkt, AVFrame
|
||||
switch (lock_params.pictureType) {
|
||||
case NV_ENC_PIC_TYPE_IDR:
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
case NV_ENC_PIC_TYPE_I:
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
break;
|
||||
@ -1154,6 +1156,8 @@ static int process_output_surface(AVCodecContext *avctx, AVPacket *pkt, AVFrame
|
||||
av_log(avctx, AV_LOG_ERROR, "Please report this error and include as much information on how to reproduce it as possible.\n");
|
||||
res = AVERROR_EXTERNAL;
|
||||
goto error;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
}
|
||||
|
||||
pkt->pts = lock_params.outputTimeStamp;
|
||||
|
@ -129,8 +129,12 @@ static int pam_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
|
||||
static av_cold int pam_encode_init(AVCodecContext *avctx)
|
||||
{
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -35,8 +35,12 @@ static const uint32_t monoblack_pal[16] = { 0x000000, 0xFFFFFF };
|
||||
|
||||
static av_cold int pcx_encode_init(AVCodecContext *avctx)
|
||||
{
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -627,8 +627,12 @@ static av_cold int png_enc_init(AVCodecContext *avctx)
|
||||
avctx->bits_per_coded_sample = 8;
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
ff_huffyuvencdsp_init(&s->hdsp);
|
||||
|
||||
|
@ -120,8 +120,12 @@ static int pnm_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
|
||||
static av_cold int pnm_encode_init(AVCodecContext *avctx)
|
||||
{
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1125,8 +1125,12 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
||||
int interlaced = !!(avctx->flags & CODEC_FLAG_INTERLACED_DCT);
|
||||
|
||||
avctx->bits_per_raw_sample = 10;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
ctx->fdct = prores_fdct;
|
||||
ctx->scantable = interlaced ? ff_prores_interlaced_scan
|
||||
|
@ -242,7 +242,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
|
||||
if (for_user) {
|
||||
dst->delay = src->thread_count - 1;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
dst->coded_frame = src->coded_frame;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
} else {
|
||||
if (dst->codec->update_thread_context)
|
||||
err = dst->codec->update_thread_context(dst, src);
|
||||
|
@ -466,12 +466,16 @@ int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
|
||||
bs->FrameType & MFX_FRAMETYPE_xIDR)
|
||||
new_pkt.flags |= AV_PKT_FLAG_KEY;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
if (bs->FrameType & MFX_FRAMETYPE_I || bs->FrameType & MFX_FRAMETYPE_xI)
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
else if (bs->FrameType & MFX_FRAMETYPE_P || bs->FrameType & MFX_FRAMETYPE_xP)
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P;
|
||||
else if (bs->FrameType & MFX_FRAMETYPE_B || bs->FrameType & MFX_FRAMETYPE_xB)
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_B;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
av_freep(&bs);
|
||||
|
||||
|
@ -385,8 +385,12 @@ static int qtrle_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
av_picture_copy(&s->previous_frame, (const AVPicture *)pict,
|
||||
avctx->pix_fmt, avctx->width, avctx->height);
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = s->key_frame;
|
||||
avctx->coded_frame->pict_type = pict_type;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
if (s->key_frame)
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
|
@ -35,7 +35,11 @@ static av_cold int raw_encode_init(AVCodecContext *avctx)
|
||||
{
|
||||
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt);
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
avctx->bits_per_coded_sample = av_get_bits_per_pixel(desc);
|
||||
if(!avctx->codec_tag)
|
||||
avctx->codec_tag = avcodec_pix_fmt_to_codec_tag(avctx->pix_fmt);
|
||||
|
@ -50,8 +50,12 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
unsigned int bytes_per_channel, pixmax, put_be;
|
||||
unsigned char *end_buf;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
width = avctx->width;
|
||||
height = avctx->height;
|
||||
|
@ -611,8 +611,12 @@ static int svq1_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
s->pict_type = AV_PICTURE_TYPE_I;
|
||||
s->quality = pict->quality;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = s->pict_type;
|
||||
avctx->coded_frame->key_frame = s->pict_type == AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
sd = av_packet_new_side_data(pkt, AV_PKT_DATA_QUALITY_FACTOR, sizeof(int));
|
||||
if (!sd)
|
||||
|
@ -172,8 +172,12 @@ static int targa_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
|
||||
static av_cold int targa_encode_init(AVCodecContext *avctx)
|
||||
{
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -521,8 +521,12 @@ fail:
|
||||
static av_cold int encode_init(AVCodecContext *avctx)
|
||||
{
|
||||
TiffEncoderContext *s = avctx->priv_data;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
s->avctx = avctx;
|
||||
|
||||
return 0;
|
||||
|
@ -1529,11 +1529,15 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
|
||||
|
||||
if (av_codec_is_encoder(avctx->codec)) {
|
||||
int i;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame = av_frame_alloc();
|
||||
if (!avctx->coded_frame) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
if (avctx->codec->sample_fmts) {
|
||||
for (i = 0; avctx->codec->sample_fmts[i] != AV_SAMPLE_FMT_NONE; i++) {
|
||||
if (avctx->sample_fmt == avctx->codec->sample_fmts[i])
|
||||
@ -1756,7 +1760,11 @@ free_and_end:
|
||||
av_opt_free(avctx->priv_data);
|
||||
av_opt_free(avctx);
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
av_frame_free(&avctx->coded_frame);
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
av_dict_free(&tmp);
|
||||
av_freep(&avctx->priv_data);
|
||||
@ -2907,7 +2915,11 @@ av_cold int avcodec_close(AVCodecContext *avctx)
|
||||
av_freep(&avctx->priv_data);
|
||||
if (av_codec_is_encoder(avctx->codec)) {
|
||||
av_freep(&avctx->extradata);
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
av_frame_free(&avctx->coded_frame);
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
}
|
||||
avctx->codec = NULL;
|
||||
avctx->active_thread_type = 0;
|
||||
|
@ -613,8 +613,12 @@ static int utvideo_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
* At least currently Ut Video is IDR only.
|
||||
* Set flags accordingly.
|
||||
*/
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
pkt->size = bytestream2_tell_p(&pb);
|
||||
pkt->flags |= AV_PKT_FLAG_KEY;
|
||||
|
@ -91,7 +91,11 @@ static av_cold int encode_init(AVCodecContext *avctx)
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
s->pack_line_8 = v210_planar_pack_8_c;
|
||||
s->pack_line_10 = v210_planar_pack_10_c;
|
||||
|
@ -47,8 +47,12 @@ static int v410_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
return ret;
|
||||
dst = pkt->data;
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->key_frame = 1;
|
||||
avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
y = (uint16_t *)pic->data[0];
|
||||
u = (uint16_t *)pic->data[1];
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 56
|
||||
#define LIBAVCODEC_VERSION_MINOR 50
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
#define LIBAVCODEC_VERSION_MICRO 101
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
@ -196,5 +196,8 @@
|
||||
#ifndef FF_API_RC_STRATEGY
|
||||
#define FF_API_RC_STRATEGY (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_CODED_FRAME
|
||||
#define FF_API_CODED_FRAME (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
|
||||
#endif /* AVCODEC_VERSION_H */
|
||||
|
@ -133,8 +133,12 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
||||
c->curfrm++;
|
||||
if(c->curfrm == c->keyint)
|
||||
c->curfrm = 0;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
avctx->coded_frame->pict_type = keyframe ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_P;
|
||||
avctx->coded_frame->key_frame = keyframe;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
chpal = !keyframe && memcmp(p->data[1], c->pal2, 1024);
|
||||
|
||||
palptr = (uint32_t*)p->data[1];
|
||||
|
@ -987,7 +987,11 @@ fail:
|
||||
static int v4l2_read_packet(AVFormatContext *ctx, AVPacket *pkt)
|
||||
{
|
||||
struct video_data *s = ctx->priv_data;
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
AVFrame *frame = ctx->streams[0]->codec->coded_frame;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
int res;
|
||||
|
||||
av_init_packet(pkt);
|
||||
@ -995,10 +999,14 @@ static int v4l2_read_packet(AVFormatContext *ctx, AVPacket *pkt)
|
||||
return res;
|
||||
}
|
||||
|
||||
#if FF_API_CODED_FRAME
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
if (frame && s->interlaced) {
|
||||
frame->interlaced_frame = 1;
|
||||
frame->top_field_first = s->top_field_first;
|
||||
}
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
|
||||
return pkt->size;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user