[FFmpeg-devel] [PATCH] libavfi/dnn: enable LibTorch xpu device option support

2024-06-02 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add xpu device support to libtorch backend. To enable xpu support you need to add "-Wl,--no-as-needed -lintel-ext-pt-gpu -Wl,--as-needed" to "--extra-libs" when configure ffmpeg. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_torch.cpp | 16 +++- 1

[FFmpeg-devel] [PATCH 2/2] libavfilter/dnn_io_proc: Take step into consideration when crop frame

2024-04-02 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_io_proc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavfilter/dnn/dnn_io_proc.c b/libavfilter/dnn/dnn_io_proc.c index e5d6edb301..d2ec9f63f5 100644 --- a/libavfilter/dnn/dnn_io_proc.c +++

[FFmpeg-devel] [PATCH 1/2] libavfilter/dnn_backend_openvino: Check bbox's height

2024-04-02 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Check bbox's height with frame's height rather than frame's width. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_openvino.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/dnn/dnn_backend_openvino.c

[FFmpeg-devel] [PATCH v2] doc: Add libtoch backend option to dnn_processing

2024-03-24 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- doc/filters.texi | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/filters.texi b/doc/filters.texi index 18f0d1c5a7..bfa8ccec8b 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -12073,11 +12073,21 @@

[FFmpeg-devel] [PATCH] doc: Add libtoch backend option to dnn_processing

2024-03-21 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- doc/filters.texi | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/filters.texi b/doc/filters.texi index 913365671d..20605e72b2 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -12069,11 +12069,21 @@

[FFmpeg-devel] [PATCH v2] Changelog: Add libtorch

2024-03-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- Changelog | 1 + 1 file changed, 1 insertion(+) diff --git a/Changelog b/Changelog index e3ca52430c..4af55ff537 100644 --- a/Changelog +++ b/Changelog @@ -35,6 +35,7 @@ version : - AEA muxer - ffmpeg CLI loopback decoders - Support

[FFmpeg-devel] [PATCH] Changelog: Add libtorch

2024-03-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- Changelog | 1 + 1 file changed, 1 insertion(+) diff --git a/Changelog b/Changelog index e3ca52430c..d0c41887f3 100644 --- a/Changelog +++ b/Changelog @@ -35,6 +35,7 @@ version : - AEA muxer - ffmpeg CLI loopback decoders - Support

[FFmpeg-devel] [PATCH v6] libavfi/dnn: add LibTorch as one of DNN backend

2024-03-14 Thread wenbin . chen-at-intel . com
From: Wenbin Chen PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. Official website: https://pytorch.org/. We call the C++ library of PyTorch as LibTorch, the same below. To build FFmpeg with LibTorch, please take

[FFmpeg-devel] [PATCH v5] libavfi/dnn: add LibTorch as one of DNN backend

2024-03-10 Thread wenbin . chen-at-intel . com
From: Wenbin Chen PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. Official website: https://pytorch.org/. We call the C++ library of PyTorch as LibTorch, the same below. To build FFmpeg with LibTorch, please take

[FFmpeg-devel] [PATCH v4] libavfi/dnn: add LibTorch as one of DNN backend

2024-02-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. Official website: https://pytorch.org/. We call the C++ library of PyTorch as LibTorch, the same below. To build FFmpeg with LibTorch, please take

[FFmpeg-devel] [PATCH v3] libavfi/dnn: add LibTorch as one of DNN backend

2024-02-19 Thread wenbin . chen-at-intel . com
From: Wenbin Chen PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. Official websit: https://pytorch.org/. We call the C++ library of PyTorch as LibTorch, the same below. To build FFmpeg with LibTorch, please take

[FFmpeg-devel] [PATCH v2] libavfi/dnn: add LibTorch as one of DNN backend

