[FFmpeg-devel] [PATCH, v4] lavc/qsvdec: Add GPU-accelerated memory copy support

2019-10-08 Thread Linjie Fu
input.h264 -f null - or: ffmpeg -c:v h264_qsv -gpu_copy on -i input.h264 -f null - Signed-off-by: Linjie Fu Signed-off-by: ChaoX A Liu --- [v4]: add an assert check. libavcodec/qsv.c | 31 ++-- libavcodec/qsv_internal.h | 7 +++-- libavcodec/qsvdec.c | 60

[FFmpeg-devel] [PATCH, v3] lavc/qsvdec: Add GPU-accelerated memory copy support

2019-09-29 Thread Linjie Fu
input.h264 -f null - or: ffmpeg -c:v h264_qsv -gpu_copy on -i input.h264 -f null - Signed-off-by: Linjie Fu Signed-off-by: ChaoX A Liu --- libavcodec/qsv.c | 31 +++--- libavcodec/qsv_internal.h | 7 ++--- libavcodec/qsvdec.c | 54

[FFmpeg-devel] [PATCH, v2] lavu/hwcontext_vaapi: add vaapi_format_map support for AYUV/Y210/Y410

2019-09-26 Thread Linjie Fu
VA_RT_FORMAT describes the desired sampling format for surface. Add vaapi_format_map support for new pixel formats. Signed-off-by: Linjie Fu --- This patch is part of the HEVC Rext support for qsv and vaapi, refined and resent separately. libavutil/hwcontext_vaapi.c | 7 +++ 1 file

[FFmpeg-devel] [PATCH, v2] lavc/qsvdec: Add GPU-accelerated memory copy support

2019-09-26 Thread Linjie Fu
-gpu_copy on -i input.h264 -f null - or: ffmpeg -c:v h264_qsv -gpu_copy on -i input.h264 -f null - Signed-off-by: Linjie Fu Signed-off-by: ChaoX A Liu --- Rebased and send again. libavcodec/qsv.c | 31 +--- libavcodec/qsv_internal.h | 7

[FFmpeg-devel] [PATCH] lavc/vaapi_encode: remove consistency check of depth for each component

2019-09-24 Thread Linjie Fu
Previously, consistency check of depth is introduced to make sure each component of the pixel format has the same depth. Since Y410(with a different depth in alpha channel) is supported for ICL+, this check should be removed to make the encoder work. Signed-off-by: Linjie Fu --- libavcodec

[FFmpeg-devel] [PATCH] lavc/vaapi_decode: Add 4:4:4 8/10 bit decode support for VP9

2019-09-19 Thread Linjie Fu
Add decode support for VP9 4:4:4 8 bit and 10 bit. Supported since ICL. Signed-off-by: Linjie Fu --- libavcodec/vaapi_decode.c | 2 ++ libavcodec/vp9.c | 6 ++ 2 files changed, 8 insertions(+) diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c index 69512e1

[FFmpeg-devel] [PATCH, v2] lavf/vf_deinterlace_vaapi: flush queued frame for field in DeinterlacingBob

2019-09-18 Thread Linjie Fu
cel_device /dev/dri/renderD128 -hwaccel_output_format vaapi -i input.h264 -an -vf deinterlace_vaapi=mode=bob:rate=field -f null - Signed-off-by: Linjie Fu --- libavfilter/vf_deinterlace_vaapi.c | 44 -- 1 file changed, 38 insertions(+), 6 deletion

[FFmpeg-devel] [PATCH, v2 3/3] swscale: Add swscale input support for Y210

2019-09-18 Thread Linjie Fu
Add swscale input support for Y210, output support and fate test could be added later if there is requirement for software CSC to this packed format. Signed-off-by: Linjie Fu --- libswscale/input.c | 48 libswscale/utils.c | 2 ++ 2 files

[FFmpeg-devel] [PATCH 5/5] lavc/hevcdec: add VAAPI decode support for HEVC Rext

2019-09-16 Thread Linjie Fu
Add decode support for 422/444, 8/10bit HEVC REXT clips. Signed-off-by: Linjie Fu --- libavcodec/hevcdec.c | 18 +- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index eed0319..f1ff177 100644 --- a/libavcodec/hevcdec.c

[FFmpeg-devel] [PATCH 4/5] lavc/vaapi_decode: add profile_parser and format map support for HEVC REXT

2019-09-16 Thread Linjie Fu
Add function pointer field in vaapi_profile_map[], set profile_parser for HEVC_REXT to find the exact va_profile. Also add format map support. Signed-off-by: Linjie Fu --- libavcodec/vaapi_decode.c | 83 ++- 1 file changed, 53 insertions(+), 30

[FFmpeg-devel] [PATCH 3/5] lavc/vaapi_hevc: add function to find exact va_profile for REXT

2019-09-16 Thread Linjie Fu
Add vaapi_parse_rext_profile and use profile constraint flags to determine the exact va_profile for HEVC_REXT. Add build object in Makefile for h265_profile_level dependency. Signed-off-by: Linjie Fu --- libavcodec/Makefile | 2 +- libavcodec/vaapi_hevc.c | 69

[FFmpeg-devel] [PATCH 2/5] lavc/hevc_ps: parse constraint flags for HEVC REXT

2019-09-16 Thread Linjie Fu
Parse all the constraint flags according to ITU-T Rec. H.265 (02/2018). It can be passed to hw decoders to determine the exact profile for Range Extension HEVC. Signed-off-by: Linjie Fu --- libavcodec/hevc_ps.c | 44 libavcodec/hevc_ps.h | 13

