summaryrefslogtreecommitdiff
path: root/vaenc/va_encode.c
diff options
context:
space:
mode:
Diffstat (limited to 'vaenc/va_encode.c')
-rw-r--r--vaenc/va_encode.c11
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);