[FFmpeg-devel] [PATCH V7 0/3] enable multi-slices in vaapi_h264/265 encoder
mypopy at gmail.com
mypopy at gmail.com
Wed Sep 19 04:33:00 EEST 2018
On Wed, Sep 19, 2018 at 6:39 AM Mark Thompson <sw at jkqxz.net> wrote:
> On 29/08/18 11:38, Jun Zhao wrote:
> > V7: - Fix h264 first_mb_in_slice setting issue. (root cause by Mark)
> > - Refine the error handle
> > V6: - Use rectangular slices and refine the code.
> > V5: - In h265_vaapi encoder, when setting slice number > max slice number
> > supported by driver, report error and return. Same as h264_vaapi.
> > - Clean the logic when setting first_slice_segment_in_pic_flags.
> > V4: - Change the array malloc function.
> > - Clean the pointless condition check when free the memory.
> > V3: - Making pic->slices be VAAPIEncodeSlice* instead of VAAPIEncodeSlice**.
> > - Fix resource (vaBuffer) lead when realloc pic->param_buffers fail.
> > - Adjust max_slices location in VAAPIEncodeContext.
> > - Re-work distributing the macro-blocks for multi-slices function.
> > V2: - Change the slice/parameter buffers to dynamic alloc and split the mutil-slice support for AVC/HEVC.
> > Jun Zhao (3):
> > lavc/vaapi_encode: Add max slices number query.
> > lavc/vaapi_encode_h264: respect "slices" option in h264 vaapi encoder
> > lavc/vaapi_encode_h265: respect "slices" option in h265 vaapi encoder
> > libavcodec/vaapi_encode.c | 4 +++
> > libavcodec/vaapi_encode.h | 4 +++
> > libavcodec/vaapi_encode_h264.c | 39 +++++++++++++++++++++++++++++++++----
> > libavcodec/vaapi_encode_h265.c | 41 ++++++++++++++++++++++++++++++++++-----
> > 4 files changed, 77 insertions(+), 11 deletions(-)
> I've made a completely different patch which achieves the same result in I think a better way - see <https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2018-September/234356.html>, along with the following two which trivially enable it for H.264 and H.265.
> Can you check that I've correctly characterised the Intel bug you mentioned earlier which I reference in comments when handling the rounding error? The workaround is trivial, but if the bug isn't exactly that then of course it won't do anything useful.
> - Mark
Got it, I will verify the bit patch-set, Thanks, and I think now
VA-API encoder can support multiple-frame reference too.
More information about the ffmpeg-devel