Merge "Simplify the loopfilter synchronization logic in VP8 encoder"
This commit is contained in:
commit
a624692776
@ -518,7 +518,6 @@ int vp8cx_create_encoder_threads(VP8_COMP *cpi)
|
||||
|
||||
cpi->b_multi_threaded = 0;
|
||||
cpi->encoding_thread_count = 0;
|
||||
cpi->b_lpf_running = 0;
|
||||
|
||||
pthread_mutex_init(&cpi->mt_mutex, NULL);
|
||||
|
||||
|
@ -1531,15 +1531,6 @@ void vp8_change_config(VP8_COMP *cpi, VP8_CONFIG *oxcf)
|
||||
if (!oxcf)
|
||||
return;
|
||||
|
||||
#if CONFIG_MULTITHREAD
|
||||
/* wait for the last picture loopfilter thread done */
|
||||
if (cpi->b_lpf_running)
|
||||
{
|
||||
sem_wait(&cpi->h_event_end_lpf);
|
||||
cpi->b_lpf_running = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (cm->version != oxcf->Version)
|
||||
{
|
||||
cm->version = oxcf->Version;
|
||||
@ -3638,15 +3629,6 @@ static void encode_frame_to_data_rate
|
||||
/* Clear down mmx registers to allow floating point in what follows */
|
||||
vp8_clear_system_state();
|
||||
|
||||
#if CONFIG_MULTITHREAD
|
||||
/* wait for the last picture loopfilter thread done */
|
||||
if (cpi->b_lpf_running)
|
||||
{
|
||||
sem_wait(&cpi->h_event_end_lpf);
|
||||
cpi->b_lpf_running = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if(cpi->force_next_frame_intra)
|
||||
{
|
||||
cm->frame_type = KEY_FRAME; /* delayed intra frame */
|
||||
@ -4375,8 +4357,6 @@ static void encode_frame_to_data_rate
|
||||
vp8_setup_key_frame(cpi);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if CONFIG_REALTIME_ONLY & CONFIG_ONTHEFLY_BITPACKING
|
||||
{
|
||||
if(cpi->oxcf.error_resilient_mode)
|
||||
@ -4842,7 +4822,6 @@ static void encode_frame_to_data_rate
|
||||
{
|
||||
/* start loopfilter in separate thread */
|
||||
sem_post(&cpi->h_event_start_lpf);
|
||||
cpi->b_lpf_running = 1;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
@ -4874,11 +4853,10 @@ static void encode_frame_to_data_rate
|
||||
vp8_pack_bitstream(cpi, dest, dest_end, size);
|
||||
|
||||
#if CONFIG_MULTITHREAD
|
||||
/* if PSNR packets are generated we have to wait for the lpf */
|
||||
if (cpi->b_lpf_running && cpi->b_calculate_psnr)
|
||||
/* wait for the lpf thread done */
|
||||
if (cpi->b_multi_threaded)
|
||||
{
|
||||
sem_wait(&cpi->h_event_end_lpf);
|
||||
cpi->b_lpf_running = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -5838,14 +5816,6 @@ int vp8_get_preview_raw_frame(VP8_COMP *cpi, YV12_BUFFER_CONFIG *dest, vp8_ppfla
|
||||
{
|
||||
int ret;
|
||||
|
||||
#if CONFIG_MULTITHREAD
|
||||
if(cpi->b_lpf_running)
|
||||
{
|
||||
sem_wait(&cpi->h_event_end_lpf);
|
||||
cpi->b_lpf_running = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if CONFIG_POSTPROC
|
||||
cpi->common.show_frame_mi = cpi->common.mi;
|
||||
ret = vp8_post_proc_frame(&cpi->common, dest, flags);
|
||||
|
@ -536,7 +536,6 @@ typedef struct VP8_COMP
|
||||
int mt_sync_range;
|
||||
int b_multi_threaded;
|
||||
int encoding_thread_count;
|
||||
int b_lpf_running;
|
||||
|
||||
pthread_t *h_encoding_thread;
|
||||
pthread_t h_filter_thread;
|
||||
|
Loading…
Reference in New Issue
Block a user