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
-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
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
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
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
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
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
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
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
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
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
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
-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
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
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
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
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
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
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 +
-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
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
-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
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
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
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
.
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
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
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
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
.
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
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
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
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_
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
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
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'
-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
-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
), 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
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
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
-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
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
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
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
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
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
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
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
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
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_
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
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
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
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
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
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
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
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
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
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
-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
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
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
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
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
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
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
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
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
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
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
=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
-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
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
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
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
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
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
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
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
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
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
.
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
.
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
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
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
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
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.
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
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
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
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
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,
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 +++
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
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
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
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
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 - 100 of 460 matches
Mail list logo