2024-02-01 Thread wenbin . chen-at-intel . com
From: Wenbin Chen PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. Official websit: https://pytorch.org/. We call the C++ library of PyTorch as LibTorch, the same below. To build FFmpeg with LibTorch, please take

[FFmpeg-devel] [PATCH] libavfi/dnn: add LibTorch as one of DNN backend

2024-01-21 Thread wenbin . chen-at-intel . com
From: Wenbin Chen PyTorch is an open source machine learning framework that accelerates the path from research prototyping to production deployment. Official websit: https://pytorch.org/. We call the C++ library of PyTorch as LibTorch, the same below. To build FFmpeg with LibTorch, please take

[FFmpeg-devel] [PATCH 3/3] libavfilter/vf_dnn_detect: Use class confidence to filt boxes

2024-01-16 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Use class confidence instead of box_score to filt boxes, which is more accurate. Class confidence is obtained by multiplying class probability distribution and box_score. Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 6 +++--- 1 file changed, 3 insertions(+),

[FFmpeg-devel] [PATCH 2/3] libavfilter/dnn_interface: use dims to represent shapes

2024-01-16 Thread wenbin . chen-at-intel . com
From: Wenbin Chen For detect and classify output, width and height make no sence, so change width, height to dims to represent the shape of tensor. Use layout and dims to get width, height and channel. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_openvino.c | 80

[FFmpeg-devel] [PATCH 1/3] libavfilter/dnn_bakcend_openvino: Add automatic input/output detection

2024-01-16 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Now when using openvino backend, user doesn't need to set input/output names in command line. Model ports will be automatically detected. For example: ffmpeg -i input.png -vf \ dnn_detect=dnn_backend=openvino:model=model.xml:input=image:\ output=detection_out -y output.png

[FFmpeg-devel] [PATCH 2/2] libavfilter/vf_dnn_detect: Add two outputs ssd support

2023-12-26 Thread wenbin . chen-at-intel . com
From: Wenbin Chen For this kind of model, we can directly use its output as final result just like ssd model. The difference is that it splits output into two tensors. [x_min, y_min, x_max, y_max, confidence] and [lable_id]. Model example refer to:

[FFmpeg-devel] [PATCH 1/2] libavfilter/dnn_backend_openvino: Add dynamic output support

2023-12-26 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add dynamic outputs support. Some models don't have fixed output size. Its size changes according to result. Now openvino can run these kinds of models. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_openvino.c | 134 +++-- 1 file changed, 59

[FFmpeg-devel] [PATCH 2/2] libavfilter/vf_dnn_detect: Add initialized value to function pointer

2023-12-17 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c index 52d5c3d798..88865c8a8e 100644 --- a/libavfilter/vf_dnn_detect.c +++

[FFmpeg-devel] [PATCH 1/2] libavfilter/vf_dnn_detect: Fix a control flow issue

2023-12-17 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c index fcc64118b6..52d5c3d798 100644 --- a/libavfilter/vf_dnn_detect.c +++ b/libavfilter/vf_dnn_detect.c

[FFmpeg-devel] [PATCH 4/4] libavfilter/vf_dnn_detect: Set used pointer to NULL

2023-12-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Set used pointer to NULL in case it leaks the storage. Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c index 5668b8b017..3464af86c8 100644 ---

[FFmpeg-devel] [PATCH 3/4] libavfilter/vf_dnn_detect: Fix uninitialized variables error

2023-12-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c index b2e9b8d4c6..5668b8b017 100644 --- a/libavfilter/vf_dnn_detect.c +++

[FFmpeg-devel] [PATCH 2/4] libavfilter/vf_dnn_detect: Add NULL pointer check

2023-12-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 4 1 file changed, 4 insertions(+) diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c index b82916ce6d..b2e9b8d4c6 100644 --- a/libavfilter/vf_dnn_detect.c +++ b/libavfilter/vf_dnn_detect.c

[FFmpeg-devel] [PATCH 1/4] libavfilter/vf_dnn_detect: Fix an incorrect expression