[FFmpeg-devel] [PATCH 1/5] lavc/vaapi_hevc: extend parameter buffer to ParameterBufferHEVCExtension

2019-09-16 Thread Linjie Fu
Extend ParameterBufferHEVC to ParameterBufferHEVCExtension for both VAPicture and VASlice. Pass Range Extension flags to support the decode for HEVC REXT. Separate the behaviour of ff_vaapi_decode_make_slice_buffer for base and rext to avoid potential regression. Signed-off-by: Linjie Fu

[FFmpeg-devel] [PATCH 2/3] swscale: Add swscale and fate support for AYUV

2019-09-16 Thread Linjie Fu
Add input and output support in swscale for AYUV. Add fate test for AYUV. Signed-off-by: Linjie Fu --- libavutil/tests/pixfmt_best.c| 1 + libswscale/input.c | 26 + libswscale/output.c | 50

[FFmpeg-devel] [PATCH 3/3] swscale: Add swscale input support for Y210

2019-09-16 Thread Linjie Fu
Add swscale input support for Y210, output support and fate test could be added later if there is requirement for software CSC to this packed format. Signed-off-by: Linjie Fu --- libswscale/input.c | 36 libswscale/utils.c | 2 ++ 2 files changed, 38

[FFmpeg-devel] [PATCH 1/3] lavu/pixfmt: add new pixel format ayuv/y210/y410

2019-09-16 Thread Linjie Fu
: AYUV 4:4:4 10 bit: Y410 Add query support in fate. Signed-off-by: Linjie Fu --- libavutil/pixdesc.c | 62 libavutil/pixfmt.h | 9 ++ libavutil/version.h | 2 +- tests/ref/fate/sws-pixdesc-query | 19

[FFmpeg-devel] [PATCH, v2 1/6] lavu/pixfmt: add new pixel format ayuv/y210/y410

2019-09-11 Thread Linjie Fu
: AYUV 4:4:4 10 bit: Y410 Signed-off-by: Linjie Fu --- libavutil/pixdesc.c | 62 +++ libavutil/pixfmt.h| 9 +++ libavutil/tests/pixfmt_best.c | 1 + libavutil/version.h | 2 +- 4 files changed, 73 insertions(+), 1

[FFmpeg-devel] [PATCH] qsv: get FrameInfo.Shift by desc->comp[0].shift

2019-09-10 Thread Linjie Fu
Since Y410 is a pixel format with depth > 8 but shift = 0, get Shift info by depth is not quite accurate. Signed-off-by: Linjie Fu --- libavcodec/qsvenc.c | 4 ++-- libavutil/hwcontext_qsv.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/qsvenc.

[FFmpeg-devel] [PATCH 6/6] lavu/hwcontext_qsv: add frame map support for HEVC rext support

2019-09-10 Thread Linjie Fu
Signed-off-by: Linjie Fu --- libavutil/hwcontext_qsv.c | 25 + 1 file changed, 25 insertions(+) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index 0329a81..7f8f2de 100644 --- a/libavutil/hwcontext_qsv.c +++ b/libavutil/hwcontext_qsv.c @@ -103,6

[FFmpeg-devel] [PATCH 5/6] lavc/qsv: add pixfmt fourcc map for AYUV/Y210/Y410

