[FFmpeg-devel] [PATCH] libavcodec/hevc_mp4toannexb_bsf: update the extradata in codec par if change detected

2021-12-03 Thread Linjie Fu
From: Linjie Fu Container may support multiple sample descriptions in a single bitstream, like multiple stsd in mov, which introduces different sequence header(e.g.profile/bit_depth) in the middle of the bitstream. Update the extradata field in context parameter once packet with different

[FFmpeg-devel] [PATCH 1/3] lavc/qsvdec: add support for gpu_copy

2019-03-25 Thread Linjie Fu
-filter_hw_device hw -c:v h264_qsv -gpu_copy on -i input.h264 -pix_fmt yuv420p out.yuv Signed-off-by: Linjie Fu Signed-off-by: ChaoX A Liu --- libavcodec/qsv.c | 27 +--- libavcodec/qsv_internal.h | 6 ++--- libavcodec/qsvdec.c | 53

[FFmpeg-devel] [PATCH, RFC 2/3] lavc/qsvdec: add support for system memory mode

2019-03-25 Thread Linjie Fu
Copy from video to system memory, so output in sysmem memory mode is needed. Signed-off-by: Linjie Fu --- Previously discussed in: https://patchwork.ffmpeg.org/patch/7009/ This mode is needed in gpu_copy, is this feature implemented in current lavc now? libavcodec/qsvdec.c | 3 ++- 1 file

[FFmpeg-devel] [PATCH 3/3] doc/examples: add QSV decode GPU copy sample

2019-03-25 Thread Linjie Fu
Usage is: ./qsvdec_gpucopy on/off input_stream output_stream For example: - enable/disable gpu copy: ./qsvdec_gpucopy on input.h264 output.yuv ./qsvdec_gpucopy off input.h264 output.yuv Generate fps per second. Signed-off-by: Linjie Fu --- configure | 2 + doc

[FFmpeg-devel] [PATCH, v2] lavc/qsvenc: expose low_power option in H264 QSV

2019-03-25 Thread Linjie Fu
Always exposes low_power option for h264 qsv, and reports a warning if VDENC is not supported with current version of MSDK. Signed-off-by: Linjie Fu --- [v2]: repalce "VDENC" with "low_power" to be more understandable. libavcodec/qsvenc.c | 11 ++- libavcode

[FFmpeg-devel] [PATCH] lavc/vaapi_decode: add va_profile format map support for HEVC_REXT

2019-03-27 Thread Linjie Fu
HEVC_REXT will be map to {VAProfileHEVCMain422_10, VAProfileHEVCMain444, VAProfileHEVCMain444_10} in vaapi_profile_map[], since need to be distinguished to select the exact va_profile. Add va_profile -> AV_PIX_FMT map for FF_PROFILE_HEVC_REXT to match the exact va_profile. Signed-off-by: Lin

[FFmpeg-devel] [PATCH] lavc/qsvenc: expose low_power as a common option for QSV encoder

2019-03-28 Thread Linjie Fu
Always exposes low_power option for all qsv encoder, and reports a warning if VDENC is not supported in current version of MSDK. Signed-off-by: Linjie Fu --- libavcodec/qsvenc.c | 11 ++- libavcodec/qsvenc.h | 1 + libavcodec/qsvenc_h264.c | 4 3 files changed, 11

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

2019-04-01 Thread Linjie Fu
Parse all the constraint flags. 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 | 18 +++--- libavcodec/hevc_ps.h | 10 ++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git

[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

[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, 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, 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] 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 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, 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] lavf/qsvvpp: avoid the double-free when working in sys memory mode

2019-04-14 Thread Linjie Fu
the memory 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 - libavf

[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] 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 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 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/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 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] 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] 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, 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, v2] lavc/vaapi_encode: grow packet if vaMapBuffer returns multiple buffers

2019-05-30 Thread Linjie Fu
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,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, 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, 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 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 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, v4 1/2] lavf/qsvvpp:allocate continuous memory