2023-12-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c index 7ac3bb0b58..b82916ce6d 100644 --- a/libavfilter/vf_dnn_detect.c +++

[FFmpeg-devel] [PATCH v2 3/4] libavfilter/vf_dnn_detect: Add yolov3 support

2023-12-11 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add yolov3 support. The difference of yolov3 is that it has multiple outputs in different scale to perform better on both large and small object. The model detail refer to: https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/yolo-v3-tf Signed-off-by:

[FFmpeg-devel] [PATCH v2 1/4] libavfiter/dnn_backend_openvino: Add multiple output support

2023-12-11 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add multiple output support to openvino backend. You can use '&' to split different output when you set output name using command line. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_common.c | 7 - libavfilter/dnn/dnn_backend_openvino.c | 216

[FFmpeg-devel] [PATCH v2 4/4] libavfilter/vf_dnn_detect: Add yolov4 support

2023-12-11 Thread wenbin . chen-at-intel . com
From: Wenbin Chen The difference of yolov4 is that sigmoid function needed to be applied on x, y coordinates. Also make it compatiple with NHWC output as the yolov4 model from openvino model zoo has NHWC output layout. Model refer to:

[FFmpeg-devel] [PATCH v2 2/4] libavfilter/vf_dnn_detect: Add input pad

2023-12-11 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add input pad to get model input resolution. Detection models always have fixed input size. And the output coordinators are based on the input resolution, so we need to get input size to map coordinators to our real output frames. Signed-off-by: Wenbin Chen ---

[FFmpeg-devel] [PATCH 4/4] libavfilter/vf_dnn_detect: Add yolov4 support

2023-12-03 Thread wenbin . chen-at-intel . com
From: Wenbin Chen The difference of yolov4 is that sigmoid function needed to be applied on x, y coordinates. Also make it compatiple with NHWC output as the yolov4 model from openvino model zoo has NHWC output layout. Model refer to:

[FFmpeg-devel] [PATCH 3/4] libavfilter/vf_dnn_detect: Add yolov3 support

2023-12-03 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add yolov3 support. The difference of yolov3 is that it has multiple outputs in different scale to perform better on both large and small object. The model detail refer to: https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/yolo-v3-tf Signed-off-by:

[FFmpeg-devel] [PATCH 2/4] libavfilter/vf_dnn_detect: Add input pad

2023-12-03 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add input pad to get model input resolution. Detection models always have fixed input size. And the output coordinators are based on the input resolution, so we need to get input size to map coordinators to our real output frames. Signed-off-by: Wenbin Chen ---

[FFmpeg-devel] [PATCH 1/4] libavfiter/dnn/dnn_backend_openvino: add multiple output support

2023-12-03 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add multiple output support to openvino backend. You can use '&' to split different output when you set output name using command line. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_common.c | 7 - libavfilter/dnn/dnn_backend_openvino.c | 216

[FFmpeg-devel] [PATCH 2/2] libavfilter/vf_dnn_detect: Add yolo support

2023-11-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add yolo support. Yolo model doesn't output final result. It outputs candidate boxes, so we need post-process to remove overlap boxes to get final results. Also, the box's coordinators relate to cell and anchors, so we need these information to calculate boxes as well. Model

[FFmpeg-devel] [PATCH 1/2] libavfilter/vf_dnn_detect: Add model_type option.

2023-11-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen There are many kinds of detection DNN model and they have different preprocess and postprocess methods. To support more models, "model_type" option is added to help to choose preprocess and postprocess function. Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 42

[FFmpeg-devel] [PATCH] libavfilter/dnn/openvino: Reduce redundant memory allocation

2023-11-09 Thread wenbin . chen-at-intel . com
From: Wenbin Chen We can directly get data ptr from tensor, so that extral memory allocation can be removed. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_openvino.c | 42 +- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git

