aboutsummaryrefslogtreecommitdiffstats
path: root/doc/encoders.texi
diff options
context:
space:
mode:
authorWenbin Chen <wenbin.chen-at-intel.com@ffmpeg.org>2022-01-25 15:12:37 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2022-01-27 10:26:39 +0800
commite102fd98d6f30d3cd41debafab30d29d5f72117c (patch)
tree8ed307971b930572caffb24a759afbc16f22990c /doc/encoders.texi
parent2ecc4fde5f01289b4c2b8d58c905a408dbb96d8c (diff)
downloadffmpeg-e102fd98d6f30d3cd41debafab30d29d5f72117c.tar.gz
libavcodec/qsvenc: Add intra refresh to hevc_qsv and add new intra refresh parameter
Add intra refresh support to hevc_qsv as well. Add an new intra refresh type: "horizontal", and an new param ref_cycle_dist. This param specify the distance between the beginnings of the intra-refresh cycles in frames. Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
Diffstat (limited to 'doc/encoders.texi')
-rw-r--r--doc/encoders.texi26
1 files changed, 25 insertions, 1 deletions
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 6c1c4df57a..4e35e50e4d 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -3344,7 +3344,8 @@ Specifies intra refresh type. The major goal of intra refresh is improvement of
error resilience without significant impact on encoded bitstream size caused by
I frames. The SDK encoder achieves this by encoding part of each frame in
refresh cycle using intra MBs. @var{none} means no refresh. @var{vertical} means
-vertical refresh, by column of MBs.
+vertical refresh, by column of MBs. To enable intra refresh, B frame should be
+set to 0.
@item @var{int_ref_cycle_size}
Specifies number of pictures within refresh cycle starting from 2. 0 and 1 are
@@ -3355,6 +3356,9 @@ Specifies QP difference for inserted intra MBs. This is signed value in
[-51, 51] range if target encoding bit-depth for luma samples is 8 and this
range is [-63, 63] for 10 bit-depth or [-75, 75] for 12 bit-depth respectively.
+@item @var{int_ref_cycle_dist}
+Distance between the beginnings of the intra-refresh cycles in frames.
+
@item @var{profile}
@table @samp
@item unknown
@@ -3463,6 +3467,26 @@ Insert picture timing SEI with pic_struct_syntax element.
@item @var{transform_skip}
Turn this option ON to enable transformskip. It is supported on platform equal
or newer than ICL.
+
+@item @var{int_ref_type}
+Specifies intra refresh type. The major goal of intra refresh is improvement of
+error resilience without significant impact on encoded bitstream size caused by
+I frames. The SDK encoder achieves this by encoding part of each frame in
+refresh cycle using intra MBs. @var{none} means no refresh. @var{vertical} means
+vertical refresh, by column of MBs. To enable intra refresh, B frame should be
+set to 0.
+
+@item @var{int_ref_cycle_size}
+Specifies number of pictures within refresh cycle starting from 2. 0 and 1 are
+invalid values.
+
+@item @var{int_ref_qp_delta}
+Specifies QP difference for inserted intra MBs. This is signed value in
+[-51, 51] range if target encoding bit-depth for luma samples is 8 and this
+range is [-63, 63] for 10 bit-depth or [-75, 75] for 12 bit-depth respectively.
+
+@item @var{int_ref_cycle_dist}
+Distance between the beginnings of the intra-refresh cycles in frames.
@end table
@subsection MPEG2 Options