intel / libva

Libva is an implementation for VA-API (Video Acceleration API)
http://intel.github.io/libva/
Other
650 stars 299 forks source link

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

Open akhilxavi opened 9 months ago

akhilxavi commented 9 months ago

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?

XinfengZhang commented 5 months ago

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.