2019-06-17 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] lavf/vf_vpp_qsv: add support for QSV transpose filter

2019-06-17 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'

[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, 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, 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 a

[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 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 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 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 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 +- l

[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 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, v3] lavf/vf_vpp_qsv: add support for QSV transpose filter

2019-07-10 Thread Linjie Fu
s=64,format=qsv,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

[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, 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] fftools/ffmpeg_filter: use -reinit_filter to disable/enable auto scale

2019-07-11 Thread Linjie Fu
alize 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 si

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

2019-07-15 Thread Linjie Fu
icate 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_

[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, v3 1/2] lavc/vaapi_encode: add support for maxframesize

2019-07-15 Thread Linjie Fu
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 libav

[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 @@ will

[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] lavc/phtread_frame: update hwaccel_priv_data in time for multithread

2019-07-18 Thread Linjie Fu
time. Signed-off-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 @@ -28

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

2019-07-19 Thread Linjie Fu
icate 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_fil

[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, v3] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-19 Thread Linjie Fu
icate 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/ffm

[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, v4 1/2] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-28 Thread Linjie Fu
icate 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/ffm

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

2019-07-28 Thread Linjie Fu
-y -i ./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..e0

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

2019-07-29 Thread Linjie Fu
icate 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/ffm

[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 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 inser

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

2019-07-29 Thread Linjie Fu
x_fmt 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/libav

[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, 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, v4 1/3] fftools/ffmpeg_filter: add -autoscale to disable/enable the default scale

2019-07-30 Thread Linjie Fu
icate 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/ffm

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

2019-07-30 Thread Linjie Fu
x_fmt 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, 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] lavu/hwcontext_vaapi: cope with race map for YUV420P

2019-07-31 Thread Linjie Fu
ormat=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 10

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

2019-08-02 Thread Linjie Fu
=mode=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/l

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

2019-08-13 Thread Linjie Fu
-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 a

[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] 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 1/2] lavu/hwcontext_vaapi: cope with race map for YUV420P

2019-08-14 Thread Linjie Fu
ormat=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 ind

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

2019-08-14 Thread Linjie Fu
ff-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 @@ stati

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

2019-08-27 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] swscale: Add swscale and fate support for AYUV

2019-08-27 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] avcodec/vaapi:free slice_buffers when decoding failed

2018-09-14 Thread Linjie Fu
If vaEndPicture failed in ff_vaapi_decode_issue, free the pic->slice_buffer. Fix the memory leak issue in ticket #7385 Signed-off-by: Linjie Fu --- libavcodec/vaapi_decode.c | 5 + 1 file changed, 5 insertions(+) diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c in

[FFmpeg-devel] [PATCH V2] avcodec/vaapi:free slice_buffers when decoding failed

2018-09-18 Thread Linjie Fu
If vaEndPicture failed in ff_vaapi_decode_issue, free the pic->slice_buffer. Fix the memory leak issue in ticket #7385 [V2] unit the return paths under the "exit" tag at the end of the function. Signed-off-by: Linjie Fu --- libavcodec/vaapi_decode.c | 15 --- 1 fi

[FFmpeg-devel] [PATCH V3] avcodec/h264_mp4toannexb_bsf: extract extradata for first coming frame

2018-09-29 Thread Linjie Fu
e applying the patch. V3: modified the commit message and the code duplication. Signed-off-by: Linjie Fu --- libavcodec/h264_mp4toannexb_bsf.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264_mp4toannexb_bsf.c b/libavcodec/h264_mp4toannexb_bsf.c index

[FFmpeg-devel] [PATCH] avcodec/qsvdec:flush the buffered data before reinit

2018-09-29 Thread Linjie Fu
. Modified in qsvdec_other.c as well. Signed-off-by: Linjie Fu Signed-off-by: Zhong Li --- libavcodec/qsvdec.c | 12 libavcodec/qsvdec.h | 2 ++ libavcodec/qsvdec_h2645.c | 11 +++ libavcodec/qsvdec_other.c | 10 +++--- 4 files changed, 28 insertions(+), 7