[FFmpeg-devel] [PATCH v2 3/3] libavfilter/dnn: Initialze DNNData variables

2023-09-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_tf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_tf.c b/libavfilter/dnn/dnn_backend_tf.c index b521de7fbe..25046b58d9 100644 ---

[FFmpeg-devel] [PATCH v2 2/3] libavfilter/dnn: Add scale and mean preprocess to openvino backend

2023-09-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Dnn models has different data preprocess requirements. Scale and mean parameters are added to preprocess input data. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_openvino.c | 43 -- libavfilter/dnn/dnn_io_proc.c | 82

[FFmpeg-devel] [PATCH v2 1/3] libavfilter/dnn: add layout option to openvino backend

2023-09-20 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Dnn models have different input layout (NCHW or NHWC), so a "layout" option is added Use openvino's API to do layout conversion for input data. Use swscale to do layout conversion for output data as openvino doesn't have similiar C API for output. Signed-off-by: Wenbin Chen

[FFmpeg-devel] [PATCH 3/3] libavfilter/dnn: Initialze DNNData variables

2023-09-19 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_tf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/dnn/dnn_backend_tf.c b/libavfilter/dnn/dnn_backend_tf.c index b521de7fbe..e1e8cef0d2 100644 --- a/libavfilter/dnn/dnn_backend_tf.c

[FFmpeg-devel] [PATCH 2/3] libavfilter/dnn: Add scale and mean preprocess to openvino backend

2023-09-19 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Dnn models has different data preprocess requirements. Scale and mean parameters are added to preprocess input data. Signed-off-by: Wenbin Chen --- libavfilter/dnn/dnn_backend_openvino.c | 43 -- libavfilter/dnn/dnn_io_proc.c | 82

[FFmpeg-devel] [PATCH 1/3] libavfilter/dnn: add layout option to openvino backend

2023-09-19 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Dnn models have different input layout (NCHW or NHWC), so a "layout" option is added Use openvino's API to do layout conversion for input data. Use swscale to do layout conversion for output data as openvino doesn't have similiar C API for output. Signed-off-by: Wenbin Chen

[FFmpeg-devel] [PATCH] libavfilter/vf_vpp_qsv: Fix a timestamp bug when framerate is not set

2023-08-15 Thread wenbin . chen-at-intel . com
From: Wenbin Chen If user doesn't set framerate when he creates a filter, the filter uses default framerate {0, 1}. This causes error when setting timebase to 1/framerate. Now change it to pass inlink->time_base to outlink when framerate is not set. This patch fixes ticket: #10476 #10468

[FFmpeg-devel] [PATCH v2] lavfi/dnn: Add OpenVINO API 2.0 support

2023-08-15 Thread wenbin . chen-at-intel . com
From: Wenbin Chen OpenVINO API 2.0 was released in March 2022, which introduced new features. This commit implements current OpenVINO features with new 2.0 APIs. And will add other features in API 2.0. Please add installation path, which include openvino.pc, to PKG_CONFIG_PATH mannually for new

[FFmpeg-devel] [PATCH] libavfilter/vf_dnn_detect: bbox index may bigger than bbox number

2023-07-16 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Fix a bug that queried bbox index may bigger than bbox's total number. Signed-off-by: Wenbin Chen --- libavfilter/vf_dnn_detect.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavfilter/vf_dnn_detect.c b/libavfilter/vf_dnn_detect.c index

[FFmpeg-devel] [PATCH] doc/encoders: Add av1 to qsv encoder's summary

2023-03-12 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- doc/encoders.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/encoders.texi b/doc/encoders.texi index b02737b9df..d6dddc2bd5 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -3188,8 +3188,8 @@ recommended

[FFmpeg-devel] [PATCH] doc/examples/qsv_transcode: Fix a bug when use more than one parameter set

2023-03-01 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- doc/examples/qsv_transcode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/examples/qsv_transcode.c b/doc/examples/qsv_transcode.c index 7ea3ef5674..48128b200c 100644 --- a/doc/examples/qsv_transcode.c +++