2019-09-10 Thread Linjie Fu
Signed-off-by: Linjie Fu --- libavcodec/qsv.c | 15 +++ 1 file changed, 15 insertions(+) diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index 65ad070..adfe09a 100644 --- a/libavcodec/qsv.c +++ b/libavcodec/qsv.c @@ -218,6 +218,9 @@ enum AVPixelFormat ff_qsv_map_fourcc(uint32_t

[FFmpeg-devel] [PATCH 4/6] lavu/hwcontext_vaapi: add vaapi_format_map support for AYUV/Y210/Y410

2019-09-10 Thread Linjie Fu
There is no VA_RT_FORMAT_AYUV in defined in libva, and currently in media-driver, VA_FOURCC_AYUV is used to represent VA_RT_FORMAT_AYUV. Another patch could be sent to refine the code after this issue is addressed: https://github.com/intel/libva/issues/335 Signed-off-by: Linjie Fu

[FFmpeg-devel] [PATCH 3/6] fate: add tests support for AYUV/Y210/Y410

2019-09-10 Thread Linjie Fu
Signed-off-by: Linjie Fu --- tests/ref/fate/filter-pixdesc-ayuv | 1 + tests/ref/fate/filter-pixfmts-copy | 1 + tests/ref/fate/filter-pixfmts-crop | 1 + tests/ref/fate/filter-pixfmts-field | 1 + tests/ref/fate/filter-pixfmts-fieldorder | 1 + tests/ref/fate/filter

[FFmpeg-devel] [PATCH 2/6] swscale: add swscale support for 422/444 decode outputs

2019-09-10 Thread Linjie Fu
Signed-off-by: Linjie Fu --- libswscale/input.c | 74 libswscale/output.c | 50 +++ libswscale/utils.c | 3 +++ libswscale/version.h | 2 +- 4 files changed, 128 insertions(+), 1 deletion(-) diff --git

[FFmpeg-devel] [PATCH 1/6] lavu/pixfmt: add new pixel format ayuv/y210/y410

2019-09-10 Thread Linjie Fu
Add some packed pixel formats for hardware decode support in VAAPI and QSV: 4:2:2 10 bit: Y210 4:4:4 8 bit: AYUV 4:4:4 10 bit: Y410 Signed-off-by: Linjie Fu --- libavutil/pixdesc.c | 62 +++ libavutil/pixfmt.h| 9

[FFmpeg-devel] [PATCH 2/2] swscale: Add swscale input support for Y210

2019-09-06 Thread Linjie Fu
Make it possible to convert Y210 to other pixel format. Also add query support in fate. Signed-off-by: Linjie Fu --- libswscale/input.c | 47 libswscale/utils.c | 2 ++ tests/ref/fate/sws-pixdesc-query | 7 ++ 3 files

[FFmpeg-devel] [PATCH 1/2] lavu/pixfmt: add 4:2:2 10 bit pixel format Y210

2019-09-06 Thread Linjie Fu
Add support for packed 4:2:2 10 bit pixel format Y210. It is the format that VAAPI/QSV uses when coping with 4:2:2 10bit surfaces. Signed-off-by: Linjie Fu --- libavutil/pixdesc.c | 23 +++ libavutil/pixfmt.h | 4 libavutil/version.h | 2 +- 3 files changed, 28

[FFmpeg-devel] [PATCH] swscale/output: fix some code indentations

2019-09-04 Thread Linjie Fu
Signed-off-by: Linjie Fu --- libswscale/output.c | 70 ++--- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/libswscale/output.c b/libswscale/output.c index 26b0ff3..7eb4644 100644 --- a/libswscale/output.c +++ b/libswscale/output.c

[FFmpeg-devel] [PATCH] lavc/qsvdec: fix the regression on linux for init_hw_device

2019-09-03 Thread Linjie Fu
K library on Linux." Details in ticket #7030 and issue in MSDK: https://github.com/Intel-Media-SDK/MediaSDK/issues/1611 Signed-off-by: Linjie Fu --- libavcodec/qsvdec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index eef4fe7..319b549

[FFmpeg-devel] [PATCH 2/2] swscale: Add swscale and fate support for AYUV

2019-08-28 Thread Linjie Fu
Add swscale support for AYUV and make it more robust. Also update the reference in fate. Signed-off-by: Linjie Fu --- libswscale/input.c | 26 + libswscale/output.c | 50 libswscale/utils.c

[FFmpeg-devel] [PATCH 1/2] lavu/pixfmt: add AYUV pixel format

2019-08-28 Thread Linjie Fu
Add support for packed 4:4:4 pixel format AYUV. It is the format that VAAPI/QSV uses when coping with 4:4:4 surfaces. Alpha channel will be set to default value for HEVC REXT hw decode. Signed-off-by: Linjie Fu --- libavutil/pixdesc.c | 13 + libavutil/pixfmt.h

[FFmpeg-devel] [PATCH 2/2] lavu/hwcontext_vaapi: remove redundant check in vaapi_map_to_memory

2019-08-14 Thread Linjie Fu
-by: Linjie Fu --- libavutil/hwcontext_vaapi.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 64f14de..3b0f671 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -940,12 +940,6 @@ static int

[FFmpeg-devel] [PATCH 1/2] lavu/hwcontext_vaapi: cope with race map for YUV420P

2019-08-14 Thread Linjie Fu
=yuv420p' -f rawvideo -vsync passthrough -vframes 10 -y aa.yuv Reviewed-by: Zhong Li Signed-off-by: Linjie Fu --- libavutil/hwcontext_vaapi.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index cf11764

[FFmpeg-devel] [PATCH] lavu/hwcontext_vaapi: provide detailed error msg if directly mapping fails

2019-08-14 Thread Linjie Fu
Detailed message could be helpful when using hwmap=mode=direct,format=xxx for both qsv and vaapi. Signed-off-by: Linjie Fu --- libavutil/hwcontext_vaapi.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index

[FFmpeg-devel] [PATCH] lavu/hwcontext_vaapi: provide detailed warning if directly mapping fails

2019-08-14 Thread Linjie Fu
Detailed message could be helpful when using hwmap=mode=direct,format=xxx for both qsv and vaapi. Signed-off-by: Linjie Fu --- libavutil/hwcontext_vaapi.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index

[FFmpeg-devel] [PATCH, RFC, v2 3/3] lavc/libvpxenc: add dynamic resolution encode support for libvpx

2019-08-13 Thread Linjie Fu
-to-small_420_8.h264 -pix_fmt yuv420p -c:v libvpx-vp9 lena.ivf Filed an issue in https://bugs.chromium.org/p/webm/issues/detail?id=1642 to fix some memory problem. Signed-off-by: Linjie Fu --- libavcodec/libvpxenc.c | 24 1 file changed, 24 insertions(+) diff --git

[FFmpeg-devel] [PATCH] lavf/vf_deinterlace_vaapi: flush queued frame in field mode

2019-08-02 Thread Linjie Fu
=bob:rate=field,hwdownload,format=nv12' -pix_fmt yuv420p -f rawvideo -vsync passthrough -y dump.yuv Signed-off-by: Linjie Fu --- libavfilter/vf_deinterlace_vaapi.c | 46 -- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/libavfilter

[FFmpeg-devel] [PATCH] lavu/hwcontext_vaapi: cope with race map for YUV420P

2019-07-31 Thread Linjie Fu
=yuv420p' -f rawvideo -vsync passthrough -vframes 10 -y aa.yuv Signed-off-by: Linjie Fu --- libavutil/hwcontext_vaapi.c | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index cf11764..64f14de 100644

[FFmpeg-devel] [PATCH, v3 2/3] fftools/ffmpeg: support variable resolution encode

2019-07-30 Thread Linjie Fu
Flush encoders when resolution change happens. Use AV_CODEC_CAP_PARAM_CHANGE flag for encoder to indicate whether it supports variable/dynamic resolution encoding. Signed-off-by: Linjie Fu --- [v3]: use AV_CODEC_CAP_PARAM_CHANGE flag fftools/ffmpeg.c| 14 ++ libavcodec/rawenc.c

[FFmpeg-devel] [PATCH, v2 3/3] lavc/libvpxenc: add dynamic resolution encode support for libvpx

2019-07-30 Thread Linjie Fu
yuv420p -c:v libvpx-vp9 lena.ivf Signed-off-by: Linjie Fu --- [v2]: use AV_CODEC_CAP_PARAM_CHANGE flag. libavcodec/libvpxenc.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index feb52ea..800ba18 100644

[FFmpeg-devel] [PATCH, v4 1/3] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-30 Thread Linjie Fu
whether auto inserting the scale filter in the filter graph: -noautoscale or -autoscale 0: disable the default auto scale filter inserting. Update docs. Signed-off-by: U. Artie Eoff Signed-off-by: Linjie Fu --- [no updates] doc/ffmpeg.texi | 16 fftools/ffmpeg.c

[FFmpeg-devel] [PATCH, v2 3/4] fftools/ffmpeg: support variable dimension encode

2019-07-29 Thread Linjie Fu
Flush encoders when dimension change happens. Signed-off-by: Linjie Fu --- fftools/ffmpeg.c | 14 ++ 1 file changed, 14 insertions(+) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 5d52430..cb3adb2 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -130,6 +130,7

[FFmpeg-devel] [PATCH, v2 2/4] avc/avcodec: add AV_CODEC_CAP_VARIABLE_DIMENSIONS flag

2019-07-29 Thread Linjie Fu
Add AV_CODEC_CAP_VARIABLE_DIMENSIONS flag to indicate whether encoder supports variable dimension encoding. Signed-off-by: Linjie Fu --- [v2]: update API changes. doc/APIchanges | 3 +++ fftools/cmdutils.c | 2 ++ libavcodec/avcodec.h | 5 + libavcodec/rawenc.c | 1 + libavcodec

[FFmpeg-devel] [PATCH 4/4] lavc/libvpxenc: add dynamic resolution encode support for libvpx

2019-07-29 Thread Linjie Fu
yuv420p -c:v libvpx-vp9 lena.ivf Signed-off-by: Linjie Fu --- libavcodec/libvpxenc.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index feb52ea..6af6c50 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec

[FFmpeg-devel] [PATCH 3/4] fftools/ffmpeg: support variable dimension encode

2019-07-29 Thread Linjie Fu
Flush encoders when dimension change happens, reset draining to resume encode. If encoder doesn't support variable dimension, stop encoding and report errors. Signed-off-by: Linjie Fu --- fftools/ffmpeg.c| 13 + libavcodec/encode.c | 4 2 files changed, 17 insertions

[FFmpeg-devel] [PATCH 2/4] avc/avcodec: add AV_CODEC_CAP_VARIABLE_DIMENSIONS flag

2019-07-29 Thread Linjie Fu
Add AV_CODEC_CAP_VARIABLE_DIMENSIONS flag to indicate whether encoder supports variable dimension encoding. Signed-off-by: Linjie Fu --- fftools/cmdutils.c | 2 ++ libavcodec/avcodec.h | 5 + libavcodec/rawenc.c | 1 + libavcodec/version.h | 2 +- 4 files changed, 9 insertions(+), 1

[FFmpeg-devel] [PATCH, v4 1/4] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-29 Thread Linjie Fu
whether auto inserting the scale filter in the filter graph: -noautoscale or -autoscale 0: disable the default auto scale filter inserting. Update docs. Signed-off-by: U. Artie Eoff Signed-off-by: Linjie Fu --- [no update] doc/ffmpeg.texi | 16 fftools/ffmpeg.c

[FFmpeg-devel] [PATCH, RFC 2/2] fftools/ffmpeg: add dynamic resolution encode support for libvpx-vp9

2019-07-28 Thread Linjie Fu
./reinit-large_420_8-to-small_420_8.h264 -pix_fmt yuv420p -c:v libvpx-vp9 lena.ivf Signed-off-by: Linjie Fu --- fftools/ffmpeg.c | 9 + libavcodec/libvpxenc.c | 9 + 2 files changed, 18 insertions(+) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 5d52430..e091117

[FFmpeg-devel] [PATCH, v4 1/2] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-28 Thread Linjie Fu
whether auto inserting the scale filter in the filter graph: -noautoscale or -autoscale 0: disable the default auto scale filter inserting. Update docs. Signed-off-by: U. Artie Eoff Signed-off-by: Linjie Fu --- doc/ffmpeg.texi | 16 fftools/ffmpeg.c

[FFmpeg-devel] [PATCH] lavu/hwcontext_qsv: fix the memory leak

2019-07-26 Thread Linjie Fu
av_dict_free child_device_opts to fix the memory leak. Signed-off-by: Linjie Fu --- libavutil/hwcontext_qsv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index 59e4ed9157..0329a81ec3 100644 --- a/libavutil/hwcontext_qsv.c +++ b

[FFmpeg-devel] [PATCH, v3] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-19 Thread Linjie Fu
whether auto inserting the scale filter in the filter graph: -noautoscale or -autoscale 0: disable the default auto scale filter inserting. Update docs. Signed-off-by: U. Artie Eoff Signed-off-by: Linjie Fu --- doc/ffmpeg.texi | 17 + fftools/ffmpeg.c

[FFmpeg-devel] [PATCH, v3 2/2] doc/ffmpeg.texi: update docs for autoscale/autorotate

2019-07-19 Thread Linjie Fu
Add docs for autoscale. Update information for autorotate according to ffplay. Signed-off-by: U. Artie Eoff Signed-off-by: Linjie Fu --- doc/ffmpeg.texi | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index cd35eb49c8

[FFmpeg-devel] [PATCH, v2 1/2] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-19 Thread Linjie Fu
whether auto inserting the scale filter in the filter graph: -noautoscale or -autoscale 0: disable the default auto scale filter inserting. Signed-off-by: U. Artie Eoff Signed-off-by: Linjie Fu --- fftools/ffmpeg.c| 1 + fftools/ffmpeg.h| 4 fftools/ffmpeg_filter.c

[FFmpeg-devel] [PATCH] lavc/phtread_frame: update hwaccel_priv_data in time for multithread

2019-07-18 Thread Linjie Fu
-by: Linjie Fu --- libavcodec/pthread_frame.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c index 36ac0ac..cf7a575 100644 --- a/libavcodec/pthread_frame.c +++ b/libavcodec/pthread_frame.c @@ -282,7 +282,6 @@ static

[FFmpeg-devel] [PATCH, v2 2/2] doc/ffmpeg.texi: update docs for autoscale/autorotate

2019-07-16 Thread Linjie Fu
Add docs for autoscale. Update information for autorotate according to ffplay. Signed-off-by: Linjie Fu --- doc/ffmpeg.texi | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index cd35eb49c8..b91da2b2b4 100644 --- a/doc

[FFmpeg-devel] [PATCH 2/2] doc/vaapi_encode: add documentations for max_frame_size

2019-07-15 Thread Linjie Fu
Add docs for max_frame_size option. Signed-off-by: Linjie Fu --- doc/encoders.texi | 6 ++ 1 file changed, 6 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index eefd124751..ea43900e91 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -2899,6 +2899,12

[FFmpeg-devel] [PATCH, v3 1/2] lavc/vaapi_encode: add support for maxframesize

2019-07-15 Thread Linjie Fu
). It will be passed as a parameter in picParam and should be set for each frame. Signed-off-by: Linjie Fu --- Since the Attribute query for maxframesize is merged in media driver, it's more robust now for vaapi to make use of this feature. https://github.com/intel/media-driver/pull/656 libavcodec