[FFmpeg-devel] [PATCH V2] avcodec-qsvdec-flush-the-buffered-data-before-reinit

2018-10-15 Thread Linjie Fu
. Modified in qsvdec_other.c as well. [V2]: Move the definition of zero_pkt to where it is exactly used. Signed-off-by: Linjie Fu Signed-off-by: Zhong Li --- libavcodec/qsvdec.c | 12 libavcodec/qsvdec.h | 2 ++ libavcodec/qsvdec_h2645.c | 11 +++ libavcodec

[FFmpeg-devel] [PATCH] avcodec/h264_parser: Skip Redundant Slice Info Attached Behind Frames.

2018-10-24 Thread Linjie Fu
segment.ts and the segment format failure issue for http live stream in ticket #7207. Signed-off-by: Linjie Fu --- libavcodec/h264_parser.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index 5f9a9c46ef..bcc97d6260 100644

[FFmpeg-devel] [PATCH] add an option to forbid the fallback to sw when hardware init fails

2018-10-30 Thread Linjie Fu
forbid the fallback to software. Signed-off-by: Linjie Fu --- libavcodec/avcodec.h | 8 libavcodec/decode.c| 11 +-- libavcodec/options_table.h | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index

[FFmpeg-devel] [PATCH] avcodec/qsvenc: add VDENC support for H264 and HEVC

2018-10-31 Thread Linjie Fu
2 for >=4.16) - HEVC VDENC was supported >= ICE LAKE use option "-low_power 1" to enable VDENC. Signed-off-by: Linjie Fu --- libavcodec/qsvenc.c | 3 +++ libavcodec/qsvenc.h | 2 ++ libavcodec/qsvenc_h264.c | 3 +++ libavcodec/qsvenc_hevc.c | 3 +++ 4 files changed, 11 inse

[FFmpeg-devel] [PATCH] [V2] avcodec/qsvenc: add VDENC support for H264 and HEVC

2018-11-04 Thread Linjie Fu
upported >= ICE LAKE use option "-low_power 1" to enable VDENC. [V2]: modified the commit message and option comments, use AV_OPT_TYPE_BOOL to replace AV_OPT_TYPE_INT. Signed-off-by: Linjie Fu --- libavcodec/qsvenc.c | 3 +++ libavcodec/qsvenc.h | 2 ++ libavcodec/qsvenc_h264.

[FFmpeg-devel] [PATCH] avfilter/vf_overlay_qsv: initialize default pix_fmt

2018-11-05 Thread Linjie Fu
add default initiaization for pix_fmt in function have_alpha_panar to avoid using uninitialized value. Signed-off-by: Linjie Fu --- libavfilter/vf_overlay_qsv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_overlay_qsv.c b/libavfilter/vf_overlay_qsv.c

[FFmpeg-devel] [PATCH] avcodec/vaapi_encode: modify the initialization postion of profile_string

2018-11-05 Thread Linjie Fu
Currently, profile_string was initialized in the "for" loop. If it didn't enter this loop or accidently break, profile_string may be uninitialized. Modify to initialize the profile_string after the loop to avoid using the uninitialized value when calling av_log. Signed-of

[FFmpeg-devel] [PATCH] avcodec/qsvenc: add default initiaize for pict_type

2018-11-05 Thread Linjie Fu
add default initiaize for pict_type in function ff_qsv_encode to avoid using uninitialized value: FF_DISABLE_DEPRECATION_WARNINGS avctx->coded_frame->pict_type = pict_type; FF_ENABLE_DEPRECATION_WARNINGS Signed-off-by: Linjie Fu --- libavcodec/qsvenc.c | 2 ++ 1 file chan

[FFmpeg-devel] [PATCH v2] fftools/ffmpeg: add an option to forbid the fallback to software path when hardware init fails

