mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-23 15:30:01 +01:00
avcodec: do not use AVFrame accessor
Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
This commit is contained in:
@@ -151,7 +151,7 @@ static int unrefcount_frame(AVCodecInternal *avci, AVFrame *frame)
|
||||
memcpy(frame->data, avci->to_free->data, sizeof(frame->data));
|
||||
memcpy(frame->linesize, avci->to_free->linesize, sizeof(frame->linesize));
|
||||
if (avci->to_free->extended_data != avci->to_free->data) {
|
||||
int planes = av_frame_get_channels(avci->to_free);
|
||||
int planes = avci->to_free->channels;
|
||||
int size = planes * sizeof(*frame->extended_data);
|
||||
|
||||
if (!size) {
|
||||
@@ -174,7 +174,7 @@ static int unrefcount_frame(AVCodecInternal *avci, AVFrame *frame)
|
||||
frame->height = avci->to_free->height;
|
||||
frame->channel_layout = avci->to_free->channel_layout;
|
||||
frame->nb_samples = avci->to_free->nb_samples;
|
||||
av_frame_set_channels(frame, av_frame_get_channels(avci->to_free));
|
||||
frame->channels = avci->to_free->channels;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -417,7 +417,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
if (!(avctx->codec->caps_internal & FF_CODEC_CAP_SETS_PKT_DTS))
|
||||
frame->pkt_dts = pkt->dts;
|
||||
if(!avctx->has_b_frames)
|
||||
av_frame_set_pkt_pos(frame, pkt->pos);
|
||||
frame->pkt_pos = pkt->pos;
|
||||
//FIXME these should be under if(!avctx->has_b_frames)
|
||||
/* get_buffer is supposed to set frame parameters */
|
||||
if (!(avctx->codec->capabilities & AV_CODEC_CAP_DR1)) {
|
||||
@@ -436,10 +436,9 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
if (frame->flags & AV_FRAME_FLAG_DISCARD)
|
||||
got_frame = 0;
|
||||
if (got_frame)
|
||||
av_frame_set_best_effort_timestamp(frame,
|
||||
guess_correct_pts(avctx,
|
||||
frame->pts,
|
||||
frame->pkt_dts));
|
||||
frame->best_effort_timestamp = guess_correct_pts(avctx,
|
||||
frame->pts,
|
||||
frame->pkt_dts);
|
||||
} else if (avctx->codec->type == AVMEDIA_TYPE_AUDIO) {
|
||||
uint8_t *side;
|
||||
int side_size;
|
||||
@@ -448,16 +447,15 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
uint8_t discard_reason = 0;
|
||||
|
||||
if (ret >= 0 && got_frame) {
|
||||
av_frame_set_best_effort_timestamp(frame,
|
||||
guess_correct_pts(avctx,
|
||||
frame->pts,
|
||||
frame->pkt_dts));
|
||||
frame->best_effort_timestamp = guess_correct_pts(avctx,
|
||||
frame->pts,
|
||||
frame->pkt_dts);
|
||||
if (frame->format == AV_SAMPLE_FMT_NONE)
|
||||
frame->format = avctx->sample_fmt;
|
||||
if (!frame->channel_layout)
|
||||
frame->channel_layout = avctx->channel_layout;
|
||||
if (!av_frame_get_channels(frame))
|
||||
av_frame_set_channels(frame, avctx->channels);
|
||||
if (!frame->channels)
|
||||
frame->channels = avctx->channels;
|
||||
if (!frame->sample_rate)
|
||||
frame->sample_rate = avctx->sample_rate;
|
||||
}
|
||||
@@ -502,8 +500,8 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
if(frame->pkt_dts!=AV_NOPTS_VALUE)
|
||||
frame->pkt_dts += diff_ts;
|
||||
if (av_frame_get_pkt_duration(frame) >= diff_ts)
|
||||
av_frame_set_pkt_duration(frame, av_frame_get_pkt_duration(frame) - diff_ts);
|
||||
if (frame->pkt_duration >= diff_ts)
|
||||
frame->pkt_duration -= diff_ts;
|
||||
} else {
|
||||
av_log(avctx, AV_LOG_WARNING, "Could not update timestamps for skipped samples.\n");
|
||||
}
|
||||
@@ -523,7 +521,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
int64_t diff_ts = av_rescale_q(frame->nb_samples - discard_padding,
|
||||
(AVRational){1, avctx->sample_rate},
|
||||
avctx->pkt_timebase);
|
||||
av_frame_set_pkt_duration(frame, diff_ts);
|
||||
frame->pkt_duration = diff_ts;
|
||||
} else {
|
||||
av_log(avctx, AV_LOG_WARNING, "Could not update timestamps for discarded samples.\n");
|
||||
}
|
||||
@@ -1253,7 +1251,7 @@ static int update_frame_pool(AVCodecContext *avctx, AVFrame *frame)
|
||||
break;
|
||||
}
|
||||
case AVMEDIA_TYPE_AUDIO: {
|
||||
int ch = av_frame_get_channels(frame); //av_get_channel_layout_nb_channels(frame->channel_layout);
|
||||
int ch = frame->channels; //av_get_channel_layout_nb_channels(frame->channel_layout);
|
||||
int planar = av_sample_fmt_is_planar(frame->format);
|
||||
int planes = planar ? ch : 1;
|
||||
|
||||
@@ -1408,7 +1406,7 @@ static int add_metadata_from_side_data(const AVPacket *avpkt, AVFrame *frame)
|
||||
int size;
|
||||
const uint8_t *side_metadata;
|
||||
|
||||
AVDictionary **frame_md = avpriv_frame_get_metadatap(frame);
|
||||
AVDictionary **frame_md = &frame->metadata;
|
||||
|
||||
side_metadata = av_packet_get_side_data(avpkt,
|
||||
AV_PKT_DATA_STRINGS_METADATA, &size);
|
||||
@@ -1439,9 +1437,9 @@ FF_DISABLE_DEPRECATION_WARNINGS
|
||||
frame->pkt_pts = pkt->pts;
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif
|
||||
av_frame_set_pkt_pos (frame, pkt->pos);
|
||||
av_frame_set_pkt_duration(frame, pkt->duration);
|
||||
av_frame_set_pkt_size (frame, pkt->size);
|
||||
frame->pkt_pos = pkt->pos;
|
||||
frame->pkt_duration = pkt->duration;
|
||||
frame->pkt_size = pkt->size;
|
||||
|
||||
for (i = 0; i < FF_ARRAY_ELEMS(sd); i++) {
|
||||
int size;
|
||||
@@ -1470,10 +1468,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
frame->color_primaries = avctx->color_primaries;
|
||||
if (frame->color_trc == AVCOL_TRC_UNSPECIFIED)
|
||||
frame->color_trc = avctx->color_trc;
|
||||
if (av_frame_get_colorspace(frame) == AVCOL_SPC_UNSPECIFIED)
|
||||
av_frame_set_colorspace(frame, avctx->colorspace);
|
||||
if (av_frame_get_color_range(frame) == AVCOL_RANGE_UNSPECIFIED)
|
||||
av_frame_set_color_range(frame, avctx->color_range);
|
||||
if (frame->colorspace == AVCOL_SPC_UNSPECIFIED)
|
||||
frame->colorspace = avctx->colorspace;
|
||||
if (frame->color_range == AVCOL_RANGE_UNSPECIFIED)
|
||||
frame->color_range = avctx->color_range;
|
||||
if (frame->chroma_location == AVCHROMA_LOC_UNSPECIFIED)
|
||||
frame->chroma_location = avctx->chroma_sample_location;
|
||||
|
||||
@@ -1516,7 +1514,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
}
|
||||
}
|
||||
}
|
||||
av_frame_set_channels(frame, avctx->channels);
|
||||
frame->channels = avctx->channels;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user