[FFmpeg-devel] [PATCH 2/2] doc/ffmpeg.texi: update docs for autoscale/autorotate

2019-07-15 Thread Linjie Fu
Add docs for autoscale/noautoscale. Update information for autorotate according to ffplay. Signed-off-by: Linjie Fu --- doc/ffmpeg.texi | 11 +++ 1 file changed, 11 insertions(+) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index cd35eb49c8..040a2b53cf 100644 --- a/doc/ffmpeg.texi

[FFmpeg-devel] [PATCH 1/2] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-15 Thread Linjie Fu
whether auto inserting the scale filter in the filter graph: -noautoscale or -autoscale 0: disable the default auto scale filter inserting. Signed-off-by: Linjie Fu --- fftools/ffmpeg.c| 1 + fftools/ffmpeg.h| 4 fftools/ffmpeg_filter.c | 2 +- fftools/ffmpeg_opt.c

[FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: use -reinit_filter to disable/enable auto scale

2019-07-11 Thread Linjie Fu
similar function, but it fails when ifilter has hw_frame_ctx. Add auto_scale flag set by -reinit_filter to indicate whether auto inserting the scale filter in the filter graph. Signed-off-by: Linjie Fu --- Request for comments. As we have discussed in the rawdump filter patch, here is a simpler

[FFmpeg-devel] [PATCH, v2 2/2] lavc/vaapi_decode: recreate hw_frames_ctx for vp9 without destroy va_context

2019-07-11 Thread Linjie Fu
dynamic resolution changing happens. Could be verified by: ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i ./resolutions.ivf -pix_fmt p010le -f rawvideo -vframes 20 -y vaapi.yuv Signed-off-by: Linjie Fu --- libavcodec/decode.c| 10 +- libavcodec/internal.h

[FFmpeg-devel] [PATCH 1/2] lavc/decode: recreate hw_frames_ctx instead of return if already exists

2019-07-11 Thread Linjie Fu
If hw_frames_ctx exists when calling ff_decode_get_hw_frames_ctx, it is allowed to be recreated instead of just return. Move hw_frames_ctx check outside ff_decode_get_hw_frames_ctx, and check in relevant code. Signed-off-by: Linjie Fu --- libavcodec/decode.c | 2 +- libavcodec/dxva2.c | 8

[FFmpeg-devel] [PATCH, v3] lavf/vf_vpp_qsv: add support for QSV transpose filter

2019-07-10 Thread Linjie Fu
,vpp_qsv=transpose=cclock_hflip' -f rawvideo -pix_fmt nv12 ./transpose.yuv Signed-off-by: Linjie Fu --- libavfilter/vf_vpp_qsv.c | 101 ++- 1 file changed, 99 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter

[FFmpeg-devel] [PATCH 1/2] lavc/decode: recreate hw_frames_ctx instead of return if already exists

2019-07-06 Thread Linjie Fu
If hw_frames_ctx exists when calling ff_decode_get_hw_frames_ctx, it is allowed to be recreated instead of just return. Move hw_frames_ctx check outside ff_decode_get_hw_frames_ctx, and check in relevant code. Signed-off-by: Linjie Fu --- libavcodec/decode.c | 2 +- libavcodec/dxva2.c | 8

[FFmpeg-devel] [PATCH 2/2] lavc/vaapi_decode: recreate hw_frames_ctx without destroy va_context

2019-07-06 Thread Linjie Fu
recreating hw_frames_ctx. Could be verified by: ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i ./resolutions.ivf -pix_fmt p010le -f rawvideo -vframes 20 -y vaapi.yuv Signed-off-by: Linjie Fu --- libavcodec/decode.c | 8 libavcodec/vaapi_decode.c | 40

[FFmpeg-devel] [PATCH 5/5] libav/qsv: set Info.Shift according to the setting in desc

2019-06-27 Thread Linjie Fu
Currently, Info.Shift in libmfx is set according to the depth of the pixfmt. As QSV now supports Y410 (depth > 8 but shift = 0), it doesn't work any more. Modify to set Info.Shift according to the setting in desc. Signed-off-by: Linjie Fu --- libavcodec/qsvdec.c | 2 +- libavu

[FFmpeg-devel] [PATCH 4/5] lavc/qsvdec: add ChromaFormat support for YUV422/YUV444

2019-06-27 Thread Linjie Fu
Currently, ChromaFormat passed to libmfx is set to YUV42O by default. Modify to choose ChromaFormat according to fourCC. Signed-off-by: Linjie Fu --- libavcodec/qsvdec.c | 20 +++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/libavcodec/qsvdec.c b/libavcodec

[FFmpeg-devel] [PATCH 3/5] lavc/qsv: add decode support for HEVC Rext

2019-06-27 Thread Linjie Fu
-hwaccel qsv -hwaccel_device /dev/dri/renderD128 -c:v hevc_qsv -load_plugin hevc_hw -i HEVCRext_444_8bit.bin -vf hwdownload,format=ayuv -pix_fmt ayuv -vsync passthrough out.yuv Signed-off-by: Linjie Fu --- libavcodec/qsv.c | 12 libavutil/hwcontext_qsv.c | 25

[FFmpeg-devel] [PATCH 2/5] lavu/hwcontext_vaapi: add vaapi_format_map for Y210/AYUV/Y410

2019-06-27 Thread Linjie Fu
Signed-off-by: Linjie Fu --- libavutil/hwcontext_vaapi.c | 8 1 file changed, 8 insertions(+) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 4227c3c..6378d0e 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -116,6 +116,14

[FFmpeg-devel] [PATCH 1/5] lavu/pixfmt: add Y210/AYUV/Y410 pixel formats

2019-06-27 Thread Linjie Fu
8 BIT - Y410: 444 10 BIT Signed-off-by: Linjie Fu --- libavutil/pixdesc.c | 62 + libavutil/pixfmt.h | 6 ++ libavutil/version.h | 2 +- 3 files changed, 69 insertions(+), 1 deletion(-) diff --git a/libavutil/pixdesc.c b/libavutil

[FFmpeg-devel] [PATCH, v3] lavc/pthread_frame: update context in child thread in multi-thread mode

2019-06-27 Thread Linjie Fu
), update the context in child thread right after the context is refreshed to avoid the async issue. Signed-off-by: Linjie Fu --- libavcodec/internal.h | 7 +++ libavcodec/pthread_frame.c | 21 ++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git