[FFmpeg-devel] [PATCH] libavcodec/qsvenc: Add dynamic setting support of low_delay_brc to av1_qsv

2023-03-01 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- doc/encoders.texi | 2 +- libavcodec/qsvenc.c | 5 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/encoders.texi b/doc/encoders.texi index b02737b9df..e9b34010ed 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi

[FFmpeg-devel] [PATCH v2] libavcodec/qsvenc: Flush cached frames before reset encoder

2023-02-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen According to https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#configuration-change. Before calling MFXVideoENCODE_Reset, The application needs to retrieve any cached frames in the SDK encoder. A loop is added before MFXVideoENCODE_Reset to retrieve

[FFmpeg-devel] [PATCH v2] libavcodec/qsvenc: Do not pass RGB solorspace to VPL/MSDK

2023-02-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen When encode RGB frame, Intel driver convert RGB to YUV, so we cannot set RGB colorspace to VPL/MSDK. Signed-off-by: Wenbin Chen --- libavcodec/qsvenc.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index

[FFmpeg-devel] [PATCH] libavcodec/qsvenc: Do not pass RGB solorspace to VPL/MSDK

2023-02-12 Thread wenbin . chen-at-intel . com
From: Wenbin Chen When encode RGB frame, Intel driver convert RGB to YUV, so we cannot set RGB colorspace to VPL/MSDK. Signed-off-by: Wenbin Chen --- libavcodec/qsvenc.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index

[FFmpeg-devel] [PATCH] libavcodec/qsvenc: Flush cached frames before reset encoder

2023-02-12 Thread wenbin . chen-at-intel . com
From: Wenbin Chen According to https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#configuration-change. Before calling MFXVideoENCODE_Reset, The application needs to retrieve any cached frames in the SDK encoder. A loop is added before MFXVideoENCODE_Reset to retrieve

[FFmpeg-devel] [PATCH] libavfilter/qsvvpp: check the return value

2023-02-08 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- libavfilter/qsvvpp.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c index e181e7b584..54e7284234 100644 --- a/libavfilter/qsvvpp.c +++ b/libavfilter/qsvvpp.c @@ -441,7 +441,10

[FFmpeg-devel] [PATCH] libavcodec/qsvenc: Enable 444 encoding for RGB input

2023-01-02 Thread wenbin . chen-at-intel . com
From: Wenbin Chen MSDK/VPL uses 420 chroma format as default to encode RGB, and this is not a proper usage. Now enable 444 encoding for RGB input by default. RGB is encoded using 444 chroma format when user doesn't specify the profile or uses rext profile, otherwise, 420 is used. Signed-off-by:

[FFmpeg-devel] [PATCH 2/2] libavcodec/qsvenc_av1: Add max_frame_size support to av1_qsv encoder

2022-12-25 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- doc/encoders.texi | 5 + libavcodec/qsvenc.c | 3 +++ libavcodec/qsvenc_av1.c | 1 + 3 files changed, 9 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index 543b5e26a9..727f12a59d 100644 --- a/doc/encoders.texi

[FFmpeg-devel] [PATCH 1/2] libavcodec/qsvenc_av1: Add low_delay_brc support to av1_qsv encoder

2022-12-25 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Signed-off-by: Wenbin Chen --- doc/encoders.texi | 5 + libavcodec/qsvenc.c | 4 libavcodec/qsvenc_av1.c | 1 + 3 files changed, 10 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index b8051cda3f..543b5e26a9 100644 --- a/doc/encoders.texi

[FFmpeg-devel] [PATCH v3] libavfilter/qsvvpp: Change the alignment to meet the requirement of YUV420P format

