Add protection for codec interface name change.
Change-Id: I9101cb1132aa580fc32fd47e8ac9d91d5b09e963
This commit is contained in:
parent
09e0b38a86
commit
6a4e85a1d6
@ -29,18 +29,26 @@ void Encoder::InitEncoder(VideoSource *video) {
|
|||||||
cfg_.g_timebase = video->timebase();
|
cfg_.g_timebase = video->timebase();
|
||||||
cfg_.rc_twopass_stats_in = stats_->buf();
|
cfg_.rc_twopass_stats_in = stats_->buf();
|
||||||
|
|
||||||
// Default to 1 thread and 1 tile column.
|
// Default to 1 thread.
|
||||||
cfg_.g_threads = 1;
|
cfg_.g_threads = 1;
|
||||||
res = vpx_codec_enc_init(&encoder_, CodecInterface(), &cfg_,
|
res = vpx_codec_enc_init(&encoder_, CodecInterface(), &cfg_,
|
||||||
init_flags_);
|
init_flags_);
|
||||||
ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError();
|
ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError();
|
||||||
|
|
||||||
std::string codec_name(encoder_.name);
|
#if CONFIG_VP9_ENCODER
|
||||||
if (codec_name.find("WebM Project VP9 Encoder") != std::string::npos) {
|
if (CodecInterface() == &vpx_codec_vp9_cx_algo) {
|
||||||
|
// Default to 1 tile column for VP9.
|
||||||
const int log2_tile_columns = 0;
|
const int log2_tile_columns = 0;
|
||||||
res = vpx_codec_control_(&encoder_, VP9E_SET_TILE_COLUMNS,
|
res = vpx_codec_control_(&encoder_, VP9E_SET_TILE_COLUMNS,
|
||||||
log2_tile_columns);
|
log2_tile_columns);
|
||||||
ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError();
|
ASSERT_EQ(VPX_CODEC_OK, res) << EncoderError();
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#if CONFIG_VP8_ENCODER
|
||||||
|
ASSERT_EQ(&vpx_codec_vp8_cx_algo, CodecInterface())
|
||||||
|
<< "Unknown Codec Interface";
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user