[FFmpeg-devel] [PATCH, RFC, v2] lavc/phtread_frame: update context in child thread in multi-thread mode

2019-06-26 Thread Linjie Fu
-vframes 6 -y out.yuv Move update_context_from_thread from ff_thread_decode_frame(main thread) to frame_worker_thread(child thread), update the context in child thread right after the context was updated to avoid the async issue. Signed-off-by: Linjie Fu --- Request for Comments, not quite familiar

[FFmpeg-devel] [PATCH, RFC] lavc/phtread_frame: update context in child thread in multi-thread mode

2019-06-26 Thread Linjie Fu
-vframes 6 -y out.yuv Move update_context_from_thread from ff_thread_decode_frame(main thread) to frame_worker_thread(child thread), update the context in child thread right after the context was updated to avoid the async issue. Signed-off-by: Linjie Fu --- Request for Comments, not quite familiar

[FFmpeg-devel] [PATCH 2/2] lavf/vf_vpp_qsv: add support for QSV transpose filter

2019-06-18 Thread Linjie Fu
v -i input.h264 -vf 'format=qsv,vpp_qsv=transpose=clock' -c:v h264_qsv output.h264 ffmpeg -init_hw_device qsv=foo -filter_hw_device foo -f rawvideo -pix_fmt nv12 -s:v 1920x1080 -i input.nv12 -vf 'hwupload=extra_hw_frames=64,format=qsv,vpp_qsv=transpose=cclock_hflip' -f rawvideo -pix_fmt

