mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-22 15:23:11 +00:00
avcodec/utils: replace avctx->internal with avci for better readability
Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
22a06a539d
commit
8a62d88b0e
@ -551,6 +551,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
|
||||
int codec_init_ok = 0;
|
||||
AVDictionary *tmp = NULL;
|
||||
const AVPixFmtDescriptor *pixdesc;
|
||||
AVCodecInternal *avci;
|
||||
|
||||
if (avcodec_is_open(avctx))
|
||||
return 0;
|
||||
@ -575,55 +576,56 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
|
||||
|
||||
ff_lock_avcodec(avctx, codec);
|
||||
|
||||
avctx->internal = av_mallocz(sizeof(*avctx->internal));
|
||||
if (!avctx->internal) {
|
||||
avci = av_mallocz(sizeof(*avci));
|
||||
if (!avci) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto end;
|
||||
}
|
||||
avctx->internal = avci;
|
||||
|
||||
avctx->internal->pool = av_mallocz(sizeof(*avctx->internal->pool));
|
||||
if (!avctx->internal->pool) {
|
||||
avci->pool = av_mallocz(sizeof(*avci->pool));
|
||||
if (!avci->pool) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
avctx->internal->to_free = av_frame_alloc();
|
||||
if (!avctx->internal->to_free) {
|
||||
avci->to_free = av_frame_alloc();
|
||||
if (!avci->to_free) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
avctx->internal->compat_decode_frame = av_frame_alloc();
|
||||
if (!avctx->internal->compat_decode_frame) {
|
||||
avci->compat_decode_frame = av_frame_alloc();
|
||||
if (!avci->compat_decode_frame) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
avctx->internal->buffer_frame = av_frame_alloc();
|
||||
if (!avctx->internal->buffer_frame) {
|
||||
avci->buffer_frame = av_frame_alloc();
|
||||
if (!avci->buffer_frame) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
avctx->internal->buffer_pkt = av_packet_alloc();
|
||||
if (!avctx->internal->buffer_pkt) {
|
||||
avci->buffer_pkt = av_packet_alloc();
|
||||
if (!avci->buffer_pkt) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
avctx->internal->ds.in_pkt = av_packet_alloc();
|
||||
if (!avctx->internal->ds.in_pkt) {
|
||||
avci->ds.in_pkt = av_packet_alloc();
|
||||
if (!avci->ds.in_pkt) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
avctx->internal->last_pkt_props = av_packet_alloc();
|
||||
if (!avctx->internal->last_pkt_props) {
|
||||
avci->last_pkt_props = av_packet_alloc();
|
||||
if (!avci->last_pkt_props) {
|
||||
ret = AVERROR(ENOMEM);
|
||||
goto free_and_end;
|
||||
}
|
||||
|
||||
avctx->internal->skip_samples_multiplier = 1;
|
||||
avci->skip_samples_multiplier = 1;
|
||||
|
||||
if (codec->priv_data_size > 0) {
|
||||
if (!avctx->priv_data) {
|
||||
@ -755,7 +757,7 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code
|
||||
}
|
||||
|
||||
if (HAVE_THREADS
|
||||
&& !(avctx->internal->frame_thread_encoder && (avctx->active_thread_type&FF_THREAD_FRAME))) {
|
||||
&& !(avci->frame_thread_encoder && (avctx->active_thread_type&FF_THREAD_FRAME))) {
|
||||
ret = ff_thread_init(avctx);
|
||||
if (ret < 0) {
|
||||
goto free_and_end;
|
||||
@ -947,7 +949,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
"gray decoding requested but not enabled at configuration time\n");
|
||||
|
||||
if ( avctx->codec->init && (!(avctx->active_thread_type&FF_THREAD_FRAME)
|
||||
|| avctx->internal->frame_thread_encoder)) {
|
||||
|| avci->frame_thread_encoder)) {
|
||||
ret = avctx->codec->init(avctx);
|
||||
if (ret < 0) {
|
||||
goto free_and_end;
|
||||
@ -1045,7 +1047,7 @@ free_and_end:
|
||||
(avctx->codec->caps_internal & FF_CODEC_CAP_INIT_CLEANUP)))
|
||||
avctx->codec->close(avctx);
|
||||
|
||||
if (HAVE_THREADS && avctx->internal->thread_ctx)
|
||||
if (HAVE_THREADS && avci->thread_ctx)
|
||||
ff_thread_free(avctx);
|
||||
|
||||
if (codec->priv_class && codec->priv_data_size)
|
||||
@ -1061,19 +1063,20 @@ FF_ENABLE_DEPRECATION_WARNINGS
|
||||
av_dict_free(&tmp);
|
||||
av_freep(&avctx->priv_data);
|
||||
av_freep(&avctx->subtitle_header);
|
||||
if (avctx->internal) {
|
||||
av_frame_free(&avctx->internal->to_free);
|
||||
av_frame_free(&avctx->internal->compat_decode_frame);
|
||||
av_frame_free(&avctx->internal->buffer_frame);
|
||||
av_packet_free(&avctx->internal->buffer_pkt);
|
||||
av_packet_free(&avctx->internal->last_pkt_props);
|
||||
if (avci) {
|
||||
av_frame_free(&avci->to_free);
|
||||
av_frame_free(&avci->compat_decode_frame);
|
||||
av_frame_free(&avci->buffer_frame);
|
||||
av_packet_free(&avci->buffer_pkt);
|
||||
av_packet_free(&avci->last_pkt_props);
|
||||
|
||||
av_packet_free(&avctx->internal->ds.in_pkt);
|
||||
av_packet_free(&avci->ds.in_pkt);
|
||||
ff_decode_bsfs_uninit(avctx);
|
||||
|
||||
av_freep(&avctx->internal->pool);
|
||||
av_freep(&avci->pool);
|
||||
}
|
||||
av_freep(&avctx->internal);
|
||||
av_freep(&avci);
|
||||
avctx->internal = NULL;
|
||||
avctx->codec = NULL;
|
||||
goto end;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user