Fix the live stream encoding problem using qsv when the first frame
is not an IDR frame.
Add the extradata information when the IDR frame is missing in the
first GOP.
Fix the bug reported in ticket #6418.
[PATCH V2] Fix the coding style.
Signed-off-by: Linjie Fu
---
libavcodec
Fix the live stream encoding problem using qsv when the first frame
is not an IDR frame.
Add the extradata information when the IDR frame is missing in the
first GOP.
Fixes the bug reported in ticket #6418.
Signed-off-by: Linjie Fu
---
libavcodec/h264_mp4toannexb_bsf.c | 13 -
1
.
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
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 insertion
and 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
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-off-by:
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
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,
ted >= 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.c | 3
.
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
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
in driver.
Fix the quality issue in #7650.
Signed-off-by: Linjie Fu
---
libavcodec/vaapi_encode.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
index eda8a36299..c932d9d7fb 100644
--- a/libavcodec/vaapi_encode.c
Add support for VBR/CBR mode in mpeg2_vaapi encode.
Fix #7650.
Signed-off-by: Linjie Fu
---
libavcodec/vaapi_encode_mpeg2.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/libavcodec/vaapi_encode_mpeg2.c b/libavcodec/vaapi_encode_mpeg2.c
index 22d7e306bb..a625b15461 100644
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
ot; 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 the st
3f 0f 67 4a 91 9c a1
12 72 67 d6 f0 8f 66 ee 95 f9 e2 b9 ba 23 9a e8 80 00 }
To verify the output of FATE:
ffmpeg -i hevc-conformance/WPP_A_ericsson_MAIN10_2.bit -c copy -flags \
+bitexact hevc-mp4.mov
ffmpeg -i hevc-mp4.mov -c:v copy -fflags +bitexact -f hevc hevc.out
Signed-off-by: Lin
#7593.
Signed-off-by: Linjie Fu
---
[v2]: Add default bs->FrameType check.
[v3]: Add log message.
libavcodec/qsvenc.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 7f4592f878..96ffe8a639 100644
--- a/libavcodec/qsven
#7593.
Signed-off-by: Linjie Fu
---
[v2]: Add default bs->FrameType check.
libavcodec/qsvenc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 7f4592f878..917344b60c 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@
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
ot; 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 sh
ot; 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 +++
3 fil
ion 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
ATE:
ffmpeg -i hevc-conformance/WPP_A_ericsson_MAIN10_2.bit -c copy -flags \
+bitexact hevc-mp4.mov
ffmpeg -i hevc-mp4.mov -c:v copy -fflags +bitexact -f hevc hevc.out
Signed-off-by: Linjie Fu
---
[v2]: Update FATE checksum.
[v3]: Cope with more leading_zero_8bits cases.
[v4]: f
Report the detailed log with buf_size in parse_nal_units to provide
more information when picture could not be found.
Match the behaviour in h264_parser.
Signed-off-by: Linjie Fu
---
libavcodec/hevc_parser.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec
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
---
libavcodec/vaapi_encod
:
Media SDK >= 1.26
Signed-off-by: Linjie Fu
---
libavfilter/vf_vpp_qsv.c | 22 +-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c
index 41a9f38962..f89844 100644
--- a/libavfilter/vf_vpp_qsv.c
++
-by: Linjie Fu
---
libavfilter/qsvvpp.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c
index 06efdf5089..1a10d16788 100644
--- a/libavfilter/qsvvpp.c
+++ b/libavfilter/qsvvpp.c
@@ -714,8 +714,10 @@ int ff_qsvvpp_filter_frame
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
evc hevc.out
Signed-off-by: Linjie Fu
---
[v2]: Update FATE checksum.
[v3]: Cope with more leading_zero_8bits cases.
libavcodec/hevc_parser.c | 14 +-
tests/fate/hevc.mak | 2 +-
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/libavcodec/hevc_parser.c b/libavco
#7593.
Signed-off-by: Linjie Fu
---
[v2]: Add default bs->FrameType check.
[v3]: Add log message.
[v4]: Fix the indentation.
libavcodec/qsvenc.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 7f4592f878..78779569
pict_type may be uninitialized, and assert on a value coming from an external
library is not proper.
Return invalid data error in function ff_qsv_encode to avoid using uninitialized
value.
Signed-off-by: Linjie Fu
---
libavcodec/qsvenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion
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
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
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
-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
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
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
---
libavcodec/qsvenc.c | 11 ++-
libavcodec/qsvenc_h264.c | 2 --
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git
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
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
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
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
v -i input.h264
-vf 'format=qsv,vpp_qsv=transpose=clock' -c:v h264_qsv output.h264
ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -c:v h264_qsv -i input.h264
-vf 'hwupload=extra_hw_frames=64,format=qsv,vpp_qsv=transpose=cclock_hflip'
-f rawvideo -pix_fmt nv1
Set specific field for repeat in PicStruct if the frame has repeat
flag.
Match the CheckInputPicStruct in MSDK.
Fix #7701.
Signed-off-by: Linjie Fu
---
libavfilter/vf_deinterlace_qsv.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavfilter/vf_deinterlace_qsv.c b
-hwaccel qsv -v verbose -c:v h264_qsv -i input.h264
-vf 'format=qsv,vpp_qsv=mirror=1' -c:v h264_qsv output.h264
ffmpeg -hwaccel qsv -v verbose -c:v h264_qsv -i input.h264
-vf 'format=qsv,vpp_qsv=rotation=2,vpp_qsv=mirror=1' -c:v h264_qsv
output.h264
Signed-off-by: Linjie Fu
---
libavfilter
223 in MediaSDK]
Signed-off-by: Linjie Fu
---
libavfilter/qsvvpp.c | 34 +-
1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c
index 06efdf5089..0edd10044a 100644
--- a/libavfilter/qsvvpp.c
+++ b/libavfilter/qsvvp
change.
Signed-off-by: Linjie Fu
---
libavcodec/qsvdec.c | 8 +---
libavcodec/qsvdec.h | 2 ++
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index 4a0be811fb..b29f869366 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -523,9
to
match the CheckInputPicStruct in MSDK.
Fix #7701.
Signed-off-by: Linjie Fu
---
Is it acceptable to add the TFF or BFF to PicStruct according to the
attribute of the input frames, even if it's not interlaced?
Or it should be fixed in MSDK level to support more PicStruct?
libavfilter
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
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
-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
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
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 +
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
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
.
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
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
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
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'
-f rawvideo -pix_fmt
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
.
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
-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
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
-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
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
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
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
-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
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
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
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
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
). 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
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
-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 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
), 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
-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
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
-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
=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
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
-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
1 - 100 of 460 matches
Mail list logo