2022-12-04 Thread wenbin . chen-at-intel . com
From: Wenbin Chen When process yuv420 frames, FFmpeg uses same alignment on Y/U/V planes. VPL and MSDK use Y plane's pitch / 2 as U/V planes's pitch, which makes U/V planes 16-bytes aligned. We need to set a separate alignment to meet runtime's behaviour. Now alignment is changed to 16 so that

[FFmpeg-devel] [PATCH v2] libavfilter/qsvvpp: Use different alignment for YUV420P format

2022-11-30 Thread wenbin . chen-at-intel . com
From: Wenbin Chen When process yuv420 frames, FFmpeg uses same alignment on Y/U/V planes. VPL and MSDK use Y plane's pitch / 2 as U/V planes's pitch, which makes U/V planes 16-bytes aligned. We need to set a separate alignment to meet runtime's behaviour. Now alignment is changed to 16 so that

[FFmpeg-devel] [PATCH] libavfilter/qsvvpp: Use different alignment for YUV420P format

2022-11-29 Thread wenbin . chen-at-intel . com
From: Wenbin Chen When process yuv420 frames, FFmpeg use same alignment on Y/U/V planes. VPL and MSDK use Y plane's pitch / 2 as U/V planes's pitch, which make U/V planes 16-bytes aligned. We need to set a separate alignment to meet runtime's behaviour. Now the commandline works fine: ffmpeg -f

[FFmpeg-devel] [PATCH v2] libavcodec/qsvenc.c: Enable MFX_GOP_STRICT when adpative gop is disabled

2022-11-23 Thread wenbin . chen-at-intel . com
From: Wenbin Chen adaptive_i and adaptive_b cannot work with MFX_GOP_STRICT, so only enable MFX_GOP_STRICT when these features are disabled. Signed-off-by: Wenbin Chen --- libavcodec/qsvenc.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libavcodec/qsvenc.c

[FFmpeg-devel] [PATCH] libavcodec/qsvenc.c: Disable MFX_GOP_STRICT when encode adpative gop

2022-11-15 Thread wenbin . chen-at-intel . com
From: Wenbin Chen b_strategy, p_strategy, adaptive_i and adaptive_b cannot work with MFX_GOP_STRICT, so disable MFX_GOP_STRICT when these features are used. Signed-off-by: Wenbin Chen --- libavcodec/qsvenc.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git

[FFmpeg-devel] [PATCH] libavcodec/qsvenc: Add skip_frame support to qsvenc

2022-11-02 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add skip_frame support to qsvenc. Use per-frame metadata "qsv_skip_frame" to control it. skip_frame option defines the behavior of qsv_skip_frame. no_skip: Frame skipping is disabled. insert_dummy: Encoder inserts into bitstream frame where all macroblocks are encoded as

[FFmpeg-devel] [PATCH] doc/examples: Add qsv_transcode example

2022-10-31 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add qsv_transcode example which shows how to use qsv to do hardware accelerated transcoding, also show how to dynamically set encoding parameters. examples: Normal usage: qsv_transcode input.mp4 h264_qsv output.mp4 "g 60" Dynamic setting usage: qsv_transcode input.mp4

[FFmpeg-devel] [PATCH 2/2] doc/encoders: Add doc for av1_qsv

2022-10-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen Add doc for av1_qsv. Signed-off-by: Wenbin Chen --- doc/encoders.texi | 32 1 file changed, 32 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index 1a5216f8eb..53dd02fd28 100644 --- a/doc/encoders.texi +++

[FFmpeg-devel] [PATCH 1/2] libavcodec/qsvenc_av1: add av1_qsv encoder

2022-10-13 Thread wenbin . chen-at-intel . com
From: Wenbin Chen It is available only when libvpl is enabled. MSDK doesn't support av1 encoding. sample command: ffmpeg -f rawvideo -pix_fmt nv12 -s 1920x1080 -i input.yuv \ -c:v av1_qsv output.ivf Signed-off-by: Wenbin Chen Signed-off-by: Haihao Xiang --- configure | 2 +