[FFmpeg-devel] [PATCH, v4 1/2] lavf/qsvvpp:allocate continuous memory

2019-06-18 Thread Linjie Fu
Mediasdk calls CMRT to copy from video to system memory and requires memory to be continuously allocated across Y and UV. Add a new path to allocate continuous memory when using system out. Use get_continuous_buffer to arrange data according to pixfmt. Signed-off-by: Linjie Fu --- libavfilter

[FFmpeg-devel] [PATCH 2/2] doc/encoders.texi: add docs for trellis

2019-06-16 Thread Linjie Fu
Signed-off-by: Linjie Fu --- doc/encoders.texi | 7 +++ 1 file changed, 7 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index eefd124751..2e54dcc15f 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -2899,6 +2899,13 @@ will refer only to P- or I-frames. When set

[FFmpeg-devel] [PATCH v3, 1/2] lavc/vaapi_encode: add support for AVC Trellis

2019-06-16 Thread Linjie Fu
relative to bitrate. Add support for VAAPI AVC Trellis Quantization with limitation: - VA-API version >= (1, 5, 0) Use option "-trellis off/I/P/B" to disable or enable Trellis quantization for I/P/B frames. Signed-off-by: Linjie Fu --- libavcodec/vaapi_

[FFmpeg-devel] [PATCH, v2] lavc/vaapi_encode: add support for AVC Trellis

