examples: use die() on dec/enc_init() failure
rather than die_codec(). calling any api functions with an uninitialized codec context is undefined. this avoids a crash in a call to vpx_codec_error_detail(). BUG=webm:1688 Change-Id: I4a4feeabc1cafa44c8d2f24587fad79e313dba6d
This commit is contained in:
@@ -106,7 +106,7 @@ int main(int argc, char **argv) {
|
|||||||
printf("Using %s\n", vpx_codec_iface_name(decoder->codec_interface()));
|
printf("Using %s\n", vpx_codec_iface_name(decoder->codec_interface()));
|
||||||
|
|
||||||
if (vpx_codec_dec_init(&codec, decoder->codec_interface(), NULL, 0))
|
if (vpx_codec_dec_init(&codec, decoder->codec_interface(), NULL, 0))
|
||||||
die_codec(&codec, "Failed to initialize decoder.");
|
die("Failed to initialize decoder.");
|
||||||
|
|
||||||
while (vpx_video_reader_read_frame(reader)) {
|
while (vpx_video_reader_read_frame(reader)) {
|
||||||
vpx_codec_iter_t iter = NULL;
|
vpx_codec_iter_t iter = NULL;
|
||||||
|
|||||||
@@ -86,9 +86,9 @@ int main(int argc, char **argv) {
|
|||||||
res = vpx_codec_dec_init(&codec, decoder->codec_interface(), NULL,
|
res = vpx_codec_dec_init(&codec, decoder->codec_interface(), NULL,
|
||||||
VPX_CODEC_USE_POSTPROC);
|
VPX_CODEC_USE_POSTPROC);
|
||||||
if (res == VPX_CODEC_INCAPABLE)
|
if (res == VPX_CODEC_INCAPABLE)
|
||||||
die_codec(&codec, "Postproc not supported by this decoder.");
|
die("Postproc not supported by this decoder.");
|
||||||
|
|
||||||
if (res) die_codec(&codec, "Failed to initialize decoder.");
|
if (res) die("Failed to initialize decoder.");
|
||||||
|
|
||||||
while (vpx_video_reader_read_frame(reader)) {
|
while (vpx_video_reader_read_frame(reader)) {
|
||||||
vpx_codec_iter_t iter = NULL;
|
vpx_codec_iter_t iter = NULL;
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ int main(int argc, char **argv) {
|
|||||||
die("Failed to open %s for reading.", argv[4]);
|
die("Failed to open %s for reading.", argv[4]);
|
||||||
|
|
||||||
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
||||||
die_codec(&codec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
// Encode frames.
|
// Encode frames.
|
||||||
while (vpx_img_read(&raw, infile)) {
|
while (vpx_img_read(&raw, infile)) {
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ int main(int argc, char **argv) {
|
|||||||
printf("Using %s\n", vpx_codec_iface_name(decoder->codec_interface()));
|
printf("Using %s\n", vpx_codec_iface_name(decoder->codec_interface()));
|
||||||
|
|
||||||
if (vpx_codec_dec_init(&codec, decoder->codec_interface(), NULL, 0))
|
if (vpx_codec_dec_init(&codec, decoder->codec_interface(), NULL, 0))
|
||||||
die_codec(&codec, "Failed to initialize decoder.");
|
die("Failed to initialize decoder.");
|
||||||
|
|
||||||
while (vpx_video_reader_read_frame(reader)) {
|
while (vpx_video_reader_read_frame(reader)) {
|
||||||
vpx_codec_iter_t iter = NULL;
|
vpx_codec_iter_t iter = NULL;
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ int main(int argc, char **argv) {
|
|||||||
die("Failed to open %s for reading.", infile_arg);
|
die("Failed to open %s for reading.", infile_arg);
|
||||||
|
|
||||||
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
||||||
die_codec(&codec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
// Encode frames.
|
// Encode frames.
|
||||||
while (vpx_img_read(&raw, infile)) {
|
while (vpx_img_read(&raw, infile)) {
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ static vpx_fixed_buf_t pass0(vpx_image_t *raw, FILE *infile,
|
|||||||
vpx_fixed_buf_t stats = { NULL, 0 };
|
vpx_fixed_buf_t stats = { NULL, 0 };
|
||||||
|
|
||||||
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), cfg, 0))
|
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), cfg, 0))
|
||||||
die_codec(&codec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
// Calculate frame statistics.
|
// Calculate frame statistics.
|
||||||
while (vpx_img_read(raw, infile)) {
|
while (vpx_img_read(raw, infile)) {
|
||||||
@@ -164,7 +164,7 @@ static void pass1(vpx_image_t *raw, FILE *infile, const char *outfile_name,
|
|||||||
if (!writer) die("Failed to open %s for writing", outfile_name);
|
if (!writer) die("Failed to open %s for writing", outfile_name);
|
||||||
|
|
||||||
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), cfg, 0))
|
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), cfg, 0))
|
||||||
die_codec(&codec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
// Encode frames.
|
// Encode frames.
|
||||||
while (vpx_img_read(raw, infile)) {
|
while (vpx_img_read(raw, infile)) {
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ int main(int argc, char **argv) {
|
|||||||
die("Failed to open %s for reading.", argv[3]);
|
die("Failed to open %s for reading.", argv[3]);
|
||||||
|
|
||||||
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
||||||
die_codec(&codec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
// Encode frames.
|
// Encode frames.
|
||||||
while (vpx_img_read(&raw, infile)) {
|
while (vpx_img_read(&raw, infile)) {
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ int main(int argc, char **argv) {
|
|||||||
die("Failed to open %s for reading.", argv[3]);
|
die("Failed to open %s for reading.", argv[3]);
|
||||||
|
|
||||||
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
||||||
die_codec(&codec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
if (vpx_codec_control_(&codec, VP9E_SET_LOSSLESS, 1))
|
if (vpx_codec_control_(&codec, VP9E_SET_LOSSLESS, 1))
|
||||||
die_codec(&codec, "Failed to use lossless mode");
|
die_codec(&codec, "Failed to use lossless mode");
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ int main(int argc, char **argv) {
|
|||||||
die("Failed to open %s for reading.", infile_arg);
|
die("Failed to open %s for reading.", infile_arg);
|
||||||
|
|
||||||
if (vpx_codec_enc_init(&ecodec, encoder->codec_interface(), &cfg, 0))
|
if (vpx_codec_enc_init(&ecodec, encoder->codec_interface(), &cfg, 0))
|
||||||
die_codec(&ecodec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
// Disable alt_ref.
|
// Disable alt_ref.
|
||||||
if (vpx_codec_control(&ecodec, VP8E_SET_ENABLEAUTOALTREF, 0))
|
if (vpx_codec_control(&ecodec, VP8E_SET_ENABLEAUTOALTREF, 0))
|
||||||
|
|||||||
@@ -815,7 +815,7 @@ int main(int argc, char **argv) {
|
|||||||
#else
|
#else
|
||||||
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
if (vpx_codec_enc_init(&codec, encoder->codec_interface(), &cfg, 0))
|
||||||
#endif // CONFIG_VP9_HIGHBITDEPTH
|
#endif // CONFIG_VP9_HIGHBITDEPTH
|
||||||
die_codec(&codec, "Failed to initialize encoder");
|
die("Failed to initialize encoder");
|
||||||
|
|
||||||
if (strncmp(encoder->name, "vp8", 3) == 0) {
|
if (strncmp(encoder->name, "vp8", 3) == 0) {
|
||||||
vpx_codec_control(&codec, VP8E_SET_CPUUSED, -speed);
|
vpx_codec_control(&codec, VP8E_SET_CPUUSED, -speed);
|
||||||
|
|||||||
Reference in New Issue
Block a user