Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

YUV444 60fps hevc encode on Intel Alder Lake N (ADL-N). #778

Open
akhilxavi opened this issue Dec 8, 2023 · 1 comment
Open

YUV444 60fps hevc encode on Intel Alder Lake N (ADL-N). #778

akhilxavi opened this issue Dec 8, 2023 · 1 comment

Comments

@akhilxavi
Copy link

akhilxavi commented Dec 8, 2023

I am validating YUV444 8-bit 60 fps hevc encoding support on Intel x7000E based ADL-N, dev boards. I am using ubuntu 22.04 running a 5.15.0-1026-intel-iotg kernel and latest Vaapi drivers, but the yuv444 encode seems to be failing. Attaching the vainfo and ffmpeg output.

akhil-ipv@akhil-ipv:/iPV/test-videos$ uname -r
5.15.0-1026-intel-iotg
akhil-ipv@akhil-ipv:
/iPV/test-videos$

akhil-ipv@akhil-ipv:/iPV/test-videos$
akhil-ipv@akhil-ipv:
/iPV/test-videos$ vainfo
Trying display: drm
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.21 (libva 2.21.0.pre1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.4.3 (e5e12e0de)
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSliceLP
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSliceLP
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSliceLP
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSliceLP
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain12 : VAEntrypointEncSlice
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSlice
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain422_12 : VAEntrypointEncSlice
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
akhil-ipv@akhil-ipv:~/iPV/test-videos$

We are using the ffmpeg with intel specific patches applied with vaapi enabled. The error logs are as below.

akhil-ipv@akhil-ipv:/iPV/test-videos$ sudo ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel_output_format vaapi -f rawvideo -pix_fmt nv24 -s:v 3840x2160 -r 60 -stream_loop -1 -i Samsung-cut-yuv444p60.yuv -vf 'format=nv24|vaapi,hwupload,setsar=0:1,setdar=16:9' -c:v hevc_vaapi -rc_mode CQP -threads 8 -q 5 -qp 40 -idr_interval 300 -compression_level 25 -level:v 4 -g 120 -tier main -low_power true -bf 0 -b:v 50M -v debug -f null -
ffmpeg version N-112968-ge48b8a4c53 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1
22.04)
configuration: --enable-vaapi
libavutil 58. 32.100 / 58. 32.100
libavcodec 60. 35.100 / 60. 35.100
libavformat 60. 18.100 / 60. 18.100
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 14.100 / 9. 14.100
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
Splitting the commandline.
Reading option '-vaapi_device' ... matched as option 'vaapi_device' (set VAAPI hardware device (DirectX adapter index, DRM path or X11 display name)) with argument '/dev/dri/renderD128'.
Reading option '-hwaccel_output_format' ... matched as option 'hwaccel_output_format' (select output format used with HW accelerated decoding) with argument 'vaapi'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'rawvideo'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'nv24'.
Reading option '-s:v' ... matched as option 's' (set frame size (WxH or abbreviation)) with argument '3840x2160'.
Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '60'.
Reading option '-stream_loop' ... matched as option 'stream_loop' (set number of times input stream shall be looped) with argument '-1'.
Reading option '-i' ... matched as output url with argument 'Samsung-cut-yuv444p60.yuv'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'format=nv24|vaapi,hwupload,setsar=0:1,setdar=16:9'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'hevc_vaapi'.
Reading option '-rc_mode' ... matched as AVOption 'rc_mode' with argument 'CQP'.
Reading option '-threads' ... matched as AVOption 'threads' with argument '8'.
Reading option '-q' ... matched as option 'q' (use fixed quality scale (VBR)) with argument '5'.
Reading option '-qp' ... matched as AVOption 'qp' with argument '40'.
Reading option '-idr_interval' ... matched as AVOption 'idr_interval' with argument '300'.
Reading option '-compression_level' ... matched as AVOption 'compression_level' with argument '25'.
Reading option '-level:v' ... matched as AVOption 'level:v' with argument '4'.
Reading option '-g' ... matched as AVOption 'g' with argument '120'.
Reading option '-tier' ... matched as AVOption 'tier' with argument 'main'.
Reading option '-low_power' ... matched as AVOption 'low_power' with argument 'true'.
Reading option '-bf' ... matched as AVOption 'bf' with argument '0'.
Reading option '-b:v' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '50M'.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'null'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option vaapi_device (set VAAPI hardware device (DirectX adapter index, DRM path or X11 display name)) with argument /dev/dri/renderD128.
[AVHWDeviceContext @ 0x55cd14e20dc0] libva: VA-API version 1.21.0
[AVHWDeviceContext @ 0x55cd14e20dc0] libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x55cd14e20dc0] libva: Found init function __vaDriverInit_1_21
[AVHWDeviceContext @ 0x55cd14e20dc0] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x55cd14e20dc0] Initialised VAAPI connection: version 1.21
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x41524742 -> bgra.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x42475241 -> argb.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x41424752 -> rgba.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x52474241 -> abgr.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x58524742 -> bgr0.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x42475258 -> 0rgb.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x58424752 -> rgb0.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x52474258 -> 0bgr.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30335241 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30334241 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30335258 -> x2rgb10le.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30334258 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x36314752 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x56555941 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x56555958 -> vuyx.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30303859 -> gray.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x3231564e -> nv12.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x3132564e -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x32595559 -> yuyv422.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x59565955 -> uyvy422.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x32315659 -> yuv420p.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30323449 -> yuv420p.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x50313134 -> yuv411p.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x48323234 -> yuv422p.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x56323234 -> yuv440p.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x50343434 -> yuv444p.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x33434d49 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30313050 -> p010le.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x32313050 -> p012le.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x36313050 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30313259 -> y210le.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x32313259 -> y212le.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x36313259 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x30313459 -> xv30le.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x32313459 -> xv36le.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x36313459 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x50424752 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] Format 0x50524742 -> unknown.
[AVHWDeviceContext @ 0x55cd14e20dc0] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 23.4.3 (e5e12e0de).
[AVHWDeviceContext @ 0x55cd14e20dc0] Driver not found in known nonstandard list, using standard behaviour.
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url Samsung-cut-yuv444p60.yuv.
Applying option hwaccel_output_format (select output format used with HW accelerated decoding) with argument vaapi.
Applying option f (force format) with argument rawvideo.
Applying option pix_fmt (set pixel format) with argument nv24.
Applying option s:v (set frame size (WxH or abbreviation)) with argument 3840x2160.
Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 60.
Applying option stream_loop (set number of times input stream shall be looped) with argument -1.
Successfully parsed a group of options.
Opening an input file: Samsung-cut-yuv444p60.yuv.
[rawvideo @ 0x55cd14e66a40] Opening 'Samsung-cut-yuv444p60.yuv' for reading
[file @ 0x55cd14e63980] Setting default whitelist 'file,crypto,data'
[rawvideo @ 0x55cd14e66a40] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1
[rawvideo @ 0x55cd14e66a40] All info found
[rawvideo @ 0x55cd14e66a40] Estimating duration from bitrate, this may be inaccurate
[rawvideo @ 0x55cd14e66a40] After avformat_find_stream_info() pos: 24883200 bytes read:24883200 seeks:0 frames:1
Input #0, rawvideo, from 'Samsung-cut-yuv444p60.yuv':
Duration: 00:00:00.58, start: 0.000000, bitrate: 11943942 kb/s
Stream #0:0, 1, 1/60: Video: rawvideo, 1 reference frame, nv24, 3840x2160, 0/1, 11943936 kb/s, 60 tbr, 60 tbn
Successfully opened the file.
Parsing a group of options: output url -.
Applying option vf (set video filters) with argument format=nv24|vaapi,hwupload,setsar=0:1,setdar=16:9.
Applying option c:v (codec name) with argument hevc_vaapi.
Applying option q (use fixed quality scale (VBR)) with argument 5.
Applying option b:v (video bitrate (please use -b:v)) with argument 50M.
Applying option f (force format) with argument null.
Successfully parsed a group of options.
Opening an output file: -.
[out#0/null @ 0x55cd14f0e840] No explicit maps, mapping streams automatically...
[vost#0:0/hevc_vaapi @ 0x55cd14f10400] Created video stream from input stream 0:0
[AVFilterGraph @ 0x55cd14f12700] Setting 'pix_fmts' to value 'nv24|vaapi'
[AVFilterGraph @ 0x55cd14f12700] Setting 'sar' to value '0'
[AVFilterGraph @ 0x55cd14f12700] Setting 'max' to value '1'
[AVFilterGraph @ 0x55cd14f12700] Setting 'dar' to value '16'
[AVFilterGraph @ 0x55cd14f12700] Setting 'max' to value '9'
Successfully opened the file.
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (hevc_vaapi))
Press [q] to stop, [?] for help
[rawvideo @ 0x55cd14f0f180] PACKET SIZE: 24883200, STRIDE: 11520
[AVFilterGraph @ 0x55cd14f17f80] Setting 'pix_fmts' to value 'nv24|vaapi'
[AVFilterGraph @ 0x55cd14f17f80] Setting 'sar' to value '0'
[AVFilterGraph @ 0x55cd14f17f80] Setting 'max' to value '1'
[AVFilterGraph @ 0x55cd14f17f80] Setting 'dar' to value '16'
[AVFilterGraph @ 0x55cd14f17f80] Setting 'max' to value '9'
[graph 0 input from stream 0:0 @ 0x55cd14f1be00] Setting 'video_size' to value '3840x2160'
[graph 0 input from stream 0:0 @ 0x55cd14f1be00] Setting 'pix_fmt' to value '189'
[graph 0 input from stream 0:0 @ 0x55cd14f1be00] Setting 'time_base' to value '1/60'
[graph 0 input from stream 0:0 @ 0x55cd14f1be00] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x55cd14f1be00] Setting 'frame_rate' to value '60/1'
[graph 0 input from stream 0:0 @ 0x55cd14f1be00] w:3840 h:2160 pixfmt:nv24 tb:1/60 fr:60/1 sar:0/1
[format @ 0x55cd14f1ce40] Setting 'pix_fmts' to value 'vaapi'
[auto_scale_0 @ 0x55cd14f1b580] w:iw h:ih flags:'' interl:0
[Parsed_hwupload_1 @ 0x55cd14f1a200] auto-inserting filter 'auto_scale_0' between the filter 'Parsed_format_0' and the filter 'Parsed_hwupload_1'
[AVFilterGraph @ 0x55cd14f17f80] query_formats: 7 queried, 5 merged, 1 already done, 0 delayed
[auto_scale_0 @ 0x55cd14f1b580] picking yuv444p out of 25 ref:nv24 alpha:0
[auto_scale_0 @ 0x55cd14f1b580] w:3840 h:2160 fmt:nv24 sar:0/1 -> w:3840 h:2160 fmt:yuv444p sar:0/1 flags:0x00000004
[hwupload @ 0x55cd14f1a340] Surface format is yuv444p.
[AVHWFramesContext @ 0x55cd1522c600] Created surface 0.
[AVHWFramesContext @ 0x55cd1522c600] Direct mapping possible.
[Parsed_setsar_2 @ 0x55cd14f1a700] w:3840 h:2160 sar:0/1 dar:16/9 -> sar:0/1 dar:16/9
[Parsed_setdar_3 @ 0x55cd14f1abc0] w:3840 h:2160 dar:16/9 sar:0/1 -> dar:9/1 sar:81/16
[AVHWFramesContext @ 0x55cd1522c600] Map surface 0.
[AVHWFramesContext @ 0x55cd1522c600] Unmap surface 0.
[hevc_vaapi @ 0x55cd14f10800] Using input frames context (format vaapi) with hevc_vaapi encoder.
[hevc_vaapi @ 0x55cd14f10800] Input surface format is yuv444p.
[hevc_vaapi @ 0x55cd14f10800] Using VAAPI profile VAProfileHEVCMain444 (26).
[hevc_vaapi @ 0x55cd14f10800] Using VAAPI entrypoint VAEntrypointEncSliceLP (8).
[hevc_vaapi @ 0x55cd14f10800] Using VAAPI render target format YUV444 (0x4).
[hevc_vaapi @ 0x55cd14f10800] Using CTU size 64x64, min CB size 8x8.
[hevc_vaapi @ 0x55cd14f10800] Driver supports RC modes CQP, CBR, VBR, QVBR.
[hevc_vaapi @ 0x55cd14f10800] RC mode: CQP.
[hevc_vaapi @ 0x55cd14f10800] RC quality: 40.
[hevc_vaapi @ 0x55cd14f10800] RC framerate: 60/1 (60.00 fps).
[hevc_vaapi @ 0x55cd14f10800] Driver does not support P-frames, replacing them with B-frames.
[hevc_vaapi @ 0x55cd14f10800] Using intra and B-frames (supported references: 3 / 3).
[hevc_vaapi @ 0x55cd14f10800] All wanted packed headers available (wanted 0xd, found 0x1f).
[hevc_vaapi @ 0x55cd14f10800] Invalid quality level: valid range is 0-7, using 7.
[hevc_vaapi @ 0x55cd14f10800] Using vuyx as format of reconstructed frames.
[AVHWFramesContext @ 0x55cd14f10d80] Created surface 0x1.
[AVHWFramesContext @ 0x55cd14f10d80] Direct mapping possible.
[hevc_vaapi @ 0x55cd14f10800] Using fixed QP = 40 / 40 / 48 for IDR- / P- / B-frames.
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf60.18.100
Stream #0:0, 0, 1/60: Video: hevc (Rext), 1 reference frame, vaapi(tv, progressive), 3840x2160 (0x0) [SAR 81:16 DAR 9:1], 0/1, q=2-31, 50000 kb/s, 60 fps, 60 tbn
Metadata:
encoder : Lavc60.35.100 hevc_vaapi
[hevc_vaapi @ 0x55cd14f10800] Input frame: 3840x2160 (0).
[hevc_vaapi @ 0x55cd14f10800] Pick forced IDR-picture to encode next.
[hevc_vaapi @ 0x55cd14f10800] Issuing encode for pic 0/0 as type IDR.
[hevc_vaapi @ 0x55cd14f10800] No reference pictures.
[hevc_vaapi @ 0x55cd14f10800] Input surface is 0.
[hevc_vaapi @ 0x55cd14f10800] Recon surface is 0x1.
[hevc_vaapi @ 0x55cd14f10800] Allocated output buffer 0
[hevc_vaapi @ 0x55cd14f10800] Output buffer is 0.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (22) is 0x1.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (27) is 0x2.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (27) is 0x3.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (23) is 0x4.
[hevc_vaapi @ 0x55cd14f10800] Packed header buffer (1) is 0x5/0x6 (816 bits).
[hevc_vaapi @ 0x55cd14f10800] Slice 0: 0-33 (34 rows), 0-2039 (2040 blocks).
[hevc_vaapi @ 0x55cd14f10800] Packed header buffer (3) is 0x7/0x8 (64 bits).
[hevc_vaapi @ 0x55cd14f10800] Param buffer (24) is 0x9.
[hevc_vaapi @ 0x55cd14f10800] Failed to end picture encode issue: 24 (internal encoding error).
[hevc_vaapi @ 0x55cd14f10800] Encode failed: -5.
[vost#0:0/hevc_vaapi @ 0x55cd14f10400] Error submitting video frame to the encoder
Error while filtering: Input/output error
[vist#0:0/rawvideo @ 0x55cd14f0f040] Decoder thread received EOF packet
[vist#0:0/rawvideo @ 0x55cd14f0f040] Decoder returned EOF, finishing
[vist#0:0/rawvideo @ 0x55cd14f0f040] Terminating decoder thread
[hevc_vaapi @ 0x55cd14f10800] Pick forced IDR-picture to encode next.
[hevc_vaapi @ 0x55cd14f10800] Issuing encode for pic 0/0 as type IDR.
[hevc_vaapi @ 0x55cd14f10800] No reference pictures.
[hevc_vaapi @ 0x55cd14f10800] Input surface is 0.
[hevc_vaapi @ 0x55cd14f10800] Recon surface is 0x1.
[hevc_vaapi @ 0x55cd14f10800] Output buffer is 0.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (22) is 0x9.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (27) is 0x8.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (27) is 0x7.
[hevc_vaapi @ 0x55cd14f10800] Param buffer (23) is 0x6.
[hevc_vaapi @ 0x55cd14f10800] Packed header buffer (1) is 0x5/0x4 (816 bits).
[hevc_vaapi @ 0x55cd14f10800] Slice 0: 0-33 (34 rows), 0-2039 (2040 blocks).
[hevc_vaapi @ 0x55cd14f10800] Packed header buffer (3) is 0x3/0x2 (64 bits).
[hevc_vaapi @ 0x55cd14f10800] Param buffer (24) is 0x1.
[hevc_vaapi @ 0x55cd14f10800] Failed to end picture encode issue: 24 (internal encoding error).
[hevc_vaapi @ 0x55cd14f10800] Encode failed: -5.
[vost#0:0/hevc_vaapi @ 0x55cd14f10400] Error submitting video frame to the encoder
[out#0/null @ 0x55cd14f0e840] All streams finished
[out#0/null @ 0x55cd14f0e840] Terminating muxer thread
[out#0/null @ 0x55cd14f0e840] Output file #0 (pipe:):
[out#0/null @ 0x55cd14f0e840] Output stream #0:0 (video): 1 frames encoded; 0 packets muxed (0 bytes);
[out#0/null @ 0x55cd14f0e840] Total: 0 packets (0 bytes) muxed
[out#0/null @ 0x55cd14f0e840] video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[out#0/null @ 0x55cd14f0e840] Output file is empty, nothing was encoded(check -ss / -t / -frames parameters if used)
frame= 0 fps=0.0 q=0.0 Lsize=N/A time=N/A bitrate=N/A speed=N/A
[hevc_vaapi @ 0x55cd14f10800] Freed output buffer 0
[in#0/rawvideo @ 0x55cd14e66840] Terminating demuxer thread
[in#0/rawvideo @ 0x55cd14e66840] Input file #0 (Samsung-cut-yuv444p60.yuv):
[in#0/rawvideo @ 0x55cd14e66840] Input stream #0:0 (video): 3 packets read (74649600 bytes); 1 frames decoded; 0 decode errors;
[in#0/rawvideo @ 0x55cd14e66840] Total: 3 packets (74649600 bytes) demuxed
[AVIOContext @ 0x55cd14e63ec0] Statistics: 74649600 bytes read, 0 seeks
Conversion failed!
akhil-ipv@akhil-ipv:~/iPV/test-videos$

Graphics Hw Info:
00:02.0 VGA compatible controller: Intel Corporation Device 46d1 (prog-if 00 [VGA controller])
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0, IRQ 139
Memory at 6001000000 (64-bit, non-prefetchable) [size=16M]
Memory at 4000000000 (64-bit, prefetchable) [size=256M]
I/O ports at 3000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Capabilities: [320] Single Root I/O Virtualization (SR-IOV)
Kernel driver in use: i915
Kernel modules: i915

Firmware load information:

[ 2.766295] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc_ver2_12.bin (v2.12)
[ 2.847304] i915 0000:00:02.0: [drm] GuC firmware i915/adlp_guc_62.0.3.bin version 62.0 submission:enabled
[ 2.847311] i915 0000:00:02.0: [drm] GuC SLPC: enabled
[ 2.847312] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.9.3.bin version 7.9 authenticated:yes
[ 2.848151] i915 0000:00:02.0: [drm] GuC RC: enabled
[ 3.045788] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[ 3.096618] fbcon: i915drmfb (fb0) is primary device

other than 5.15.0-1026-intel-iotg I tried it on Ubuntu 22.04 6.2 kernel aswell with latest media drivers. The result same.

Can anyone help on understanding what is going wrong here?

@akhilxavi akhilxavi changed the title YUV444 60fps encode on Intel Alder Lake N (ADL-N). YUV444 60fps hevc encode on Intel Alder Lake N (ADL-N). Dec 8, 2023
@XinfengZhang
Copy link
Contributor

TBH, it is not a vaapi issue, it should related with ffmpeg vaapi or https://github.com/intel/media-driver
suggest move this issue to media-driver repo and get the driver log to be help further analysis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants