Vulkan will map nv12 to R8 and GR88, so add this map to vaapi to support
vulkan frame.
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vaapi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
index 75acc851d6..994b744e4d 100644
.264 -vf "hwmap=derive_device=vulkan,format=vulkan, \
scale_vulkan=1920:1080,hwmap=derive_device=vaapi,format=vaapi" -c:v h264_vaapi
output.264
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vulkan.c | 127 +--
1 file changed, 121 insertions(+), 6
Add support to map vulkan frames to software frames when
using contiguous_planes flag.
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vulkan.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index
border pixel to fix this
run2run problem, and also move the new AVFrame to global structure
to reduce redundant allocation operation to increase preformance.
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_qsv.c | 96 +--
1 file changed, 83 insertions(+), 1
qsv -hwaccel_output_format qsv -hwaccel_device qs -c:v h264_qsv \
-i input.264 -vf "hwmap=derive_device=opencl,format=opencl,avgblur_opencl, \
hwmap=derive_device=qsv:reverse=1:extra_hw_frames=32,format=qsv" \
-c:v h264_qsv output.264
Signed-off-by: nyanmisaka
Signed-off-by: Wenbin Chen
-
ces). Now add code to make sure
init_pool_size is only set once. Now the following commandline works:
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \
-hwaccel_output_format vaapi -i input.264 \
-vf "hwmap=derive_device=qsv,format=qsv" \
-c:v h264_qsv output.264
Signed-off-by
A new flag frame_flag is also added to AVVulkanFramesContext. User
can use this flag to force enable or disable this behaviour.
A new variable "offset "is added to AVVKFrame. It describe describe the
offset from the memory currently bound to the VkImage.
Signed-off-by: Wenbin Chen
---
libavuti
.264 -vf "hwmap=derive_device=vulkan,format=vulkan, \
scale_vulkan=1920:1080,hwmap=derive_device=vaapi,format=vaapi" -c:v h264_vaapi
output.264
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vulkan.c | 133 +--
1 file changed, 127 insertions(+), 6
From: Bas Nieuwenhuizen
This way we can pass explicit modifiers in. Sometimes the
modifier matters for the number of memory planes that
libva accepts, in particular when dealing with
driver-compressed textures. Furthermore the driver might
not actually be able to determine the implicit modifier
Vulkan will map nv12 to R8 and GR88, so add this map to vaapi to support
vulkan frame.
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vaapi.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
index 75acc851d6..994b744e4d 100644
Add support to map vulkan frames to software frames when
using contiguous_planes flag.
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vulkan.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index
Add doc for qsv decoder.
Add more option's introduction to qsv encoder.
Signed-off-by: Wenbin Chen
---
doc/decoders.texi | 42
doc/encoders.texi | 253 +-
2 files changed, 292 insertions(+), 3 deletions(-)
diff --git a/doc/decoders.texi b
Add transform_skip option to hevc_qsv. By enabling this option,
the transform_skip_enabled_flag in PPS will be set to 1.
This option is only supported in the platform newer than ICL.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi| 3 +++
libavcodec/qsvenc.c | 10
Add dblk_idc option to 264_qsv and hevc_qsv. Turining on this opion can
disable deblocking.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 8
libavcodec/qsvenc.h | 3 +++
3 files changed, 17 insertions(+)
diff --git a/doc/encoders.texi b/doc
github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#preftype
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 36
libavcodec/qsvenc.h | 3 +++
3 files changed, 45 insertions(+)
diff --git a/doc/encoders.t
Add max_frame_size support to hevc_qsv as well.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 7cc8be1209..68921fbd40 100644
--- a/doc
Add transform_skip option to hevc_qsv. By enabling this option,
the transform_skip_enabled_flag in PPS will be set to 1.
This option is supported on the platform equal or newer than ICL.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi| 4
libavcodec/qsvenc.c | 10
Add max_frame_size support to hevc_qsv as well.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 7cc8be1209..68921fbd40 100644
--- a/doc
Add dblk_idc option to 264_qsv and hevc_qsv. Turining on this opion can
disable deblocking.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 8
libavcodec/qsvenc.h | 3 +++
3 files changed, 17 insertions(+)
diff --git a/doc/encoders.texi b/doc
github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#preftype
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 36
libavcodec/qsvenc.h | 3 +++
3 files changed, 45 insertions(+)
diff --git a/doc/encoders.t
qsv -hwaccel_output_format qsv -hwaccel_device qs -c:v h264_qsv \
-i input.264 -vf "hwmap=derive_device=opencl,format=opencl,avgblur_opencl, \
hwmap=derive_device=qsv:reverse=1:extra_hw_frames=32,format=qsv" \
-c:v h264_qsv output.264
Signed-off-by: nyanmisaka
Signed-off-by: Wenbin Chen
-
ces). Now add code to make sure
init_pool_size is only set once. Now the following commandline works:
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \
-hwaccel_output_format vaapi -i input.264 \
-vf "hwmap=derive_device=qsv,format=qsv" \
-c:v h264_qsv output.264
Signed-off-by
Add transform_skip option to hevc_qsv. By enabling this option,
the transform_skip_enabled_flag in PPS will be set to 1.
This option is supported on the platform equal or newer than CNL.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi| 4
libavcodec/qsvenc.c | 10
github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#preftype
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 36
libavcodec/qsvenc.h | 3 +++
3 files changed, 45 insertions(+)
diff --git a/doc/encoders.t
Add dblk_idc option to 264_qsv and hevc_qsv. Turining on this opion can
disable deblocking.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 8
libavcodec/qsvenc.h | 3 +++
3 files changed, 17 insertions(+)
diff --git a/doc/encoders.texi b/doc
Add max_frame_size support to hevc_qsv as well.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 7cc8be1209..68921fbd40 100644
--- a/doc
Add transform_skip option to hevc_qsv. By enabling this option,
the transform_skip_enabled_flag in PPS will be set to 1.
This option is supported on the platform equal or newer than ICL.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi| 4
libavcodec/qsvenc.c | 13
Add dblk_idc option to 264_qsv and hevc_qsv. Turining on this opion can
disable deblocking.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 7 +++
libavcodec/qsvenc.h | 3 +++
3 files changed, 16 insertions(+)
diff --git a/doc/encoders.texi b/doc
github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#preftype
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 36
libavcodec/qsvenc.h | 3 +++
3 files changed, 45 insertions(+)
diff --git a/doc/encoders.t
Add max_frame_size support to hevc_qsv as well.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 7cc8be1209..68921fbd40 100644
--- a/doc
ces). Now add code to make sure
init_pool_size is only set once. Now the following commandline works:
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \
-hwaccel_output_format vaapi -i input.264 \
-vf "hwmap=derive_device=qsv,format=qsv" \
-c:v h264_qsv output.264
Signed-off-by
qsv -hwaccel_output_format qsv -hwaccel_device qs -c:v h264_qsv \
-i input.264 -vf "hwmap=derive_device=opencl,format=opencl,avgblur_opencl, \
hwmap=derive_device=qsv:reverse=1:extra_hw_frames=32,format=qsv" \
-c:v h264_qsv output.264
Signed-off-by: nyanmisaka
Signed-off-by: Wenbin Chen
-
in MediaSDK.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv.c | 16
libavcodec/qsvenc.c | 13 +
libavcodec/qsvenc_hevc.c | 6 ++
3 files changed, 35 insertions(+)
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 1a432dbd82..b75877e698 100644
in MediaSDK.
Sigend-off-by: Wenbin Chen
---
libavcodec/qsv.c | 16
libavcodec/qsvenc.c | 15 +++
libavcodec/qsvenc_hevc.c | 6 ++
3 files changed, 37 insertions(+)
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 1a432dbd82..b75877e698 100644
FFmpeg-qsv decoder reinit codec when width and height change, but there
are not only resolution change need to reinit codec. I change it to use
return value from DecodeFrameAsync() to decide whether decoder need to
be reinitialized.
Signed-off-by: Wenbin Chen
Signed-off-by: Guangxin Xu
and use the got_frame to decide whether the
decoder is drain.
Signed-off-by: Wenbin Chen
Signed-off-by: Guangxin Xu
---
libavcodec/qsvdec.c | 29 +++--
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index 0b5e416867
is 8 (default) and decoder
may followed by VPP, use NumFrameSuggest + 16 to set init_pool_size.
Signed-off-by: Wenbin Chen
Signed-off-by: Guangxin Xu
---
libavcodec/qsvdec.c | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/libavcodec/qsvdec.c b/libavcodec
Add mbbrc to hevc_qsv
For detailed description, please see "mbbrc" part in:
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 5 +
libavcodec/qsvenc.c | 5 +++--
2 files changed, 8
-by: Wenbin Chen
---
libavcodec/qsv.c | 16
libavcodec/qsvenc.c | 8
libavcodec/qsvenc_hevc.c | 6 ++
3 files changed, 30 insertions(+)
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 1a432dbd82..b75877e698 100644
--- a/libavcodec/qsv.c
+++ b
better use of hardware.
Async_depth is added to increase encoder's performance. The frames that
are sent to hardware are stored in a fifo. Encoder will sync output
after async fifo is full.
Signed-off-by: Wenbin Chen
Signed-off-by: Haihao Xiang
---
doc/encoders.texi | 6
libavcodec
Add vaSyncBuffer to VAAPI encoder. Old version API vaSyncSurface wait
surface to complete. When surface is used for multiple operation, it
waits all operations to finish. vaSyncBuffer only wait one channel to
finish.
Signed-off-by: Wenbin Chen
Signed-off-by: Haihao Xiang
---
libavcodec
From: Wenbin Chen
Add vaSyncBuffer to VAAPI encoder. Old version API vaSyncSurface wait
surface to complete. When surface is used for multiple operation, it
waits all operations to finish. vaSyncBuffer only wait one channel to
finish.
Signed-off-by: Wenbin Chen
Signed-off-by: Haihao Xiang
From: Wenbin Chen
Fix: #7706. After commit 5fdcf85bbffe7451c2, vaapi encoder's performance
decrease. The reason is that vaRenderPicture() and vaSyncBuffer() are
called at the same time (vaRenderPicture() always followed by a
vaSyncBuffer()). Now I changed them to be called in a asynchronous way
ChromaForamt for mjpeg-qsv is always set to yuv420, and this will be
wrong when encode other pixel format (for example yuyv422). ChromaFormat
is changed to be adaptive to pix_fmt.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
and will not match the same obu frame. Now size
check is added before parsing obu frame to avoid this error.
Signed-off-by: Wenbin Chen
---
libavcodec/cbs_av1.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
index 1229480567
Qsv encoder only support input P010 and nv12 format directly from system
memory. For other format, we need to upload frame to device memory and
input qsv format to encoder. Now add other system memory format support
to qsv encoder.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 30
Qsv decoder only supports directly output nv12 and p010 to system
memory. For other format, we need to download frame from qsv format
to system memory. Now add other supported format to qsvdec.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv.c | 36
The UV plane of NV12 should not be mapped to DRM_FORMAT_GR88. Remove
this map after the problem is fixed on ffmpeg-vulkan side.
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vaapi.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
to DRM_FORMAT_GR1616, while p010 need
DRM_FORMAT_RG1616.
Add sw_format check to vulkan_fmt_to_drm() to fix this problem.
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_vulkan.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/libavutil/hwcontext_vulkan.c b/libavutil
t; -f null -
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_qsv.c | 34 ++
1 file changed, 34 insertions(+)
diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index 95f8071abe..1e7c065902 100644
--- a/libavutil/hwcontext_qsv.c
+++ b/libavutil/hwcon
Qsv decoder only supports directly output nv12 and p010 to system
memory. For other format, we need to download frame from qsv format
to system memory. Now add other supported format to qsvdec.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv.c | 36
Qsv encoder only support input P010 and nv12 format directly from system
memory. For other format, we need to upload frame to device memory and
input qsv format to encoder. Now add other system memory format support
to qsv encoder.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 30
t; -f null -
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_qsv.c | 32
1 file changed, 32 insertions(+)
diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index 95f8071abe..fe11e215a8 100644
--- a/libavutil/hwcontext_qsv.c
+++ b/libavutil/hwcon
and will not match the same obu frame. Now size
check is added before parsing obu frame to avoid this error.
Signed-off-by: Wenbin Chen
---
libavcodec/cbs_av1.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
index 1229480567
mes) with -async_depth=4 can increase 20%
performance on my environment.
The async increases performance but also introduces frame delay.
Signed-off-by: Wenbin Chen
---
libavcodec/vaapi_encode.c | 16
libavcodec/vaapi_encode.h | 12 ++--
2 files changed, 22 insertions(+)
, it will keep previous operation.
Signed-off-by: Wenbin Chen
---
libavcodec/vaapi_encode.c | 64 ---
libavcodec/vaapi_encode.h | 5 +++
2 files changed, 58 insertions(+), 11 deletions(-)
diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
index
. "wait=1" means wait until operation ready. "wait=0" means
query operation's status. If it is ready return 0, if it is still
in progress return EAGAIN.
Signed-off-by: Wenbin Chen
---
libavcodec/vaapi_encode.c | 47 +--
1 file changed, 40 insert
to configure surface.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvdec.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index f81737ab6d..6236391357 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -423,13 +423,13
"qf->frame" ref to input frame but it isn't released. av_frame_unref()
is added before refering qf->frame to new frame to make sure the previous
reference is released.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libav
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
---
doc/encoders.texi
Add b_strategy option to hevc_qsv. By enabling this option, encoder can
use b frames as reference.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 6 --
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
Add max_slice_size option to hevc_qsv as well.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 9 -
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index e3adbf4325..8966610263 100644
--- a/doc
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
---
doc/encoders.texi
Add b_strategy option to hevc_qsv. By enabling this option, encoder can
use b frames as reference.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 6 --
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
Add max_slice_size option to hevc_qsv as well.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 9 -
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index e3adbf4325..8966610263 100644
--- a/doc
t; -f null -
Signed-off-by: Wenbin Chen
---
libavutil/hwcontext_qsv.c | 47 ++-
1 file changed, 42 insertions(+), 5 deletions(-)
diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
index 95f8071abe..66c0e38955 100644
--- a/libavutil/hwcontext_q
Qsv encoder only support input P010 and nv12 format directly from system
memory. For other format, we need to upload frame to device memory and
input qsv format to encoder. Now add other system memory format support
to qsv encoder.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 30
Qsv decoder only supports directly output nv12 and p010 to system
memory. For other format, we need to download frame from qsv format
to system memory. Now add other supported format to qsvdec.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv.c | 36
Use h264_sei to parse SEI data got from MediaSDK. Extract frame
packing arrangement information from SEI data and config AVStereo3D
side data for decoded frame.
Signed-off-by: Wenbin Chen
Signed-off-by: Tong Wu
---
libavcodec/qsv_internal.h | 2 +
libavcodec/qsvdec.c | 160
From: Wenbin Chen
Use the mfxEncoderCtrl parameter to enable ROI. Get side data
"AVRegionOfInterest"
and use it to configure "mfxExtEncoderROI" which is the MediaSDK's ROI
configuration.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv_internal.h | 4 ++
libavcodec
From: Yue Heng
To do more accurate QP control, add min/max QP control on I/P/B frame
separately to qsv encoder. qmax and qmin still work but newly-added
options have higher priority.
Signed-off-by: Yue Heng
Signed-off-by: Wenbin Chen
---
doc/encoders.texi| 36
Dividing one line log into several av_log() call is not thread safe. Now
merge these strings into one av_log() call.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 87 ++---
1 file changed, 42 insertions(+), 45 deletions(-)
diff --git a/libavcodec
evice=qsv:reverse=1:extra_hw_frames=16, \
format=qsv" -c:v h264_qsv output.264
Signed-off-by: Wenbin Chen
Signed-off-by: Tong Wu
---
libavcodec/qsv_internal.h | 1 +
libavcodec/qsvenc.c | 19 --
libavutil/hwcontext_qsv.c | 79 ++-
3 files c
on
platform supporting AVX512 which lead to creating a frame in mpeg2enc,
and this lead to the different outputs.
Signed-off-by: Wenbin Chen
---
libavcodec/mpegvideo_enc.c | 20 +
tests/ref/seek/vsynth_lena-mpeg2-422 | 40 +-
tests/ref/vsynth
Change whitespace and add newline to unify the code style.
Signed-off-by: Wenbin Chen
---
libavcodec/mpegvideo_enc.c | 15 +--
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 970f71fe37..c9d9e2a764 100644
on
platform supporting AVX512 which lead to creating a frame in mpeg2enc,
and this lead to the different outputs.
Signed-off-by: Wenbin Chen
---
libavcodec/mpegvideo_enc.c | 29 +--
tests/ref/seek/vsynth_lena-mpeg2-422 | 40 +-
tests/ref
-by: Wenbin Chen
---
doc/encoders.texi | 5 ++---
libavcodec/qsvenc.c | 26 --
2 files changed, 10 insertions(+), 21 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 02a91ffe96..bf5fafd3fe 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -3337,10
l.com/content/www/us/en/develop/documentation/media-capabilities-of-intel-hardware/top.html
Signed-off-by: Wenbin Chen
---
libavfilter/vf_overlay_qsv.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavfilter/vf_overlay_qsv.c b/libavfilter/vf_overlay_qsv.c
index 7e76b39aa
Add a line feed to fix a log format issue.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 2382c2f5f7..81d93235d7 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -308,6 +308,7
Use The mfxEncoderCtrl parameter to enable ROI. Get side data
"AVRegionOfInterest" and use it to configure "mfxExtEncoderROI" which is
the MediaSDK's ROI configuration.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv_internal.h | 4 ++
libavcodec
From: Yue Heng
Enable dynamic QP configuration in runtime on qsv encoder. Through
AVFrame->metadata, we can set key "qsv_config_qp" to change QP
configuration when we encode video in CQP mode.
Signed-off-by: Yue Heng
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 9 ++
Change the default value of "bf" for hevc_qsv to -1. 8 isn't the best
choice so let MSDK to decide the number of b frames.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc_hevc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/qsvenc_hevc.c b/
From: Yue Heng
Enable dynamic QP configuration in runtime on qsv encoder. Through
AVFrame->metadata, we can set key "qsv_config_qp" to change QP
configuration when we encode video in CQP mode.
Signed-off-by: Yue Heng
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 10
Use The mfxEncoderCtrl parameter to enable ROI. Get side data
"AVRegionOfInterest" and use it to configure "mfxExtEncoderROI" which is
the MediaSDK's ROI configuration.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv_internal.h | 4 ++
libavcodec
ram is passed to both "in" and "out" parameters when call
MFXVideoENCODE_Query(), the value in q->param may be changed. New
variables are added to store old configuration, so that we can detect
real parameter change.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 9 +++
From: Yue Heng
Enable dynamic QP configuration in runtime on qsv encoder. Through
AVFrame->metadata, we can set key "qsv_config_qp" to change QP
configuration when we encode video in CQP mode.
Signed-off-by: Yue Heng
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 10
Use the mfxEncoderCtrl parameter to enable ROI. Get side data
"AVRegionOfInterest"
from filter "addroi" and use it to configure "mfxExtEncoderROI" which is
the MediaSDK's ROI configuration.
Signed-off-by: Wenbin Chen
---
libavcodec/qsv_internal.h | 4 ++
From: Yue Heng
To do more accurate QP control, add min/max QP control on I/P/B frame
separately to qsv encoder. qmax and qmin still work but newly-added
options have higher priority.
Signed-off-by: Yue Heng
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 18
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 4
libavcodec/qsvenc.c | 20
libavcodec/qsvenc.h | 2 ++
3 files changed, 26 insertions(+)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index d36464d629..aadb6ab9fd 100644
--- a/doc/encoders.texi
+++ b/doc
mjpeg_qsv don't support dynamic resetting, so skip it.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 7ac5390f10..842cfb845e 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 11 +++
libavcodec/qsvenc.c | 78 +
libavcodec/qsvenc.h | 9 ++
3 files changed, 98 insertions(+)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index da56159858..850e3c261c 100644
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 16
libavcodec/qsvenc.h | 2 ++
3 files changed, 21 insertions(+)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index aadb6ab9fd..bc1a4dae38 100644
--- a/doc/encoders.texi
+++ b/doc
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 7 +++
libavcodec/qsvenc.c | 33 +
libavcodec/qsvenc.h | 5 +
3 files changed, 45 insertions(+)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index d5d695d39c..da56159858 100644
--- a/doc
Add "slice" intra refresh type to h264_qsv and hevc_qsv. This type means
horizontal refresh by slices without overlapping. Also update the doc.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi| 12
libavcodec/qsvenc_h264.c | 1 +
libavcodec/qsvenc_hevc.c | 1
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 4
libavcodec/qsvenc.c | 23 ++-
libavcodec/qsvenc.h | 2 ++
3 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 850e3c261c..453150f3e7 100644
--- a/doc
and will not match the same obu frame. Now size
check is added before parsing obu frame to avoid this error.
Signed-off-by: Wenbin Chen
---
libavcodec/cbs_av1.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
index 154d9156cf..9c51a8c7c8 100644
Set preset default value to MFX_TARGETUSAGE_UNKNOWN. Let runtime to
decide the targetUsage, so that ffmpeg-qsv can keep up with runtime's
update.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/qsvenc.h b
Unset qsv_h264 and qsv_hevc's default settings. Let runtime to decide
these parameters, so that it can choose the best parameter and ffmpeg-qsv
can keep up with runtime's update.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc_h264.c | 5 ++---
libavcodec/qsvenc_hevc.c | 3 +--
2 files changed
Set preset default value to MFX_TARGETUSAGE_UNKNOWN. Let runtime to
decide the targetUsage, so that ffmpeg-qsv can keep up with runtime's
update.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/qsvenc.h b
Unset qsv_h264 and qsv_hevc's default settings. Let runtime to decide
these parameters, so that it can choose the best parameter and ffmpeg-qsv
can keep up with runtime's update.
Signed-off-by: Wenbin Chen
---
libavcodec/qsvenc_h264.c | 4 ++--
libavcodec/qsvenc_hevc.c | 2 +-
2 files changed
101 - 200 of 276 matches
Mail list logo