Add --no-info parameter.

- Stops encoder information from being added to bitstream.
- The version information overhead is too big when doing comparisons with
  very short sequences.
This commit is contained in:
Ari Koivula 2015-04-16 17:17:17 +03:00
parent 7028846423
commit 13924a2057
5 changed files with 10 additions and 1 deletions

View file

@ -57,6 +57,7 @@ http://github.com/ultravideo/kvazaar/wiki/List-of-suggested-topics for a list of
0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8
--pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try. --pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try.
0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4
--no-info : Don't add information about the encoder to settings.
Video Usability Information: Video Usability Information:
--sar <width:height> : Specify Sample Aspect Ratio --sar <width:height> : Specify Sample Aspect Ratio

View file

@ -109,6 +109,8 @@ int config_init(config_t *cfg)
cfg->pu_depth_intra.min = 1; // 0-4 cfg->pu_depth_intra.min = 1; // 0-4
cfg->pu_depth_intra.max = 4; // 0-4 cfg->pu_depth_intra.max = 4; // 0-4
cfg->add_encoder_info = true;
return 1; return 1;
} }
@ -505,6 +507,8 @@ static int config_parse(config_t *cfg, const char *name, const char *value)
} }
} }
} }
else if OPT("info")
cfg->add_encoder_info = atobool(value);
else else
return 0; return 0;
#undef OPT #undef OPT
@ -566,6 +570,7 @@ int config_read(config_t *cfg,int argc, char *argv[])
{ "cpuid", required_argument, NULL, 0 }, { "cpuid", required_argument, NULL, 0 },
{ "pu-depth-inter", required_argument, NULL, 0 }, { "pu-depth-inter", required_argument, NULL, 0 },
{ "pu-depth-intra", required_argument, NULL, 0 }, { "pu-depth-intra", required_argument, NULL, 0 },
{ "no-info", no_argument, NULL, 0 },
{0, 0, 0, 0} {0, 0, 0, 0}
}; };

View file

@ -89,6 +89,8 @@ typedef struct
int32_t min; int32_t min;
int32_t max; int32_t max;
} pu_depth_inter, pu_depth_intra; } pu_depth_inter, pu_depth_intra;
bool add_encoder_info;
} config_t; } config_t;
/* Function definitions */ /* Function definitions */

View file

@ -136,6 +136,7 @@ int main(int argc, char *argv[])
" 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8\n" " 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8\n"
" --pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try.\n" " --pu-depth-intra <int>-<int> : Range for sizes of intra prediction units to try.\n"
" 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4\n" " 0: 64x64, 1: 32x32, 2: 16x16, 3: 8x8, 4: 4x4\n"
" --no-info : Don't add information about the encoder to settings.\n"
"\n" "\n"
" Video Usability Information:\n" " Video Usability Information:\n"
" --sar <width:height> : Specify Sample Aspect Ratio\n" " --sar <width:height> : Specify Sample Aspect Ratio\n"

View file

@ -720,7 +720,7 @@ static void encoder_state_write_bitstream_main(encoder_state_t * const state) {
} }
// Send Kvazaar version information only in the first frame. // Send Kvazaar version information only in the first frame.
if (state->global->frame == 0) { if (state->global->frame == 0 && state->encoder_control->cfg->add_encoder_info) {
nal_write(stream, PREFIX_SEI_NUT, 0, first_nal_in_au); nal_write(stream, PREFIX_SEI_NUT, 0, first_nal_in_au);
encoder_state_write_bitstream_prefix_sei_version(state); encoder_state_write_bitstream_prefix_sei_version(state);
bitstream_align(stream); bitstream_align(stream);