mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
ffmpeg: call pre_process_video_frame() only if decoding is needed
In output_packet(), move the pre_process_video_frame() call inside the if (ist->decoding_needed) { } block. This way pre_process_video_frame() is not called when stream-copy has been selected. Also simplify. Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
This commit is contained in:
parent
6d6351483f
commit
7046b63e69
10
ffmpeg.c
10
ffmpeg.c
@ -1489,7 +1489,7 @@ static int output_packet(AVInputStream *ist, int ist_index,
|
|||||||
int ret, i;
|
int ret, i;
|
||||||
int got_picture;
|
int got_picture;
|
||||||
AVFrame picture;
|
AVFrame picture;
|
||||||
void *buffer_to_free;
|
void *buffer_to_free = NULL;
|
||||||
static unsigned int samples_size= 0;
|
static unsigned int samples_size= 0;
|
||||||
AVSubtitle subtitle, *subtitle_to_free;
|
AVSubtitle subtitle, *subtitle_to_free;
|
||||||
int64_t pkt_pts = AV_NOPTS_VALUE;
|
int64_t pkt_pts = AV_NOPTS_VALUE;
|
||||||
@ -1590,6 +1590,8 @@ static int output_packet(AVInputStream *ist, int ist_index,
|
|||||||
ist->st->codec->time_base.den;
|
ist->st->codec->time_base.den;
|
||||||
}
|
}
|
||||||
avpkt.size = 0;
|
avpkt.size = 0;
|
||||||
|
buffer_to_free = NULL;
|
||||||
|
pre_process_video_frame(ist, (AVPicture *)&picture, &buffer_to_free);
|
||||||
break;
|
break;
|
||||||
case AVMEDIA_TYPE_SUBTITLE:
|
case AVMEDIA_TYPE_SUBTITLE:
|
||||||
ret = avcodec_decode_subtitle2(ist->st->codec,
|
ret = avcodec_decode_subtitle2(ist->st->codec,
|
||||||
@ -1624,12 +1626,6 @@ static int output_packet(AVInputStream *ist, int ist_index,
|
|||||||
avpkt.size = 0;
|
avpkt.size = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer_to_free = NULL;
|
|
||||||
if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
|
|
||||||
pre_process_video_frame(ist, (AVPicture *)&picture,
|
|
||||||
&buffer_to_free);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if CONFIG_AVFILTER
|
#if CONFIG_AVFILTER
|
||||||
if(ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO){
|
if(ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO){
|
||||||
for(i=0;i<nb_ostreams;i++) {
|
for(i=0;i<nb_ostreams;i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user