2018-11-08 Thread Linjie Fu
hardware init fails, returns an error. Signed-off-by: Linjie Fu --- [v2] detect hardware init failures in get_buffer and modify in user-code fftools/ffmpeg.c | 2 ++ fftools/ffmpeg.h | 1 + fftools/ffmpeg_opt.c | 3 +++ 3 files changed, 6 insertions(+) diff --git a/fftools/ffmpeg.c b/fft

[FFmpeg-devel] [PATCH v3] fftools/ffmpeg: add an option to forbid the fallback to software path when hardware init fails

2018-11-09 Thread Linjie Fu
hardware init fails, returns an error. Signed-off-by: Linjie Fu --- [v2] detect hardware init failures in get_buffer and modify in user-code [v3] changed the option name, add error message fftools/ffmpeg.c | 4 fftools/ffmpeg.h | 3 +++ fftools/ffmpeg_opt.c | 4 3 files changed,

[FFmpeg-devel] [PATCH,v3] lavc/qsvenc: add VDENC support for H264

2018-11-26 Thread Linjie Fu
1" to enable VDENC. Signed-off-by: Linjie Fu --- [v2]: modified the commit message and option comments, use AV_OPT_TYPE_BOOL to replace AV_OPT_TYPE_INT. [v3]: enable H264 VDENC separately. libavcodec/qsvenc.c | 3 +++ libavcodec/qsvenc.h | 2 ++ libavcodec/qsvenc_h264.c | 3 +++

[FFmpeg-devel] [PATCH] lavc/hevc_parser: add 4 bytes startcode condition in hevc_find_frame_end

2018-11-27 Thread Linjie Fu
in hevc_find_frame_end. Modify the code to print the buf_size like in H264 and reduce the duplication. Signed-off-by: Linjie Fu --- libavcodec/hevc_parser.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libavcodec/hevc_parser.c b/libavcodec/hevc_parser.c index 369d133

[FFmpeg-devel] [PATCH, v2] lavc/qsvenc: assert uninitialized pict_type

2018-11-27 Thread Linjie Fu
Assert in function ff_qsv_encode to avoid using uninitialized value: FF_DISABLE_DEPRECATION_WARNINGS avctx->coded_frame->pict_type = pict_type; FF_ENABLE_DEPRECATION_WARNINGS Signed-off-by: Linjie Fu --- [v2] assert instead of setting the pict_type to AV_PICTURE_TYPE_NONE; liba

[FFmpeg-devel] [PATCH,v4] lavc/qsvenc: add VDENC support for H264

2018-11-27 Thread Linjie Fu
1" to enable VDENC. Add in dump_video_param() to show the status of VDENC in runtime log. Signed-off-by: Linjie Fu --- [v2]: modified the commit message and option comments, use AV_OPT_TYPE_BOOL to replace AV_OPT_TYPE_INT. [v3]: enable H264 VDENC separately. [v4]: Add in dump_video_param to

[FFmpeg-devel] [PATCH,v5] lavc/qsvenc: add VDENC support for H264

2018-11-28 Thread Linjie Fu
1" to enable VDENC. Add in dump_video_param() to show the status of VDENC in runtime log. Signed-off-by: Linjie Fu --- [v2]: Modify the commit message and option comments, use AV_OPT_TYPE_BOOL to replace AV_OPT_TYPE_INT. [v3]: Enable H264 VDENC separately. [v4]: Add in dump_video_param to show t

[FFmpeg-devel] [PATCH] lavc/opusenc: add frame_alloc and frame_count check to quit encode

2018-11-29 Thread Linjie Fu
Add frame_alloc and frame_count check in opus_encode_frame to avoid the infinite loop issue. Fix #7578. Signed-off-by: Linjie Fu --- libavcodec/opusenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/opusenc.c b/libavcodec/opusenc.c index 578785f4b4..7146968fc8

  1   2   3   4   5   >