mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
fftools/ffmpeg: move OutputStream.last_nb0_frames to Encoder
It is video encoding-only and does not need to be visible outside of ffmpeg_enc.c Also, rename the variable to frames_prev_hist to be consistent with the naming in do_video_out().
This commit is contained in:
parent
87ae84e4af
commit
83da6d3f54
@ -590,7 +590,6 @@ typedef struct OutputStream {
|
||||
AVFrame *filtered_frame;
|
||||
AVPacket *pkt;
|
||||
int64_t last_dropped;
|
||||
int64_t last_nb0_frames[3];
|
||||
|
||||
/* video only */
|
||||
AVRational frame_rate;
|
||||
|
@ -50,6 +50,10 @@ struct Encoder {
|
||||
AVFrame *last_frame;
|
||||
/* number of frames emitted by the video-encoding sync code */
|
||||
int64_t vsync_frame_number;
|
||||
/* history of nb_frames_prev, i.e. the number of times the
|
||||
* previous frame was duplicated by vsync code in recent
|
||||
* do_video_out() calls */
|
||||
int64_t frames_prev_hist[3];
|
||||
|
||||
AVFrame *sq_frame;
|
||||
};
|
||||
@ -999,18 +1003,18 @@ static void do_video_out(OutputFile *of,
|
||||
|
||||
if (!next_picture) {
|
||||
//end, flushing
|
||||
nb_frames_prev = nb_frames = mid_pred(ost->last_nb0_frames[0],
|
||||
ost->last_nb0_frames[1],
|
||||
ost->last_nb0_frames[2]);
|
||||
nb_frames_prev = nb_frames = mid_pred(e->frames_prev_hist[0],
|
||||
e->frames_prev_hist[1],
|
||||
e->frames_prev_hist[2]);
|
||||
} else {
|
||||
video_sync_process(of, ost, next_picture, duration,
|
||||
&nb_frames, &nb_frames_prev);
|
||||
}
|
||||
|
||||
memmove(ost->last_nb0_frames + 1,
|
||||
ost->last_nb0_frames,
|
||||
sizeof(ost->last_nb0_frames[0]) * (FF_ARRAY_ELEMS(ost->last_nb0_frames) - 1));
|
||||
ost->last_nb0_frames[0] = nb_frames_prev;
|
||||
memmove(e->frames_prev_hist + 1,
|
||||
e->frames_prev_hist,
|
||||
sizeof(e->frames_prev_hist[0]) * (FF_ARRAY_ELEMS(e->frames_prev_hist) - 1));
|
||||
e->frames_prev_hist[0] = nb_frames_prev;
|
||||
|
||||
if (nb_frames_prev == 0 && ost->last_dropped) {
|
||||
nb_frames_drop++;
|
||||
|
Loading…
Reference in New Issue
Block a user