Drop empty frames.
Change-Id: I2d45a6eb3aaca97eb61e8e7ef9e5114221091244
This commit is contained in:
parent
04a6010742
commit
3e21d703ce
@ -3952,7 +3952,6 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
|
||||
#else
|
||||
/* transform / motion compensation build reconstruction frame */
|
||||
vp8_encode_frame(cpi);
|
||||
|
||||
if (cpi->oxcf.screen_content_mode == 2) {
|
||||
if (vp8_drop_encodedframe_overshoot(cpi, Q)) return;
|
||||
}
|
||||
@ -4230,6 +4229,20 @@ static void encode_frame_to_data_rate(VP8_COMP *cpi, size_t *size,
|
||||
}
|
||||
} while (Loop == 1);
|
||||
|
||||
#if defined(DROP_UNCODED_FRAMES)
|
||||
/* if there are no coded macroblocks at all drop this frame */
|
||||
if (cpi->common.MBs == cpi->mb.skip_true_count &&
|
||||
(cpi->drop_frame_count & 7) != 7 && cm->frame_type != KEY_FRAME) {
|
||||
cpi->common.current_video_frame++;
|
||||
cpi->frames_since_key++;
|
||||
cpi->drop_frame_count++;
|
||||
// We advance the temporal pattern for dropped frames.
|
||||
cpi->temporal_pattern_counter++;
|
||||
return;
|
||||
}
|
||||
cpi->drop_frame_count = 0;
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* Experimental code for lagged and one pass
|
||||
* Update stats used for one pass GF selection
|
||||
|
@ -413,6 +413,9 @@ typedef struct VP8_COMP {
|
||||
|
||||
int drop_frames_allowed; /* Are we permitted to drop frames? */
|
||||
int drop_frame; /* Drop this frame? */
|
||||
#if defined(DROP_UNCODED_FRAMES)
|
||||
int drop_frame_count;
|
||||
#endif
|
||||
|
||||
vp8_prob frame_coef_probs[BLOCK_TYPES][COEF_BANDS][PREV_COEF_CONTEXTS]
|
||||
[ENTROPY_NODES];
|
||||
|
Loading…
x
Reference in New Issue
Block a user