From: Tong Wu
Since VAAPI and future D3D12VA implementation may share some common parameters,
a base layer encode context is introduced as vaapi context's base.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 56 +
libavcodec/vaapi_encode.h | 39 +
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 10 +-
libavcodec/vaapi_encode.c | 13 -
libavcodec/vaapi_encode.h | 7 ---
libavcodec/vaapi_encode_av1.c | 1 +
libavcodec/vaapi_encode_h264.c | 1 +
libavcodec/vaapi_encode_h26
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 5 +
libavcodec/vaapi_encode.c | 4 +---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h
index 5272f2836d..a578db8c06 100644
--- a/libavcodec/hw_
From: Tong Wu
When allocating the VAAPIEncodePicture, pic->input_surface can be
initialized right in the place. This movement simplifies the send_frame
logic and is the preparation for moving vaapi_encode_send_frame to the base
layer.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 8 +
From: Tong Wu
Move receive_packet function to base. This requires adding *alloc,
*issue, *output, *free as hardware callbacks. HWBaseEncodePicture is
introduced as the base layer structure. The related parameters in
VAAPIEncodeContext are also extracted to HWBaseEncodeContext. Then DPB
management
From: Tong Wu
Related parameters such as device context, frame context are also moved
to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 49 ++
libavcodec/hw_base_encode.h | 17 +++
libavcodec/vaapi_encode.c | 90 +++---
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 40 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 44 ++---
3 files changed, 45 insertions(+), 42 deletions(-)
diff --git a/libavcodec/
From: Tong Wu
Surface size and block size parameters are also moved to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 58 +++
libavcodec/hw_base_encode.h | 12 +
libavcodec/vaapi_encode.c | 81 -
libavc
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 11 +++
libavcodec/hw_base_encode.h | 2 ++
libavcodec/vaapi_encode.c | 6 +-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
index 42
From: Tong Wu
Flags field is added to support diffferent resource creation.
Signed-off-by: Tong Wu
---
doc/APIchanges| 3 +++
libavutil/hwcontext_d3d12va.c | 2 +-
libavutil/hwcontext_d3d12va.h | 8
libavutil/version.h | 2 +-
4 files changed, 13 insertions(+
From: Tong Wu
This implementation is based on D3D12 Video Encoding Spec:
https://microsoft.github.io/DirectX-Specs/d3d/D3D12VideoEncoding.html
Sample command line for transcoding:
ffmpeg.exe -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4
-c:v hevc_d3d12va output.mp4
Signed-off-by: T
From: Tong Wu
idr_interval and desired_b_depth are moved to HW_BASE_ENCODE_COMMON_OPTIONS.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 54 +
libavcodec/hw_base_encode.h | 19 +
libavcodec/vaapi_encode.c | 52 +++
From: Tong Wu
Signed-off-by: Tong Wu
---
Changelog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Changelog b/Changelog
index dd25715d6b..c3f802617f 100644
--- a/Changelog
+++ b/Changelog
@@ -10,7 +10,7 @@ version :
- vf_scale supports secondary ref input and framesync opt
From: Tong Wu
Since VAAPI and future D3D12VA implementation may share some common parameters,
a base layer encode context is introduced as vaapi context's base.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 56 +
libavcodec/vaapi_encode.h | 39 +
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 10 +-
libavcodec/vaapi_encode.c | 13 -
libavcodec/vaapi_encode.h | 7 ---
libavcodec/vaapi_encode_av1.c | 1 +
libavcodec/vaapi_encode_h264.c | 1 +
libavcodec/vaapi_encode_h26
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 5 +
libavcodec/vaapi_encode.c | 4 +---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h
index 5272f2836d..a578db8c06 100644
--- a/libavcodec/hw_
From: Tong Wu
When allocating the VAAPIEncodePicture, pic->input_surface can be
initialized right in the place. This movement simplifies the send_frame
logic and is the preparation for moving vaapi_encode_send_frame to the base
layer.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 8 +
From: Tong Wu
idr_interval and desired_b_depth are moved to HW_BASE_ENCODE_COMMON_OPTIONS.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 54 +
libavcodec/hw_base_encode.h | 19 +
libavcodec/vaapi_encode.c | 52 +++
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 40 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 44 ++---
3 files changed, 45 insertions(+), 42 deletions(-)
diff --git a/libavcodec/
From: Tong Wu
Move receive_packet function to base. This requires adding *alloc,
*issue, *output, *free as hardware callbacks. HWBaseEncodePicture is
introduced as the base layer structure. The related parameters in
VAAPIEncodeContext are also extracted to HWBaseEncodeContext. Then DPB
management
From: Tong Wu
Related parameters such as device context, frame context are also moved
to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 49 ++
libavcodec/hw_base_encode.h | 17 +++
libavcodec/vaapi_encode.c | 90 +++---
From: Tong Wu
Surface size and block size parameters are also moved to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 58 +++
libavcodec/hw_base_encode.h | 12 +
libavcodec/vaapi_encode.c | 81 -
libavc
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 11 +++
libavcodec/hw_base_encode.h | 2 ++
libavcodec/vaapi_encode.c | 6 +-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
index 42
From: Tong Wu
Flags field is added to support diffferent resource creation.
Signed-off-by: Tong Wu
---
doc/APIchanges| 3 +++
libavutil/hwcontext_d3d12va.c | 2 +-
libavutil/hwcontext_d3d12va.h | 8
libavutil/version.h | 2 +-
4 files changed, 13 insertions(+
From: Tong Wu
This implementation is based on D3D12 Video Encoding Spec:
https://microsoft.github.io/DirectX-Specs/d3d/D3D12VideoEncoding.html
Sample command line for transcoding:
ffmpeg.exe -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4
-c:v hevc_d3d12va output.mp4
Signed-off-by: T
From: Tong Wu
Signed-off-by: Tong Wu
---
Changelog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Changelog b/Changelog
index 12770e4296..c5d57b3813 100644
--- a/Changelog
+++ b/Changelog
@@ -11,7 +11,7 @@ version :
- vf_scale2ref deprecated
- qsv_params option added for
From: Tong Wu
Since VAAPI and future D3D12VA implementation may share some common parameters,
a base layer encode context is introduced as vaapi context's base.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 56 +
libavcodec/vaapi_encode.h | 39 +
From: Tong Wu
PICTURE_TYPE_* and FLAG_* are added FF_HW_ prefix after being moved to
base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 20 ++---
libavcodec/vaapi_encode.c | 50 -
libavcodec/vaapi_encode_av1.c | 12
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 10 +-
libavcodec/vaapi_encode.c | 13 -
libavcodec/vaapi_encode.h | 7 ---
libavcodec/vaapi_encode_av1.c | 1 +
libavcodec/vaapi_encode_h264.c | 1 +
libavcodec/vaapi_encode_h26
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 6 ++
libavcodec/vaapi_encode.c | 4 +---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h
index c14c174102..858450afa8 100644
--- a/libavcodec/hw
From: Tong Wu
When allocating the VAAPIEncodePicture, pic->input_surface can be
initialized right in the place. This movement simplifies the send_frame
logic and is the preparation for moving vaapi_encode_send_frame to the base
layer.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 8 +
From: Tong Wu
idr_interval and desired_b_depth are moved to HW_BASE_ENCODE_COMMON_OPTIONS.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 54 +
libavcodec/hw_base_encode.h | 19 +
libavcodec/vaapi_encode.c | 52 +++
From: Tong Wu
Move receive_packet function to base. This requires adding *alloc,
*issue, *output, *free as hardware callbacks. HWBaseEncodePicture is
introduced as the base layer structure. The related parameters in
VAAPIEncodeContext are also extracted to HWBaseEncodeContext. Then DPB
management
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 40 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 44 ++---
3 files changed, 45 insertions(+), 42 deletions(-)
diff --git a/libavcodec/
From: Tong Wu
Surface size and block size parameters are also moved to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 58 +++
libavcodec/hw_base_encode.h | 12 +
libavcodec/vaapi_encode.c | 81 -
libavc
From: Tong Wu
Flags field is added to support diffferent resource creation.
Signed-off-by: Tong Wu
---
doc/APIchanges| 3 +++
libavutil/hwcontext_d3d12va.c | 2 +-
libavutil/hwcontext_d3d12va.h | 8
libavutil/version.h | 2 +-
4 files changed, 13 insertions(+
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 11 +++
libavcodec/hw_base_encode.h | 2 ++
libavcodec/vaapi_encode.c | 6 +-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
index 31
From: Tong Wu
Related parameters such as device context, frame context are also moved
to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 49 ++
libavcodec/hw_base_encode.h | 17 +++
libavcodec/vaapi_encode.c | 90 +++---
From: Tong Wu
Signed-off-by: Tong Wu
---
Changelog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Changelog b/Changelog
index 12770e4296..c5d57b3813 100644
--- a/Changelog
+++ b/Changelog
@@ -11,7 +11,7 @@ version :
- vf_scale2ref deprecated
- qsv_params option added for
From: Tong Wu
This implementation is based on D3D12 Video Encoding Spec:
https://microsoft.github.io/DirectX-Specs/d3d/D3D12VideoEncoding.html
Sample command line for transcoding:
ffmpeg.exe -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4
-c:v hevc_d3d12va output.mp4
Signed-off-by: T
From: Tong Wu
Since VAAPI and future D3D12VA implementation may share some common parameters,
a base layer encode context is introduced as vaapi context's base.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 56 +
libavcodec/vaapi_encode.h | 39 +
From: Tong Wu
PICTURE_TYPE_* and FLAG_* are added FF_HW_ prefix after being moved to
base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 20 ++---
libavcodec/vaapi_encode.c | 50 -
libavcodec/vaapi_encode_av1.c | 12
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 10 +-
libavcodec/vaapi_encode.c | 13 -
libavcodec/vaapi_encode.h | 7 ---
libavcodec/vaapi_encode_av1.c | 1 +
libavcodec/vaapi_encode_h264.c | 1 +
libavcodec/vaapi_encode_h26
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 6 ++
libavcodec/vaapi_encode.c | 4 +---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h
index c14c174102..858450afa8 100644
--- a/libavcodec/hw
From: Tong Wu
When allocating the VAAPIEncodePicture, pic->input_surface can be
initialized right in the place. This movement simplifies the send_frame
logic and is the preparation for moving vaapi_encode_send_frame to the base
layer.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 8 +
From: Tong Wu
idr_interval and desired_b_depth are moved to HW_BASE_ENCODE_COMMON_OPTIONS.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 54 +
libavcodec/hw_base_encode.h | 19 +
libavcodec/vaapi_encode.c | 52 +++
From: Tong Wu
Move receive_packet function to base. This requires adding *alloc,
*issue, *output, *free as hardware callbacks. HWBaseEncodePicture is
introduced as the base layer structure. The related parameters in
VAAPIEncodeContext are also extracted to HWBaseEncodeContext. Then DPB
management
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 40 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 44 ++---
3 files changed, 45 insertions(+), 42 deletions(-)
diff --git a/libavcodec/
From: Tong Wu
Surface size and block size parameters are also moved to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 58 +++
libavcodec/hw_base_encode.h | 12 +
libavcodec/vaapi_encode.c | 81 -
libavc
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 11 +++
libavcodec/hw_base_encode.h | 2 ++
libavcodec/vaapi_encode.c | 6 +-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
index 31
From: Tong Wu
Flags field is added to support diffferent resource creation.
Signed-off-by: Tong Wu
---
doc/APIchanges| 3 +++
libavutil/hwcontext_d3d12va.c | 2 +-
libavutil/hwcontext_d3d12va.h | 8
libavutil/version.h | 2 +-
4 files changed, 13 insertions(+
From: Tong Wu
This implementation is based on D3D12 Video Encoding Spec:
https://microsoft.github.io/DirectX-Specs/d3d/D3D12VideoEncoding.html
Sample command line for transcoding:
ffmpeg.exe -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4
-c:v hevc_d3d12va output.mp4
Signed-off-by: T
From: Tong Wu
Related parameters such as device context, frame context are also moved
to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 49 ++
libavcodec/hw_base_encode.h | 17 +++
libavcodec/vaapi_encode.c | 90 +++---
From: Tong Wu
Signed-off-by: Tong Wu
---
Changelog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Changelog b/Changelog
index 12770e4296..c5d57b3813 100644
--- a/Changelog
+++ b/Changelog
@@ -11,7 +11,7 @@ version :
- vf_scale2ref deprecated
- qsv_params option added for
From: Tong Wu
An avctx pointer is added to FFHWBaseEncodeContext. This is to make
FFHWBaseEncodeContext a standalone component for ff_hw_base_* functions.
This patch also removes some unnecessary AVCodecContext arguments.
Signed-off-by: Tong Wu
---
libavcodec/d3d12va_encode.c | 6 +++---
liba
From: Tong Wu
Since VAAPI and future D3D12VA implementation may share some common parameters,
a base layer encode context is introduced as vaapi context's base.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 56 +
libavcodec/vaapi_encode.h | 39 +
From: Tong Wu
PICTURE_TYPE_* and FLAG_* are added FF_HW_ prefix after being moved to
base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 20 ++---
libavcodec/vaapi_encode.c | 50 -
libavcodec/vaapi_encode_av1.c | 12
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 10 +-
libavcodec/vaapi_encode.c | 13 -
libavcodec/vaapi_encode.h | 7 ---
libavcodec/vaapi_encode_av1.c | 1 +
libavcodec/vaapi_encode_h264.c | 1 +
libavcodec/vaapi_encode_h26
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 6 ++
libavcodec/vaapi_encode.c | 4 +---
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h
index c14c174102..858450afa8 100644
--- a/libavcodec/hw
From: Tong Wu
When allocating the VAAPIEncodePicture, pic->input_surface can be
initialized right in the place. This movement simplifies the send_frame
logic and is the preparation for moving vaapi_encode_send_frame to the base
layer.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 8 +
From: Tong Wu
Move receive_packet function to base. This requires adding *alloc,
*issue, *output, *free as hardware callbacks. HWBaseEncodePicture is
introduced as the base layer structure. The related parameters in
VAAPIEncodeContext are also extracted to HWBaseEncodeContext. Then DPB
management
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 40 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 44 ++---
3 files changed, 45 insertions(+), 42 deletions(-)
diff --git a/libavcodec/
From: Tong Wu
Related parameters such as device context, frame context are also moved
to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 49 ++
libavcodec/hw_base_encode.h | 17 +++
libavcodec/vaapi_encode.c | 90 +++---
From: Tong Wu
Surface size and block size parameters are also moved to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 58 +++
libavcodec/hw_base_encode.h | 12 +
libavcodec/vaapi_encode.c | 81 -
libavc
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 11 +++
libavcodec/hw_base_encode.h | 2 ++
libavcodec/vaapi_encode.c | 6 +-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
index 31
From: Tong Wu
idr_interval and desired_b_depth are moved to HW_BASE_ENCODE_COMMON_OPTIONS.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 54 +
libavcodec/hw_base_encode.h | 19 +
libavcodec/vaapi_encode.c | 52 +++
From: Tong Wu
Flags field is added to support diffferent resource creation.
Signed-off-by: Tong Wu
---
doc/APIchanges| 3 +++
libavutil/hwcontext_d3d12va.c | 2 +-
libavutil/hwcontext_d3d12va.h | 8
libavutil/version.h | 2 +-
4 files changed, 13 insertions(+
From: Tong Wu
This implementation is based on D3D12 Video Encoding Spec:
https://microsoft.github.io/DirectX-Specs/d3d/D3D12VideoEncoding.html
Sample command line for transcoding:
ffmpeg.exe -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4
-c:v hevc_d3d12va output.mp4
Signed-off-by: T
From: Tong Wu
Signed-off-by: Tong Wu
---
Changelog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Changelog b/Changelog
index 03d6b29ad8..ff1efcfea6 100644
--- a/Changelog
+++ b/Changelog
@@ -12,7 +12,7 @@ version :
- qsv_params option added for QSV encoders
- VVC decoder
From: Tong Wu
This patch is to make FFHWBaseEncodeContext a standalone component
and avoid getting FFHWBaseEncodeContext from avctx->priv_data.
This patch also removes some unnecessary AVCodecContext arguments.
For receive_packet call, a small wrapper is introduced.
Signed-off-by: Tong Wu
---
From: Tong Wu
Fixed the command line: ffmpeg -hwaccel vaapi -pix_fmt nv12 -s:v
widthxheight -i input.yuv -vf "hwupload" -c:v hevc_vaapi -bf 10 -b_depth 3
-vframes 3 -f null -
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From: Tong Wu
HEVCHdrParams* receives a pointer which points to a dynamically
allocated memory block. It causes the memcmp always returning 1.
Add a function to do the comparision. A condition is also added to
avoid malloc(0).
Signed-off-by: Tong Wu
---
libavcodec/hevc_ps.c | 20 ++
From: Tong Wu
HEVCHdrParams* receives a pointer which points to a dynamically
allocated memory block. It causes the memcmp always returning 1.
Add a function to do the comparision. A condition is also added to
avoid malloc(0).
Signed-off-by: Tong Wu
---
libavcodec/hevc_ps.c | 20 ++
From: Tong Wu
HEVCHdrParams* receives a pointer which points to a dynamically
allocated memory block. It causes the memcmp always returning 1.
Add a function to do the comparision. A condition is also added to
avoid malloc(0).
Signed-off-by: Tong Wu
---
libavcodec/hevc_ps.c | 22 ++
From: Tong Wu
HEVCHdrParams* receives a pointer which points to a dynamically
allocated memory block. It causes the memcmp always returning 1.
Add a function to do the comparision. A condition is also added to
avoid malloc(0).
Reviewed-by: James Almer
Signed-off-by: Tong Wu
---
libavcodec/hev
From: Tong Wu
Since VAAPI and future D3D12VA implementation may share some common parameters,
a base layer encode context is introduced as vaapi context's base.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 52 +
libavcodec/vaapi_encode.h | 36 +
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 14 +-
libavcodec/vaapi_encode.c | 13 -
libavcodec/vaapi_encode.h | 10 ++
libavcodec/vaapi_encode_av1.c | 1 +
libavcodec/vaapi_encode_h264.c | 1 +
libavcodec/vaapi_enc
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 5 +
libavcodec/vaapi_encode.c | 4 +---
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encode.h
index 5272f2836d..a578db8c06 100644
--- a/libavcodec/hw_
From: Tong Wu
When allocating the VAAPIEncodePicture, pic->input_surface can be
initialized right in the place. This movement simplifies the send_frame
logic and is the preparation for moving vaapi_encode_send_frame to the base
layer.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 8 +
From: Tong Wu
Move receive_packet function to base. This requires adding *alloc,
*issue, *output, *free as hardware callbacks. HWBaseEncodePicture is
introduced as the base layer structure. The related parameters in
VAAPIEncodeContext are also extracted to HWBaseEncodeContext. Then DPB
management
From: Tong Wu
Related parameters are also moved to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 33
libavcodec/hw_base_encode.h | 11 ++
libavcodec/vaapi_encode.c | 68 ++---
libavcodec/vaapi_encode.h
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 16
libavcodec/hw_base_encode.h | 2 ++
libavcodec/vaapi_encode.c | 8 +---
3 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
i
From: Tong Wu
idr_interval and desired_b_depth are moved to HW_BASE_ENCODE_COMMON_OPTIONS.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 54 +
libavcodec/hw_base_encode.h | 19 +
libavcodec/vaapi_encode.c | 52 +++
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 40 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 44 ++---
3 files changed, 45 insertions(+), 42 deletions(-)
diff --git a/libavcodec/
From: Tong Wu
Surface size and block size parameters are also moved to base layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 58 +++
libavcodec/hw_base_encode.h | 12 +
libavcodec/vaapi_encode.c | 81 -
libavc
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.h | 4
libavcodec/vaapi_encode.c | 22 +++---
libavcodec/vaapi_encode.h | 4
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/libavcodec/hw_base_encode.h b/libavcodec/hw_base_encod
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 11 +++
libavcodec/hw_base_encode.h | 2 ++
libavcodec/vaapi_encode.c | 6 +-
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/libavcodec/hw_base_encode.c b/libavcodec/hw_base_encode.c
index af
From: Tong Wu
Flags field is added to support diffferent resource creation.
Signed-off-by: Tong Wu
---
doc/APIchanges| 3 +++
libavutil/hwcontext_d3d12va.c | 2 +-
libavutil/hwcontext_d3d12va.h | 8
libavutil/version.h | 2 +-
4 files changed, 13 insertions(+
From: Tong Wu
Signed-off-by: Tong Wu
---
Changelog | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Changelog b/Changelog
index 8db14f02b4..573e356a96 100644
--- a/Changelog
+++ b/Changelog
@@ -7,7 +7,7 @@ version :
- ffmpeg CLI filtergraph chaining
- LC3/LC3plus demuxer an
From: Tong Wu
This implementation is based on D3D12 Video Encoding Spec:
https://microsoft.github.io/DirectX-Specs/d3d/D3D12VideoEncoding.html
Sample command line for transcoding:
ffmpeg.exe -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4
-c:v hevc_d3d12va output.mp4
Signed-off-by: T
From: Tong Wu
When allocating the VAAPIEncodePicture, pic->input_surface can be
initialized right in the place. This movement simplifies the send_frame
logic and is the preparation for moving vaapi_encode_send_frame to the base
layer.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 8 +
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 40 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 44 ++---
3 files changed, 45 insertions(+), 42 deletions(-)
diff --git a/libavcodec/
From: Tong Wu
VAAPI and D3D12VA can share rate control configuration codes. Hence, it
can be moved to base layer for simplification.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c| 151
libavcodec/hw_base_encode.h| 34 ++
libavcodec/vaapi_encode.c
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 54 +
libavcodec/hw_base_encode.h | 3 +++
libavcodec/vaapi_encode.c | 52 +++
3 files changed, 61 insertions(+), 48 deletions(-)
diff --git a/libavcode
From: Tong Wu
Get constraints and set recon frame format can be shared with other HW
encoder such as D3D12. Extract this part as a new function to base
layer.
Signed-off-by: Tong Wu
---
libavcodec/hw_base_encode.c | 58 +
libavcodec/hw_base_encode.h | 2 ++
From: Tong Wu
Signed-off-by: Tong Wu
---
Changelog | 1 +
1 file changed, 1 insertion(+)
diff --git a/Changelog b/Changelog
index c5fb21d198..6923c451c5 100644
--- a/Changelog
+++ b/Changelog
@@ -24,6 +24,7 @@ version :
- ffmpeg CLI options may now be used as -/opt , which is equivalent
to
From: Tong Wu
Flags field is added to support diffferent resource creation.
Signed-off-by: Tong Wu
---
doc/APIchanges| 3 +++
libavutil/hwcontext_d3d12va.c | 2 +-
libavutil/hwcontext_d3d12va.h | 8
libavutil/version.h | 2 +-
4 files changed, 13 insertions(+
From: Tong Wu
This implementation is based on D3D12 Video Encoding Spec:
https://microsoft.github.io/DirectX-Specs/d3d/D3D12VideoEncoding.html
Sample command line for transcoding:
ffmpeg.exe -hwaccel d3d12va -hwaccel_output_format d3d12 -i input.mp4
-c:v hevc_d3d12va output.mp4
Signed-off-by: T
From: Tong Wu
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
index 86f4110cd2..808b79c0c7 100644
--- a/libavcodec/vaapi_encode.c
+++ b/libavcodec/vaapi_encode.c
@@ -914,7 +914,6 @@ sta
From: Tong Wu
This codec supports FLAG_B_PICTURE_REFERENCES. We need to correctly fill
the reference_pic_flag with is_reference variable instead of 0 for B
frames.
Signed-off-by: Tong Wu
---
libavcodec/vaapi_encode_h264.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/liba
1 - 100 of 164 matches
Mail list logo