diff options
Diffstat (limited to 'vaenc/va_encode.c')
| -rw-r--r-- | vaenc/va_encode.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/vaenc/va_encode.c b/vaenc/va_encode.c index 4fb4ae8..e5cadb7 100644 --- a/vaenc/va_encode.c +++ b/vaenc/va_encode.c @@ -316,7 +316,7 @@ static int print_help(void) { printf("./va_encode <options>\n"); printf(" -i : interactive mode, stop at every frame encoding\n"); - printf(" -t <H264|MPEG4|H263|JPEG|VP8>\n"); + printf(" -t <H264|MPEG4|H263|JPEG|VP8|HEVC>\n"); printf(" -w <width> -h <height>\n"); printf(" -framecount <frame number>\n"); printf(" -n <frame number>\n"); @@ -497,6 +497,8 @@ static int process_cmdline(int argc, char *argv[]) current_codec = &h264_codec; else if (!strncmp(optarg, "JPEG", 4)) current_codec = &jpeg_codec; + else if (!strncmp(optarg, "HEVC", 4)) + current_codec = &hevc_codec; else { print_help(); exit(0); @@ -667,6 +669,7 @@ static int process_cmdline(int argc, char *argv[]) riff_file = 0; break; case 37: + ivf_file = 0; riff_file = 1; frame_count = 1; break; @@ -911,6 +914,10 @@ static int process_cmdline(int argc, char *argv[]) if (current_codec != &vp8_codec) { frame_width_mbaligned = (frame_width + 15) & (~15); frame_height_mbaligned = (frame_height + 15) & (~15); + if (current_codec == &hevc_codec) { + frame_width_mbaligned = (frame_width + 31) & (~31); + frame_height_mbaligned = (frame_height + 31) & (~31); + } } else { frame_width_mbaligned = frame_width; frame_height_mbaligned = frame_height; @@ -1236,7 +1243,7 @@ static int save_codeddata(unsigned int display_order, unsigned int encode_order, if (coded_fp == NULL) printf("Open file %s error (%s)\n", fn, strerror(errno)); } - + if ((dump_frame == 0) && current_codec->save_codeddata) { coded_size = current_codec->save_codeddata(coded_fp, buf_list, rec_surfaceid); save_frame_size_log(encode_order, coded_size); |