2019-06-12 Thread Linjie Fu
Add support for VAAPI AVC Trellis Quantization with limitation: - VA-API version >= (1, 0, 0) Use option "-trellis off/I/P/B" to disable or enable Trellis quantization for I/P/B frames. Signed-off-by: Linjie Fu --- [v2]: Since nonstandard struct for VAEncMiscParameterQuantiza

[FFmpeg-devel] [PATCH, RFC] lavc/vp9dec: fix the multi-thread HWAccel decode error

2019-06-11 Thread Linjie Fu
context. This leads to decode failures and memory issue. Modify to call hwaccel_uninit/hwaccel_init by ff_thread_get_format only when the first-come thread detected the resolution changing. Signed-off-by: Linjie Fu --- Fix the same issue vaapi_vp8 decoding meets: https://patchwork.ffmpeg.org/patch

[FFmpeg-devel] [PATCH,v3] lavf/qsvvpp:allocate continuous memory

2019-06-04 Thread Linjie Fu
. Signed-off-by: Linjie Fu --- libavfilter/qsvvpp.c | 26 -- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c index 5cd1d5d345..c06171444f 100644 --- a/libavfilter/qsvvpp.c +++ b/libavfilter/qsvvpp.c @@ -350,7 +350,7

[FFmpeg-devel] [PATCH, v2] lavc/vaapi_encode: grow packet if vaMapBuffer returns multiple buffers

2019-05-30 Thread Linjie Fu
the total buffer size needed for the pkt, allocate the whole pkt to avoid repeated reallocation and memcpy, then copy data from each buf to pkt. Signed-off-by: Linjie Fu --- [v2]: allocate the whole pkt to avoid repeated reallocation and memcpy libavcodec/vaapi_encode.c | 18 +- 1

[FFmpeg-devel] [PATCH, v2 1/2] lavf/qsvvpp: allocate continuous memory

2019-05-29 Thread Linjie Fu
Mediasdk calls CMRT to copy from video to system memory and requires memory to be continuously allocated across Y and UV. Add a new path to allocate continuous memory when using system out. Use av_image_fill_pointers to arrange data according to pixfmt. Signed-off-by: Linjie Fu --- [v2]: use

[FFmpeg-devel] [PATCH] lavc/vaapi_encode: grow packet if vaMapBuffer returns multiple buffers

2019-05-29 Thread Linjie Fu
buffers are returned. Signed-off-by: Linjie Fu --- libavcodec/vaapi_encode.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index 2dda451..2812237 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec

[FFmpeg-devel] [PATCH] lavc/vaapi_encode: disable ICQ mode when enabling low power

2019-05-21 Thread Linjie Fu
. Signed-off-by: Linjie Fu --- See https://github.com/intel/media-driver/issues/618 for details. And patch for HEVC low power(ICL+): https://github.com/intel-media-ci/ffmpeg/pull/42 libavcodec/vaapi_encode.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec

[FFmpeg-devel] [PATCH 3/3, v5] lavc/vaapi_decode: add profile_parser to find the exact va_profile

2019-04-28 Thread Linjie Fu
Add function pointer field in vaapi_profile_map[], set profile_parser for HEVC_REXT to find the exact va_profile. Signed-off-by: Linjie Fu --- SPS range extension fields should be passed to decoder, will use VAPictureParameterBufferHEVCExtension consist of base and rext. libavcodec

[FFmpeg-devel] [PATCH 2/3] lavc/vaapi_hevc: add vaapi_parse_rext_profile to find exact va_profile

2019-04-28 Thread Linjie Fu
Add vaapi_parse_rext_profile and use profile constraint flags to determine the exact va_profile for HEVC_REXT. Add build object in Makefile for h265_profile_level dependency. Signed-off-by: Linjie Fu --- libavcodec/Makefile | 2 +- libavcodec/vaapi_hevc.c | 69

[FFmpeg-devel] [PATCH 1/2, v2] lavc/vaapi_encode_h264: add support for maxframesize

2019-04-28 Thread Linjie Fu
-g 30 -bf 3 -max_frame_size 4 \ -pass_num 2 -delta_qp 2 -vframes 100 -y ./max_frame_size.h264 Signed-off-by: Linjie Fu --- libavcodec/vaapi_encode.c | 56 +- libavcodec/vaapi_encode.h | 16 +- libavcodec/vaapi_encode_h264.c | 15

[FFmpeg-devel] [PATCH 1/3] lavc/hevc_ps: parse constraint flags for HEVC REXT

2019-04-28 Thread Linjie Fu
Parse all the constraint flags according to ITU-T Rec. H.265 (02/2018). It can be passed to hw decoders to determine the exact profile for Range Extension HEVC. Signed-off-by: Linjie Fu --- This is the same patch with previous one, send again to be wrapped in the patch set. libavcodec

[FFmpeg-devel] [PATCH 2/2] doc/encoder: add documentations for max_frame_size

2019-04-28 Thread Linjie Fu
add docs. Signed-off-by: Linjie Fu --- doc/encoders.texi | 11 +++ 1 file changed, 11 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index ef12c73ed5..e9887e13a6 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -2940,6 +2940,17 @@ Use CAVLC. @item aud

[FFmpeg-devel] [PATCH] lavc/vaapi_encode_h264: add support for maxframesize

2019-04-22 Thread Linjie Fu
-vaapi_device /dev/dri/renderD128 -f rawvideo \ -v verbose -s:v 352x288 -i ./input.yuv -vf format=nv12,hwupload \ -c:v h264_vaapi -profile:v main -g 30 -bf 3 -max_frame_size 4 \ -pass_num 2 -delta_qp 2 -vframes 100 -y ./max_frame_size.h264 Signed-off-by: Linjie Fu --- libavcodec

[FFmpeg-devel] [PATCH, v3] lavu/hwcontext_qsv: Fix the realign check for hwupload

2019-04-14 Thread Linjie Fu
Fix the aligned check in hwupload, input surface should be 16 aligned too. Fix #7830. Signed-off-by: Linjie Fu --- libavutil/hwcontext_qsv.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index b6d8bfe2bf..197dd8002a

[FFmpeg-devel] [PATCH, v2] lavc/qsvenc: Fix the memory leak for enc_ctrl.Payload

2019-04-14 Thread Linjie Fu
undant and can be removed. Can be reproduced by #7830. Signed-off-by: Linjie Fu --- libavcodec/qsvenc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index 5aa020d47b..19953bd4ea 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -1254,7 +

[FFmpeg-devel] [PATCH] lavf/qsvvpp: avoid the double-free when working in sys memory mode

2019-04-14 Thread Linjie Fu
issue. Signed-off-by: Linjie Fu --- Can be reproduced by applying the system memory patch and qsvdec+vpp: ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -c:v h264_qsv -i input.mp4 \ -vf "vpp_qsv=w=960:h=540,format=rgb32" -f null - libavfilter/qs

[FFmpeg-devel] [PATCH, v2] lavu/hwcontext_qsv: Fix the realign check for hwupload

2019-04-10 Thread Linjie Fu
Fix the aligned check in hwupload, input surface should be 16 aligned too. Fix #7830. Signed-off-by: Linjie Fu --- libavutil/hwcontext_qsv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index b6d8bfe2bf..8b000fe636

[FFmpeg-devel] [PATCH 1/2] lavc/qsvenc: Fix the memory leak for enc_ctrl.Payload

2019-04-10 Thread Linjie Fu
frame->enc_ctrl.Payload is malloced in get_free_frame, directly memset the whole structure of enc_ctrl to zero will cause the memory leak for enc_ctrl.Payload. Fix the memory leak issue and reset other members in mfxEncodeCtrl. Signed-off-by: Linjie Fu --- libavcodec/qsvenc.c | 2 +- 1 f

[FFmpeg-devel] [PATCH] lavu/hwcontext_qsv: Fix the realign check for hwupload

2019-04-10 Thread Linjie Fu
Fix the aligned check in hwupload, input surface should be 16 aligned too. Fix #7830. Signed-off-by: Linjie Fu --- libavutil/hwcontext_qsv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index b6d8bfe2bf..bc6236f25d

[FFmpeg-devel] [PATCH, v4] lavc/vaapi_decode: find exact va_profile for HEVC_REXT

2019-04-08 Thread Linjie Fu
-by: Linjie Fu --- [v2]: use constraint flags to determine the exact profile, expose the codec-specific stuff at the beginning. [v3]: move the VA version check to fix the compile issue. [v4]: fix the build issue. libavcodec/Makefile | 2 +- libavcodec/vaapi_decode.c | 73

[FFmpeg-devel] [PATCH, v3 RFC 2/2] lavc/vaapi_decode: find exact va_profile for HEVC_REXT

2019-04-04 Thread Linjie Fu
Use the profile constraint flags to determine the exact va_profile for HEVC_REXT. Directly cast PTLCommon to H265RawProfileTierLevel, and use ff_h265_get_profile to get the exact profile. Signed-off-by: Linjie Fu --- [v2]: use constraint flags to determine the exact profile, expose the codec

[FFmpeg-devel] [PATCH, RFC 2/2] lavc/vaapi_decode: find exact va_profile for HEVC_REXT

2019-04-02 Thread Linjie Fu
Use the profile constraint flags to determine the exact va_profile for HEVC_REXT. Directly cast PTLCommon to H265RawProfileTierLevel, and use ff_h265_get_profile to get the exact profile. Signed-off-by: Linjie Fu --- [v2]: use constraint flags to determine the exact profile, expose the codec

[FFmpeg-devel] [PATCH, v3 1/2] lavc/hevc_ps: parse constraint flags for HEVC REXT

2019-04-02 Thread Linjie Fu
Parse all the constraint flags according to ITU-T Rec. H.265 (02/2018). It can be passed to hw decoders to detemine the exact profile for Range Extension HEVC. Adjust the sequence of members in PTLCommon to match H265RawProfileTierLevel. Signed-off-by: Linjie Fu --- libavcodec/hevc_ps.c | 44

[FFmpeg-devel] [PATCH, v2] lavc/hevc_ps: parse constraint flags for HEVC REXT

2019-04-02 Thread Linjie Fu
Parse all the constraint flags according to ITU-T Rec. H.265 (02/2018). It can be passed to hw decoders to detemine the exact profile for Range Extension HEVC. Signed-off-by: Linjie Fu --- libavcodec/hevc_ps.c | 44 libavcodec/hevc_ps.h | 11

  1   2   >