iter1 Phase 3: baseline measurements — Phase 2 confirmed empirically

Four Phase 3 baselines captured on fresnel post-reboot 2026-05-08
00:39 CEST. SDDM watchpoint condition stayed green (greeter passed
cleanly on the new boot). All four baselines confirm Phase 2's
situation analysis empirically; one Phase 1 criterion needs minor
adjustment (Phase 3 → Phase 1 loopback per feedback_dev_process.md).

Baseline A — pre-patch failure mode (master tip 65969da):

  ffmpeg -hwaccel vaapi -i bbb_720p10s_mpeg2.ts ... under strace +
  LIBVA_TRACE captures the chain:

  vaInitialize ret = SUCCESS
  vaQueryConfigProfiles ret = SUCCESS
  vaCreateConfig(profile=VAProfileMPEG2Main, entrypoint=VLD)
    ret = VA_STATUS_ERROR_UNSUPPORTED_PROFILE

  No V4L2 ioctls beyond ENUM_FMT probes from RequestQueryConfigProfiles.
  Confirms Phase 2 Bug 1 (config.c:55-69 fall-through to default).

Baseline B — post Bug 1 scratch patch (the missing break added):

  vaCreateConfig now returns SUCCESS. V4L2 setup proceeds:
  CREATE_BUFS, QUERYBUF (40), REQBUFS, STREAMON, S_FMT, etc.
  Then VIDIOC_S_EXT_CTRLS fails:

    ioctl(/dev/video5, VIDIOC_S_EXT_CTRLS,
          {ctrl_class=0xf010000,
           count=1,
           controls=[
             {id=V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS,
              size=56, ...}
           ]})
        = -1 EINVAL

  CID 0x9909fa (V4L2_CID_MPEG_BASE+250) doesn't exist on this kernel —
  mainline removed it in favor of the split V4L2_CID_STATELESS_MPEG2_*
  CIDs. Size 56 = sizeof(combined v4l2_ctrl_mpeg2_slice_params) from
  the fork's local include/mpeg2-ctrls.h. Confirms Phase 2 Bug 2.

  Auxiliary EINVAL: src/context.c:142-155 unconditionally sets H.264
  device-wide controls (H264_DECODE_MODE, H264_START_CODE) on every
  CreateContext, regardless of profile. EINVALs on hantro-vpu-dec
  (no H.264 controls there). Intentional best-effort behavior —
  return value is cast to (void) and discarded. Auxiliary, not iter1
  scope.

Baseline C — cross-validator verbatim contract anchor:

  ffmpeg -hwaccel v4l2request strace shows ONE batched call per frame:

    ioctl(/dev/video5, VIDIOC_S_EXT_CTRLS,
          {ctrl_class=0xf010000,    // V4L2_CTRL_CLASS_CODEC_STATELESS
           count=3,
           controls=[
             {id=0xa409dc, size=12,  ...},   // SEQUENCE
             {id=0xa409dd, size=32,  ...},   // PICTURE
             {id=0xa409de, size=256, ...}    // QUANTISATION
           ]}) = 0

  Field-by-field decode of frame 1 (I-picture):
    SEQUENCE: 1280×720, vbv=0x151800, profile_level=0,
              chroma_format=1, flags=PROGRESSIVE
    PICTURE: back/fwd_ref_ts=0/0, flags=0x82
             (FRAME_PRED_DCT|PROGRESSIVE), f_code=0xF×4 (I-frame
             default), P_C_T=1 (I), structure=3 (FRAME),
             intra_dc_precision=0
    QUANTISATION: starts [8, 16, 16, 19, 16, 19, 22, 22, ...] —
                  canonical MPEG-2 default intra matrix in zigzag
                  scanning order.

  Frame 2 (P-picture) shows real f_code values {{1,1},{15,15}}
  and forward_ref_ts pointing to frame 1's timestamp. Confirms
  Phase 2's claim that matrices arrive in zigzag order;
  no permutation needed in the libva backend (kernel's
  hantro_mpeg2_dec_copy_qtable handles zigzag-to-raster).

  This is the iter1 contract anchor: every Phase 4 implementation
  diff must produce a structurally indistinguishable
  VIDIOC_S_EXT_CTRLS call.

Baseline D — H.264 regression check (Phase 1 criterion #5):

  T4 reference hashes match exactly with scratch Bug 1 fix installed:
    HW frame 1: f623d5f7a41697f67dd227275c6f1b21ffc257f65626d32fde8229357f8764c9
    SW frame 1: f623d5f7a41697f67dd227275c6f1b21ffc257f65626d32fde8229357f8764c9
    HW frame 2: 7d7bc6f2146dda8b2d223bba622c4b9fbe9674181ff1e02afe286b620342e0a8
    SW frame 2: 7d7bc6f2146dda8b2d223bba622c4b9fbe9674181ff1e02afe286b620342e0a8

  Bug 1 fix in isolation does not regress H.264.

Phase 1 criterion #3 needs adjustment (Phase 3 → Phase 1 loopback):

  Original wording: "mpv --hwdec=vaapi-copy ... engages the backend"
  Reality: mpv-vaapi-copy never loads libva for MPEG-2. mpv's hwdec
  policy filters MPEG-2 out before libva is touched. Zero V4L2
  ioctls, zero libva trace, silent SW fallback. Independent of
  Bug 1 fix state.

  Adjusted criterion #3 (proposed; locks alongside Phase 4 plan):
    "ffmpeg -hwaccel vaapi -i bbb_720p10s_mpeg2.ts -frames:v 2
     -f null - shows vaCreateConfig SUCCESS, no Failed to create
     decode configuration lines, no EINVAL from VIDIOC_S_EXT_CTRLS,
     exits 0 cleanly."

  mpv-driven testing moves to a follow-up task (mpv hwdec-codecs
  filter override), separate from iter1.

Other 4 Phase 1 criteria (vainfo regression, vaCreateConfig SUCCESS,
DMA-BUF GL pixel verify HW=SW, T4 H.264 regression) hold as locked.

Scratch state cleanup: scratch patch reverted, master backend
reinstalled, MPEG-2 fails again with vaCreateConfig=12 — back to
Baseline A state, no leak.

Phase 4 plan inputs:

  - Diff scope: src/config.c (1 break), src/mpeg2.c (rewrite to
    new API), include/mpeg2-ctrls.h (delete or empty). picture.c
    + context.c unchanged.
  - Contract anchor: cite verbatim from
    linux/v4l2-controls.h:1985-2105, FFmpeg
    libavcodec/v4l2_request_mpeg2.c:130-155, kernel
    drivers/media/platform/verisilicon/hantro_mpeg2.c, AND this
    document's Baseline C verbatim payload.
  - Phase 7 verification: re-run all 5 Phase 1 criteria
    (with #3 adjusted), byte-by-byte compare post-fix
    VIDIOC_S_EXT_CTRLS payload against Baseline C.

Evidence files:

  Tracked (text):
    phase3_iter1_baseline.md (writeup with verbatim raw output)
    phase0_evidence/2026-05-07/iter1_phase3/baseline_A_ffmpeg/ffmpeg.stdout
    phase0_evidence/2026-05-07/iter1_phase3/baseline_B_postbug1/ffmpeg.stdout
    phase0_evidence/2026-05-07/iter1_phase3/baseline_C_xvalidator/ffmpeg.stdout

  Gitignored (regenerable from re-run incantations in the writeup):
    *.strace.*  *.txt (ftrace) libva.trace.* (added the latter pattern)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-08 04:04:25 +00:00
parent cc55a6e60a
commit b9625af278
5 changed files with 1122 additions and 0 deletions
+1
View File
@@ -18,6 +18,7 @@ phase*_evidence/**/*.nv12
phase*_evidence/**/*.yuv
phase*_evidence/**/*.tsv
phase*_evidence/**/*.strace*
phase*_evidence/**/libva.trace.*
*.log
*.pcap
@@ -0,0 +1,136 @@
Splitting the commandline.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not show program banner) with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW accelerated decoding) with argument 'vaapi'.
Reading option '-i' ... matched as input url with argument '/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts'.
Reading option '-frames:v' ... matched as option 'frames' (set the number of frames to output) with argument '2'.
Reading option '-f' ... matched as option 'f' (force container format (auto-detected otherwise)) with argument 'null'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option hide_banner (do not show program banner) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url /home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts.
Applying option hwaccel (use HW accelerated decoding) with argument vaapi.
Successfully parsed a group of options.
Opening an input file: /home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts.
[in#0 @ 0xaaaaef8a62d0] Opening '/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts' for reading
[file @ 0xaaaaef8a6790] Setting default whitelist 'file,crypto,data'
[in#0 @ 0xaaaaef8a62d0] Format mpegts probed with size=2048 and score=50
[in#0 @ 0xaaaaef8a62d0] stream=0 stream_type=2 pid=100 prog_reg_desc=
[in#0/mpegts @ 0xaaaaef8a62d0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1
[mpeg2video @ 0xaaaaef8acb20] Format yuv420p chosen by get_format().
[in#0/mpegts @ 0xaaaaef8a62d0] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
[in#0/mpegts @ 0xaaaaef8a62d0] After avformat_find_stream_info() pos: 0 bytes read:3100816 seeks:2 frames:122
[vist#0:0/mpeg2video @ 0xaaaaef9a0310] Selecting decoder 'mpeg2video' because of requested hwaccel method vaapi
Input #0, mpegts, from '/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts':
Duration: 00:00:10.00, start: 1.441667, bitrate: 4202 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100], 122, 1/90000: Video: mpeg2video (Main), 1 reference frame ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, 24 fps, 24 tbr, 90k tbn, start 1.441667
Side data:
CPB properties: bitrate max/min/avg: 0/0/0 buffer size: 1130496 vbv_delay: N/A
Successfully opened the file.
Parsing a group of options: output url -.
Applying option frames:v (set the number of frames to output) with argument 2.
Applying option f (force container format (auto-detected otherwise)) with argument null.
Successfully parsed a group of options.
Opening an output file: -.
[out#0/null @ 0xaaaaef9a0500] No explicit maps, mapping streams automatically...
[vost#0:0/wrapped_avframe @ 0xaaaaef9a0980] Created video stream from input stream 0:0
[VAAPI @ 0xaaaaef94e010] Trying to use DRM render node for device 0.
[VAAPI @ 0xaaaaef94e010] libva: Open new log file /tmp/iter1_phase3/baseline_A_ffmpeg/libva.trace.223924.thd-0x00000cb1 for the thread 0x00000cb1
[VAAPI @ 0xaaaaef94e010] libva: LIBVA_TRACE is on, save log into /tmp/iter1_phase3/baseline_A_ffmpeg/libva.trace.223924.thd-0x00000cb1
[VAAPI @ 0xaaaaef94e010] libva: VA-API version 1.23.0
[VAAPI @ 0xaaaaef94e010] libva: User environment variable requested driver 'v4l2_request'
[VAAPI @ 0xaaaaef94e010] libva: Trying to open /usr/lib/dri/v4l2_request_drv_video.so
[VAAPI @ 0xaaaaef94e010] libva: Found init function __vaDriverInit_1_23
[VAAPI @ 0xaaaaef94e010] libva: va_openDriver() returns 0
[VAAPI @ 0xaaaaef94e010] Initialised VAAPI connection: version 1.23
[VAAPI @ 0xaaaaef94e010] Format 0x3231564e -> nv12.
[VAAPI @ 0xaaaaef94e010] VAAPI driver: v4l2-request.
[VAAPI @ 0xaaaaef94e010] Driver not found in known nonstandard list, using standard behaviour.
detected 6 logical cores
Successfully opened the file.
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> wrapped_avframe (native))
[vost#0:0/wrapped_avframe @ 0xaaaaef9a0980] Starting thread...
[vf#0:0 @ 0xaaaaef99f3c0] Starting thread...
[vist#0:0/mpeg2video @ 0xaaaaef9a0310] [dec:mpeg2video @ 0xaaaaef8a6650] Starting thread...
[in#0/mpegts @ 0xaaaaef8a6060] Starting thread...
Press [q] to stop, [?] for help
[mpeg2video @ 0xaaaaef99ee10] Format vaapi chosen by get_format().
[mpeg2video @ 0xaaaaef99ee10] Format vaapi requires hwaccel mpeg2_vaapi initialisation.
[VAAPI @ 0xaaaaef94e010] libva: Open new log file /tmp/iter1_phase3/baseline_A_ffmpeg/libva.trace.223924.thd-0x00000cba for the thread 0x00000cba
[mpeg2video @ 0xaaaaef99ee10] Failed to create decode configuration: 12 (the requested VAProfile is not supported).
[mpeg2video @ 0xaaaaef99ee10] Failed setup for format vaapi: hwaccel initialisation returned error.
[mpeg2video @ 0xaaaaef99ee10] Format vaapi not usable, retrying get_format() without it.
[mpeg2video @ 0xaaaaef99ee10] Format yuv420p chosen by get_format().
[graph -1 input from stream 0:0 @ 0xffff90002130] w:1280 h:720 pixfmt:yuv420p tb:1/90000 fr:24/1 sar:1/1 csp:bt709 range:tv alpha:unspecified
Filter 'Parsed_null_0' formats:
in[0] 'default':
Pixel formats: yuv420p yuyv422 rgb24 bgr24 yuv422p yuv444p yuv410p yuv411p gray monow monob pal8 yuvj420p yuvj422p yuvj444p uyvy422 uyyvyy411 bgr8 bgr4 bgr4_byte rgb8 rgb4 rgb4_byte nv12 nv21 argb rgba abgr bgra gray16be gray16le yuv440p yuvj440p yuva420p rgb48be rgb48le rgb565be rgb565le rgb555be rgb555le bgr565be bgr565le bgr555be bgr555le vaapi yuv420p16le yuv420p16be yuv422p16le yuv422p16be yuv444p16le yuv444p16be dxva2_vld rgb444le rgb444be bgr444le bgr444be ya8 bgr48be bgr48le yuv420p9be yuv420p9le yuv420p10be yuv420p10le yuv422p10be yuv422p10le yuv444p9be yuv444p9le yuv444p10be yuv444p10le yuv422p9be yuv422p9le gbrp gbrp9be gbrp9le gbrp10be gbrp10le gbrp16be gbrp16le yuva422p yuva444p yuva420p9be yuva420p9le yuva422p9be yuva422p9le yuva444p9be yuva444p9le yuva420p10be yuva420p10le yuva422p10be yuva422p10le yuva444p10be yuva444p10le yuva420p16be yuva420p16le yuva422p16be yuva422p16le yuva444p16be yuva444p16le vdpau xyz12le xyz12be nv16 nv20le nv20be rgba64be rgba64le bgra64be bgra64le yvyu422 ya16be ya16le gbrap gbrap16be gbrap16le qsv mmal d3d11va_vld cuda 0rgb rgb0 0bgr bgr0 yuv420p12be yuv420p12le yuv420p14be yuv420p14le yuv422p12be yuv422p12le yuv422p14be yuv422p14le yuv444p12be yuv444p12le yuv444p14be yuv444p14le gbrp12be gbrp12le gbrp14be gbrp14le yuvj411p bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be yuv440p10le yuv440p10be yuv440p12le yuv440p12be ayuv64le ayuv64be videotoolbox_vld p010le p010be gbrap12be gbrap12le gbrap10be gbrap10le mediacodec gray12be gray12le gray10be gray10le p016le p016be d3d11 gray9be gray9le gbrpf32be gbrpf32le gbrapf32be gbrapf32le drm_prime opencl gray14be gray14le grayf32be grayf32le yuva422p12be yuva422p12le yuva444p12be yuva444p12le nv24 nv42 vulkan y210be y210le x2rgb10le x2rgb10be x2bgr10le x2bgr10be p210be p210le p410be p410le p216be p216le p416be p416le vuya rgbaf16be rgbaf16le vuyx p012le p012be y212be y212le xv30be xv30le xv36be xv36le rgbf32be rgbf32le rgbaf32be rgbaf32le p212be p212le p412be p412le gbrap14be gbrap14le d3d12 ayuv uyva vyu444 v30xbe v30xle rgbf16be rgbf16le rgba128be rgba128le rgb96be rgb96le y216be y216le xv48be xv48le gbrpf16be gbrpf16le gbrapf16be gbrapf16le grayf16be grayf16le amf gray32be gray32le yaf32be yaf32le yaf16be yaf16le gbrap32be gbrap32le yuv444p10msbbe yuv444p10msble yuv444p12msbbe yuv444p12msble gbrp10msbbe gbrp10msble gbrp12msbbe gbrp12msble ohcodec
Color spaces: unknown gbr bt709 fcc bt470bg smpte170m smpte240m ycgco bt2020nc bt2020c smpte2085 chroma-derived-nc chroma-derived-c ictcp ipt-c2 ycgco-re ycgco-ro
Color ranges: unknown tv pc
Alpha modes: unspecified premultiplied straight
out[0] 'default':
Pixel formats: yuv420p yuyv422 rgb24 bgr24 yuv422p yuv444p yuv410p yuv411p gray monow monob pal8 yuvj420p yuvj422p yuvj444p uyvy422 uyyvyy411 bgr8 bgr4 bgr4_byte rgb8 rgb4 rgb4_byte nv12 nv21 argb rgba abgr bgra gray16be gray16le yuv440p yuvj440p yuva420p rgb48be rgb48le rgb565be rgb565le rgb555be rgb555le bgr565be bgr565le bgr555be bgr555le vaapi yuv420p16le yuv420p16be yuv422p16le yuv422p16be yuv444p16le yuv444p16be dxva2_vld rgb444le rgb444be bgr444le bgr444be ya8 bgr48be bgr48le yuv420p9be yuv420p9le yuv420p10be yuv420p10le yuv422p10be yuv422p10le yuv444p9be yuv444p9le yuv444p10be yuv444p10le yuv422p9be yuv422p9le gbrp gbrp9be gbrp9le gbrp10be gbrp10le gbrp16be gbrp16le yuva422p yuva444p yuva420p9be yuva420p9le yuva422p9be yuva422p9le yuva444p9be yuva444p9le yuva420p10be yuva420p10le yuva422p10be yuva422p10le yuva444p10be yuva444p10le yuva420p16be yuva420p16le yuva422p16be yuva422p16le yuva444p16be yuva444p16le vdpau xyz12le xyz12be nv16 nv20le nv20be rgba64be rgba64le bgra64be bgra64le yvyu422 ya16be ya16le gbrap gbrap16be gbrap16le qsv mmal d3d11va_vld cuda 0rgb rgb0 0bgr bgr0 yuv420p12be yuv420p12le yuv420p14be yuv420p14le yuv422p12be yuv422p12le yuv422p14be yuv422p14le yuv444p12be yuv444p12le yuv444p14be yuv444p14le gbrp12be gbrp12le gbrp14be gbrp14le yuvj411p bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be yuv440p10le yuv440p10be yuv440p12le yuv440p12be ayuv64le ayuv64be videotoolbox_vld p010le p010be gbrap12be gbrap12le gbrap10be gbrap10le mediacodec gray12be gray12le gray10be gray10le p016le p016be d3d11 gray9be gray9le gbrpf32be gbrpf32le gbrapf32be gbrapf32le drm_prime opencl gray14be gray14le grayf32be grayf32le yuva422p12be yuva422p12le yuva444p12be yuva444p12le nv24 nv42 vulkan y210be y210le x2rgb10le x2rgb10be x2bgr10le x2bgr10be p210be p210le p410be p410le p216be p216le p416be p416le vuya rgbaf16be rgbaf16le vuyx p012le p012be y212be y212le xv30be xv30le xv36be xv36le rgbf32be rgbf32le rgbaf32be rgbaf32le p212be p212le p412be p412le gbrap14be gbrap14le d3d12 ayuv uyva vyu444 v30xbe v30xle rgbf16be rgbf16le rgba128be rgba128le rgb96be rgb96le y216be y216le xv48be xv48le gbrpf16be gbrpf16le gbrapf16be gbrapf16le grayf16be grayf16le amf gray32be gray32le yaf32be yaf32le yaf16be yaf16le gbrap32be gbrap32le yuv444p10msbbe yuv444p10msble yuv444p12msbbe yuv444p12msble gbrp10msbbe gbrp10msble gbrp12msbbe gbrp12msble ohcodec
Color spaces: unknown gbr bt709 fcc bt470bg smpte170m smpte240m ycgco bt2020nc bt2020c smpte2085 chroma-derived-nc chroma-derived-c ictcp ipt-c2 ycgco-re ycgco-ro
Color ranges: unknown tv pc
Alpha modes: unspecified premultiplied straight
Filter 'graph -1 input from stream 0:0' formats:
out[0] 'default':
Pixel formats: yuv420p
Color spaces: bt709
Color ranges: tv
Alpha modes: unspecified premultiplied straight
Filter 'out_#0:0' formats:
in[0] 'default':
Pixel formats: yuv420p yuyv422 rgb24 bgr24 yuv422p yuv444p yuv410p yuv411p gray monow monob pal8 yuvj420p yuvj422p yuvj444p uyvy422 uyyvyy411 bgr8 bgr4 bgr4_byte rgb8 rgb4 rgb4_byte nv12 nv21 argb rgba abgr bgra gray16be gray16le yuv440p yuvj440p yuva420p rgb48be rgb48le rgb565be rgb565le rgb555be rgb555le bgr565be bgr565le bgr555be bgr555le vaapi yuv420p16le yuv420p16be yuv422p16le yuv422p16be yuv444p16le yuv444p16be dxva2_vld rgb444le rgb444be bgr444le bgr444be ya8 bgr48be bgr48le yuv420p9be yuv420p9le yuv420p10be yuv420p10le yuv422p10be yuv422p10le yuv444p9be yuv444p9le yuv444p10be yuv444p10le yuv422p9be yuv422p9le gbrp gbrp9be gbrp9le gbrp10be gbrp10le gbrp16be gbrp16le yuva422p yuva444p yuva420p9be yuva420p9le yuva422p9be yuva422p9le yuva444p9be yuva444p9le yuva420p10be yuva420p10le yuva422p10be yuva422p10le yuva444p10be yuva444p10le yuva420p16be yuva420p16le yuva422p16be yuva422p16le yuva444p16be yuva444p16le vdpau xyz12le xyz12be nv16 nv20le nv20be rgba64be rgba64le bgra64be bgra64le yvyu422 ya16be ya16le gbrap gbrap16be gbrap16le qsv mmal d3d11va_vld cuda 0rgb rgb0 0bgr bgr0 yuv420p12be yuv420p12le yuv420p14be yuv420p14le yuv422p12be yuv422p12le yuv422p14be yuv422p14le yuv444p12be yuv444p12le yuv444p14be yuv444p14le gbrp12be gbrp12le gbrp14be gbrp14le yuvj411p bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be yuv440p10le yuv440p10be yuv440p12le yuv440p12be ayuv64le ayuv64be videotoolbox_vld p010le p010be gbrap12be gbrap12le gbrap10be gbrap10le mediacodec gray12be gray12le gray10be gray10le p016le p016be d3d11 gray9be gray9le gbrpf32be gbrpf32le gbrapf32be gbrapf32le drm_prime opencl gray14be gray14le grayf32be grayf32le yuva422p12be yuva422p12le yuva444p12be yuva444p12le nv24 nv42 vulkan y210be y210le x2rgb10le x2rgb10be x2bgr10le x2bgr10be p210be p210le p410be p410le p216be p216le p416be p416le vuya rgbaf16be rgbaf16le vuyx p012le p012be y212be y212le xv30be xv30le xv36be xv36le rgbf32be rgbf32le rgbaf32be rgbaf32le p212be p212le p412be p412le gbrap14be gbrap14le d3d12 ayuv uyva vyu444 v30xbe v30xle rgbf16be rgbf16le rgba128be rgba128le rgb96be rgb96le y216be y216le xv48be xv48le gbrpf16be gbrpf16le gbrapf16be gbrapf16le grayf16be grayf16le amf gray32be gray32le yaf32be yaf32le yaf16be yaf16le gbrap32be gbrap32le yuv444p10msbbe yuv444p10msble yuv444p12msbbe yuv444p12msble gbrp10msbbe gbrp10msble gbrp12msbbe gbrp12msble ohcodec
Color spaces: unknown gbr bt709 fcc bt470bg smpte170m smpte240m ycgco bt2020nc bt2020c smpte2085 chroma-derived-nc chroma-derived-c ictcp ipt-c2 ycgco-re ycgco-ro
Color ranges: unknown tv pc
Alpha modes: unspecified premultiplied straight
[AVFilterGraph @ 0xffff90000f80] query_formats: 3 queried, 8 merged, 0 already done, 0 delayed
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf62.12.100
Stream #0:0, 0, 1/24: Video: wrapped_avframe, 1 reference frame, yuv420p(tv, bt709, progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, q=2-31, 200 kb/s, 24 fps, 24 tbn
Metadata:
encoder : Lavc62.28.100 wrapped_avframe
[out#0/null @ 0xaaaaef9a0500] Starting thread...
[out#0/null @ 0xaaaaef9a0500] sq: send 0 ts 0.0416667
[out#0/null @ 0xaaaaef9a0500] sq: receive 0 ts 0.0416667 queue head 0 ts 0.0416667
[out#0/null @ 0xaaaaef9a0500] sq: send 0 ts 0.0833333
[out#0/null @ 0xaaaaef9a0500] sq: 0 frames_max 2 reached
[out#0/null @ 0xaaaaef9a0500] sq: finish 0; head ts 0.0833333
[out#0/null @ 0xaaaaef9a0500] sq: finish queue
[out#0/null @ 0xaaaaef9a0500] sq: receive 0 ts 0.0833333 queue head 0 ts 0.0833333
[out#0/null @ 0xaaaaef9a0500] sq: 0 EOF
[out#0/null @ 0xaaaaef9a0500] sq: finish queue
[vost#0:0/wrapped_avframe @ 0xaaaaef9a0980] [enc:wrapped_avframe @ 0xaaaaef9a08b0] Encoder thread received EOF
[vf#0:0 @ 0xaaaaef99f3c0] All consumers returned EOF
[vost#0:0/wrapped_avframe @ 0xaaaaef9a0980] Terminating thread with return code 0 (success)
[out#0/null @ 0xaaaaef9a0500] All streams finished
[out#0/null @ 0xaaaaef9a0500] Terminating thread with return code 0 (success)
[out#0/null @ 0xaaaaef9a0500] sq: 0 EOF
[out#0/null @ 0xaaaaef9a0500] sq: finish queue
[vist#0:0/mpeg2video @ 0xaaaaef9a0310] [dec:mpeg2video @ 0xaaaaef8a6650] Decoder returned EOF, finishing
[vf#0:0 @ 0xaaaaef99f3c0] Terminating thread with return code 0 (success)
[vist#0:0/mpeg2video @ 0xaaaaef9a0310] [dec:mpeg2video @ 0xaaaaef8a6650] Terminating thread with return code 0 (success)
[vist#0:0/mpeg2video @ 0xaaaaef9a0310] All consumers of this stream are done
[in#0/mpegts @ 0xaaaaef8a6060] All consumers are done
[in#0/mpegts @ 0xaaaaef8a6060] Terminating thread with return code 0 (success)
[out#0/null @ 0xaaaaef9a0500] Output file #0 (pipe:):
[out#0/null @ 0xaaaaef9a0500] Output stream #0:0 (video): 2 frames encoded; 2 packets muxed (848 bytes);
[out#0/null @ 0xaaaaef9a0500] Total: 2 packets (848 bytes) muxed
[out#0/null @ 0xaaaaef9a0500] video:1KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 2 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.08 bitrate=N/A speed=0.493x elapsed=0:00:00.16
[in#0/mpegts @ 0xaaaaef8a6060] Input file #0 (/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts):
[in#0/mpegts @ 0xaaaaef8a6060] Input stream #0:0 (video): 15 packets read (811161 bytes); 5 frames decoded; 0 decode errors;
[in#0/mpegts @ 0xaaaaef8a6060] Total: 15 packets (811161 bytes) demuxed
[AVIOContext @ 0xaaaaef8ae8a0] Statistics: 3952784 bytes read, 2 seeks
Exiting with exit code 0
@@ -0,0 +1,618 @@
Splitting the commandline.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not show program banner) with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW accelerated decoding) with argument 'vaapi'.
Reading option '-i' ... matched as input url with argument '/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts'.
Reading option '-frames:v' ... matched as option 'frames' (set the number of frames to output) with argument '2'.
Reading option '-f' ... matched as option 'f' (force container format (auto-detected otherwise)) with argument 'null'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option hide_banner (do not show program banner) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url /home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts.
Applying option hwaccel (use HW accelerated decoding) with argument vaapi.
Successfully parsed a group of options.
Opening an input file: /home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts.
[in#0 @ 0xaaaade9592d0] Opening '/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts' for reading
[file @ 0xaaaade959790] Setting default whitelist 'file,crypto,data'
[in#0 @ 0xaaaade9592d0] Format mpegts probed with size=2048 and score=50
[in#0 @ 0xaaaade9592d0] stream=0 stream_type=2 pid=100 prog_reg_desc=
[in#0/mpegts @ 0xaaaade9592d0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1
[mpeg2video @ 0xaaaade95fb20] Format yuv420p chosen by get_format().
[in#0/mpegts @ 0xaaaade9592d0] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
[in#0/mpegts @ 0xaaaade9592d0] After avformat_find_stream_info() pos: 0 bytes read:3100816 seeks:2 frames:122
[vist#0:0/mpeg2video @ 0xaaaadea53310] Selecting decoder 'mpeg2video' because of requested hwaccel method vaapi
Input #0, mpegts, from '/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts':
Duration: 00:00:10.00, start: 1.441667, bitrate: 4202 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100], 122, 1/90000: Video: mpeg2video (Main), 1 reference frame ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, 24 fps, 24 tbr, 90k tbn, start 1.441667
Side data:
CPB properties: bitrate max/min/avg: 0/0/0 buffer size: 1130496 vbv_delay: N/A
Successfully opened the file.
Parsing a group of options: output url -.
Applying option frames:v (set the number of frames to output) with argument 2.
Applying option f (force container format (auto-detected otherwise)) with argument null.
Successfully parsed a group of options.
Opening an output file: -.
[out#0/null @ 0xaaaadea53500] No explicit maps, mapping streams automatically...
[vost#0:0/wrapped_avframe @ 0xaaaadea53980] Created video stream from input stream 0:0
[VAAPI @ 0xaaaadea01010] Trying to use DRM render node for device 0.
[VAAPI @ 0xaaaadea01010] libva: Open new log file /tmp/iter1_phase3/baseline_B_postbug1/libva.trace.224017.thd-0x00000d05 for the thread 0x00000d05
[VAAPI @ 0xaaaadea01010] libva: LIBVA_TRACE is on, save log into /tmp/iter1_phase3/baseline_B_postbug1/libva.trace.224017.thd-0x00000d05
[VAAPI @ 0xaaaadea01010] libva: VA-API version 1.23.0
[VAAPI @ 0xaaaadea01010] libva: User environment variable requested driver 'v4l2_request'
[VAAPI @ 0xaaaadea01010] libva: Trying to open /usr/lib/dri/v4l2_request_drv_video.so
[VAAPI @ 0xaaaadea01010] libva: Found init function __vaDriverInit_1_23
[VAAPI @ 0xaaaadea01010] libva: va_openDriver() returns 0
[VAAPI @ 0xaaaadea01010] Initialised VAAPI connection: version 1.23
[VAAPI @ 0xaaaadea01010] Format 0x3231564e -> nv12.
[VAAPI @ 0xaaaadea01010] VAAPI driver: v4l2-request.
[VAAPI @ 0xaaaadea01010] Driver not found in known nonstandard list, using standard behaviour.
detected 6 logical cores
Successfully opened the file.
Stream mapping:
Stream #0:0 -> #0:0 (mpeg2video (native) -> wrapped_avframe (native))
[vost#0:0/wrapped_avframe @ 0xaaaadea53980] Starting thread...
[vf#0:0 @ 0xaaaadea523c0] Starting thread...
[vist#0:0/mpeg2video @ 0xaaaadea53310] [dec:mpeg2video @ 0xaaaade959650] Starting thread...
[in#0/mpegts @ 0xaaaade959060] Starting thread...
Press [q] to stop, [?] for help
[mpeg2video @ 0xaaaadea51e10] Format vaapi chosen by get_format().
[mpeg2video @ 0xaaaadea51e10] Format vaapi requires hwaccel mpeg2_vaapi initialisation.
[VAAPI @ 0xaaaadea01010] libva: Open new log file /tmp/iter1_phase3/baseline_B_postbug1/libva.trace.224017.thd-0x00000d0e for the thread 0x00000d0e
[mpeg2video @ 0xaaaadea51e10] Considering format 0x3231564e -> nv12.
[mpeg2video @ 0xaaaadea51e10] Picked nv12 (0x3231564e) as best match for yuv420p.
v4l2-request: cap_pool_init: 24 slots ready (v4l2_index=0..23, 1 plane(s) per slot)
[AVHWFramesContext @ 0xffff8c000c50] Created surface 0x4000000.
[AVHWFramesContext @ 0xffff8c000c50] Direct mapping possible.
v4l2-request: Unable to set control(s): Invalid argument
[VAAPI @ 0xaaaadea01010] libva: Save context 0x02000000 into log file /tmp/iter1_phase3/baseline_B_postbug1/libva.trace.224017.thd-0x00000d0e
[mpeg2video @ 0xaaaadea51e10] Decode context initialised: 0x1000000/0x2000000.
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 0, 40 bytes) is 0x8000000.
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 1, 288 bytes) is 0x8000001.
[mpeg2video @ 0xaaaadea51e10] Slice 0 param buffer (48 bytes) is 0x8000002.
[mpeg2video @ 0xaaaadea51e10] Slice 0 data buffer (2573 bytes) is 0x8000003.
[mpeg2video @ 0xaaaadea51e10] Slice 1 param buffer (48 bytes) is 0x8000004.
[mpeg2video @ 0xaaaadea51e10] Slice 1 data buffer (2472 bytes) is 0x8000005.
[mpeg2video @ 0xaaaadea51e10] Slice 2 param buffer (48 bytes) is 0x8000006.
[mpeg2video @ 0xaaaadea51e10] Slice 2 data buffer (2356 bytes) is 0x8000007.
[mpeg2video @ 0xaaaadea51e10] Slice 3 param buffer (48 bytes) is 0x8000008.
[mpeg2video @ 0xaaaadea51e10] Slice 3 data buffer (2479 bytes) is 0x8000009.
[mpeg2video @ 0xaaaadea51e10] Slice 4 param buffer (48 bytes) is 0x800000a.
[mpeg2video @ 0xaaaadea51e10] Slice 4 data buffer (2612 bytes) is 0x800000b.
[mpeg2video @ 0xaaaadea51e10] Slice 5 param buffer (48 bytes) is 0x800000c.
[mpeg2video @ 0xaaaadea51e10] Slice 5 data buffer (2460 bytes) is 0x800000d.
[mpeg2video @ 0xaaaadea51e10] Slice 6 param buffer (48 bytes) is 0x800000e.
[mpeg2video @ 0xaaaadea51e10] Slice 6 data buffer (2471 bytes) is 0x800000f.
[mpeg2video @ 0xaaaadea51e10] Slice 7 param buffer (48 bytes) is 0x8000010.
[mpeg2video @ 0xaaaadea51e10] Slice 7 data buffer (2462 bytes) is 0x8000011.
[mpeg2video @ 0xaaaadea51e10] Slice 8 param buffer (48 bytes) is 0x8000012.
[mpeg2video @ 0xaaaadea51e10] Slice 8 data buffer (2384 bytes) is 0x8000013.
[mpeg2video @ 0xaaaadea51e10] Slice 9 param buffer (48 bytes) is 0x8000014.
[mpeg2video @ 0xaaaadea51e10] Slice 9 data buffer (2348 bytes) is 0x8000015.
[mpeg2video @ 0xaaaadea51e10] Slice 10 param buffer (48 bytes) is 0x8000016.
[mpeg2video @ 0xaaaadea51e10] Slice 10 data buffer (2411 bytes) is 0x8000017.
[mpeg2video @ 0xaaaadea51e10] Slice 11 param buffer (48 bytes) is 0x8000018.
[mpeg2video @ 0xaaaadea51e10] Slice 11 data buffer (2794 bytes) is 0x8000019.
[mpeg2video @ 0xaaaadea51e10] Slice 12 param buffer (48 bytes) is 0x800001a.
[mpeg2video @ 0xaaaadea51e10] Slice 12 data buffer (2871 bytes) is 0x800001b.
[mpeg2video @ 0xaaaadea51e10] Slice 13 param buffer (48 bytes) is 0x800001c.
[mpeg2video @ 0xaaaadea51e10] Slice 13 data buffer (2817 bytes) is 0x800001d.
[mpeg2video @ 0xaaaadea51e10] Slice 14 param buffer (48 bytes) is 0x800001e.
[mpeg2video @ 0xaaaadea51e10] Slice 14 data buffer (2791 bytes) is 0x800001f.
[mpeg2video @ 0xaaaadea51e10] Slice 15 param buffer (48 bytes) is 0x8000020.
[mpeg2video @ 0xaaaadea51e10] Slice 15 data buffer (2541 bytes) is 0x8000021.
[mpeg2video @ 0xaaaadea51e10] Slice 16 param buffer (48 bytes) is 0x8000022.
[mpeg2video @ 0xaaaadea51e10] Slice 16 data buffer (2616 bytes) is 0x8000023.
[mpeg2video @ 0xaaaadea51e10] Slice 17 param buffer (48 bytes) is 0x8000024.
[mpeg2video @ 0xaaaadea51e10] Slice 17 data buffer (2699 bytes) is 0x8000025.
[mpeg2video @ 0xaaaadea51e10] Slice 18 param buffer (48 bytes) is 0x8000026.
[mpeg2video @ 0xaaaadea51e10] Slice 18 data buffer (2607 bytes) is 0x8000027.
[mpeg2video @ 0xaaaadea51e10] Slice 19 param buffer (48 bytes) is 0x8000028.
[mpeg2video @ 0xaaaadea51e10] Slice 19 data buffer (2592 bytes) is 0x8000029.
[mpeg2video @ 0xaaaadea51e10] Slice 20 param buffer (48 bytes) is 0x800002a.
[mpeg2video @ 0xaaaadea51e10] Slice 20 data buffer (2840 bytes) is 0x800002b.
[mpeg2video @ 0xaaaadea51e10] Slice 21 param buffer (48 bytes) is 0x800002c.
[mpeg2video @ 0xaaaadea51e10] Slice 21 data buffer (3112 bytes) is 0x800002d.
[mpeg2video @ 0xaaaadea51e10] Slice 22 param buffer (48 bytes) is 0x800002e.
[mpeg2video @ 0xaaaadea51e10] Slice 22 data buffer (3426 bytes) is 0x800002f.
[mpeg2video @ 0xaaaadea51e10] Slice 23 param buffer (48 bytes) is 0x8000030.
[mpeg2video @ 0xaaaadea51e10] Slice 23 data buffer (4252 bytes) is 0x8000031.
[mpeg2video @ 0xaaaadea51e10] Slice 24 param buffer (48 bytes) is 0x8000032.
[mpeg2video @ 0xaaaadea51e10] Slice 24 data buffer (4151 bytes) is 0x8000033.
[mpeg2video @ 0xaaaadea51e10] Slice 25 param buffer (48 bytes) is 0x8000034.
[mpeg2video @ 0xaaaadea51e10] Slice 25 data buffer (3882 bytes) is 0x8000035.
[mpeg2video @ 0xaaaadea51e10] Slice 26 param buffer (48 bytes) is 0x8000036.
[mpeg2video @ 0xaaaadea51e10] Slice 26 data buffer (3287 bytes) is 0x8000037.
[mpeg2video @ 0xaaaadea51e10] Slice 27 param buffer (48 bytes) is 0x8000038.
[mpeg2video @ 0xaaaadea51e10] Slice 27 data buffer (3154 bytes) is 0x8000039.
[mpeg2video @ 0xaaaadea51e10] Slice 28 param buffer (48 bytes) is 0x800003a.
[mpeg2video @ 0xaaaadea51e10] Slice 28 data buffer (2472 bytes) is 0x800003b.
[mpeg2video @ 0xaaaadea51e10] Slice 29 param buffer (48 bytes) is 0x800003c.
[mpeg2video @ 0xaaaadea51e10] Slice 29 data buffer (2648 bytes) is 0x800003d.
[mpeg2video @ 0xaaaadea51e10] Slice 30 param buffer (48 bytes) is 0x800003e.
[mpeg2video @ 0xaaaadea51e10] Slice 30 data buffer (2834 bytes) is 0x800003f.
[mpeg2video @ 0xaaaadea51e10] Slice 31 param buffer (48 bytes) is 0x8000040.
[mpeg2video @ 0xaaaadea51e10] Slice 31 data buffer (2914 bytes) is 0x8000041.
[mpeg2video @ 0xaaaadea51e10] Slice 32 param buffer (48 bytes) is 0x8000042.
[mpeg2video @ 0xaaaadea51e10] Slice 32 data buffer (3180 bytes) is 0x8000043.
[mpeg2video @ 0xaaaadea51e10] Slice 33 param buffer (48 bytes) is 0x8000044.
[mpeg2video @ 0xaaaadea51e10] Slice 33 data buffer (3167 bytes) is 0x8000045.
[mpeg2video @ 0xaaaadea51e10] Slice 34 param buffer (48 bytes) is 0x8000046.
[mpeg2video @ 0xaaaadea51e10] Slice 34 data buffer (2955 bytes) is 0x8000047.
[mpeg2video @ 0xaaaadea51e10] Slice 35 param buffer (48 bytes) is 0x8000048.
[mpeg2video @ 0xaaaadea51e10] Slice 35 data buffer (2558 bytes) is 0x8000049.
[mpeg2video @ 0xaaaadea51e10] Slice 36 param buffer (48 bytes) is 0x800004a.
[mpeg2video @ 0xaaaadea51e10] Slice 36 data buffer (2576 bytes) is 0x800004b.
[mpeg2video @ 0xaaaadea51e10] Slice 37 param buffer (48 bytes) is 0x800004c.
[mpeg2video @ 0xaaaadea51e10] Slice 37 data buffer (2537 bytes) is 0x800004d.
[mpeg2video @ 0xaaaadea51e10] Slice 38 param buffer (48 bytes) is 0x800004e.
[mpeg2video @ 0xaaaadea51e10] Slice 38 data buffer (2381 bytes) is 0x800004f.
[mpeg2video @ 0xaaaadea51e10] Slice 39 param buffer (48 bytes) is 0x8000050.
[mpeg2video @ 0xaaaadea51e10] Slice 39 data buffer (2418 bytes) is 0x8000051.
[mpeg2video @ 0xaaaadea51e10] Slice 40 param buffer (48 bytes) is 0x8000052.
[mpeg2video @ 0xaaaadea51e10] Slice 40 data buffer (2455 bytes) is 0x8000053.
[mpeg2video @ 0xaaaadea51e10] Slice 41 param buffer (48 bytes) is 0x8000054.
[mpeg2video @ 0xaaaadea51e10] Slice 41 data buffer (2335 bytes) is 0x8000055.
[mpeg2video @ 0xaaaadea51e10] Slice 42 param buffer (48 bytes) is 0x8000056.
[mpeg2video @ 0xaaaadea51e10] Slice 42 data buffer (2118 bytes) is 0x8000057.
[mpeg2video @ 0xaaaadea51e10] Slice 43 param buffer (48 bytes) is 0x8000058.
[mpeg2video @ 0xaaaadea51e10] Slice 43 data buffer (1936 bytes) is 0x8000059.
[mpeg2video @ 0xaaaadea51e10] Slice 44 param buffer (48 bytes) is 0x800005a.
[mpeg2video @ 0xaaaadea51e10] Slice 44 data buffer (1846 bytes) is 0x800005b.
[mpeg2video @ 0xaaaadea51e10] Decode to surface 0x4000000.
v4l2-request: Unable to set control(s): Invalid argument
[AVHWFramesContext @ 0xffff8c000c50] Created surface 0x4000001.
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 0, 40 bytes) is 0x800005b.
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 1, 288 bytes) is 0x800005a.
[mpeg2video @ 0xaaaadea51e10] Slice 0 param buffer (48 bytes) is 0x8000059.
[mpeg2video @ 0xaaaadea51e10] Slice 0 data buffer (5660 bytes) is 0x8000058.
[mpeg2video @ 0xaaaadea51e10] Slice 1 param buffer (48 bytes) is 0x8000057.
[mpeg2video @ 0xaaaadea51e10] Slice 1 data buffer (5195 bytes) is 0x8000056.
[mpeg2video @ 0xaaaadea51e10] Slice 2 param buffer (48 bytes) is 0x8000055.
[mpeg2video @ 0xaaaadea51e10] Slice 2 data buffer (5009 bytes) is 0x8000054.
[mpeg2video @ 0xaaaadea51e10] Slice 3 param buffer (48 bytes) is 0x8000053.
[mpeg2video @ 0xaaaadea51e10] Slice 3 data buffer (5217 bytes) is 0x8000052.
[mpeg2video @ 0xaaaadea51e10] Slice 4 param buffer (48 bytes) is 0x8000051.
[mpeg2video @ 0xaaaadea51e10] Slice 4 data buffer (5290 bytes) is 0x8000050.
[mpeg2video @ 0xaaaadea51e10] Slice 5 param buffer (48 bytes) is 0x800004f.
[mpeg2video @ 0xaaaadea51e10] Slice 5 data buffer (5033 bytes) is 0x800004e.
[mpeg2video @ 0xaaaadea51e10] Slice 6 param buffer (48 bytes) is 0x800004d.
[mpeg2video @ 0xaaaadea51e10] Slice 6 data buffer (5038 bytes) is 0x800004c.
[mpeg2video @ 0xaaaadea51e10] Slice 7 param buffer (48 bytes) is 0x800004b.
[mpeg2video @ 0xaaaadea51e10] Slice 7 data buffer (5252 bytes) is 0x800004a.
[mpeg2video @ 0xaaaadea51e10] Slice 8 param buffer (48 bytes) is 0x8000049.
[mpeg2video @ 0xaaaadea51e10] Slice 8 data buffer (4977 bytes) is 0x8000048.
[mpeg2video @ 0xaaaadea51e10] Slice 9 param buffer (48 bytes) is 0x8000047.
[mpeg2video @ 0xaaaadea51e10] Slice 9 data buffer (4911 bytes) is 0x8000046.
[mpeg2video @ 0xaaaadea51e10] Slice 10 param buffer (48 bytes) is 0x8000045.
[mpeg2video @ 0xaaaadea51e10] Slice 10 data buffer (5148 bytes) is 0x8000044.
[mpeg2video @ 0xaaaadea51e10] Slice 11 param buffer (48 bytes) is 0x8000043.
[mpeg2video @ 0xaaaadea51e10] Slice 11 data buffer (5765 bytes) is 0x8000042.
[mpeg2video @ 0xaaaadea51e10] Slice 12 param buffer (48 bytes) is 0x8000041.
[mpeg2video @ 0xaaaadea51e10] Slice 12 data buffer (5913 bytes) is 0x8000040.
[mpeg2video @ 0xaaaadea51e10] Slice 13 param buffer (48 bytes) is 0x800003f.
[mpeg2video @ 0xaaaadea51e10] Slice 13 data buffer (5883 bytes) is 0x800003e.
[mpeg2video @ 0xaaaadea51e10] Slice 14 param buffer (48 bytes) is 0x800003d.
[mpeg2video @ 0xaaaadea51e10] Slice 14 data buffer (5726 bytes) is 0x800003c.
[mpeg2video @ 0xaaaadea51e10] Slice 15 param buffer (48 bytes) is 0x800003b.
[mpeg2video @ 0xaaaadea51e10] Slice 15 data buffer (5303 bytes) is 0x800003a.
[mpeg2video @ 0xaaaadea51e10] Slice 16 param buffer (48 bytes) is 0x8000039.
[mpeg2video @ 0xaaaadea51e10] Slice 16 data buffer (5276 bytes) is 0x8000038.
[mpeg2video @ 0xaaaadea51e10] Slice 17 param buffer (48 bytes) is 0x8000037.
[mpeg2video @ 0xaaaadea51e10] Slice 17 data buffer (5247 bytes) is 0x8000036.
[mpeg2video @ 0xaaaadea51e10] Slice 18 param buffer (48 bytes) is 0x8000035.
[mpeg2video @ 0xaaaadea51e10] Slice 18 data buffer (5323 bytes) is 0x8000034.
[mpeg2video @ 0xaaaadea51e10] Slice 19 param buffer (48 bytes) is 0x8000033.
[mpeg2video @ 0xaaaadea51e10] Slice 19 data buffer (5260 bytes) is 0x8000032.
[mpeg2video @ 0xaaaadea51e10] Slice 20 param buffer (48 bytes) is 0x8000031.
[mpeg2video @ 0xaaaadea51e10] Slice 20 data buffer (5652 bytes) is 0x8000030.
[mpeg2video @ 0xaaaadea51e10] Slice 21 param buffer (48 bytes) is 0x800002f.
[mpeg2video @ 0xaaaadea51e10] Slice 21 data buffer (6094 bytes) is 0x800002e.
[mpeg2video @ 0xaaaadea51e10] Slice 22 param buffer (48 bytes) is 0x800002d.
[mpeg2video @ 0xaaaadea51e10] Slice 22 data buffer (6662 bytes) is 0x800002c.
[mpeg2video @ 0xaaaadea51e10] Slice 23 param buffer (48 bytes) is 0x800002b.
[mpeg2video @ 0xaaaadea51e10] Slice 23 data buffer (7804 bytes) is 0x800002a.
[mpeg2video @ 0xaaaadea51e10] Slice 24 param buffer (48 bytes) is 0x8000029.
[mpeg2video @ 0xaaaadea51e10] Slice 24 data buffer (7700 bytes) is 0x8000028.
[mpeg2video @ 0xaaaadea51e10] Slice 25 param buffer (48 bytes) is 0x8000027.
[mpeg2video @ 0xaaaadea51e10] Slice 25 data buffer (7344 bytes) is 0x8000026.
[mpeg2video @ 0xaaaadea51e10] Slice 26 param buffer (48 bytes) is 0x8000025.
[mpeg2video @ 0xaaaadea51e10] Slice 26 data buffer (6333 bytes) is 0x8000024.
[mpeg2video @ 0xaaaadea51e10] Slice 27 param buffer (48 bytes) is 0x8000023.
[mpeg2video @ 0xaaaadea51e10] Slice 27 data buffer (5693 bytes) is 0x8000022.
[mpeg2video @ 0xaaaadea51e10] Slice 28 param buffer (48 bytes) is 0x8000021.
[mpeg2video @ 0xaaaadea51e10] Slice 28 data buffer (4537 bytes) is 0x8000020.
[mpeg2video @ 0xaaaadea51e10] Slice 29 param buffer (48 bytes) is 0x800001f.
[mpeg2video @ 0xaaaadea51e10] Slice 29 data buffer (4914 bytes) is 0x800001e.
[mpeg2video @ 0xaaaadea51e10] Slice 30 param buffer (48 bytes) is 0x800001d.
[mpeg2video @ 0xaaaadea51e10] Slice 30 data buffer (5347 bytes) is 0x800001c.
[mpeg2video @ 0xaaaadea51e10] Slice 31 param buffer (48 bytes) is 0x800001b.
[mpeg2video @ 0xaaaadea51e10] Slice 31 data buffer (5435 bytes) is 0x800001a.
[mpeg2video @ 0xaaaadea51e10] Slice 32 param buffer (48 bytes) is 0x8000019.
[mpeg2video @ 0xaaaadea51e10] Slice 32 data buffer (5708 bytes) is 0x8000018.
[mpeg2video @ 0xaaaadea51e10] Slice 33 param buffer (48 bytes) is 0x8000017.
[mpeg2video @ 0xaaaadea51e10] Slice 33 data buffer (5895 bytes) is 0x8000016.
[mpeg2video @ 0xaaaadea51e10] Slice 34 param buffer (48 bytes) is 0x8000015.
[mpeg2video @ 0xaaaadea51e10] Slice 34 data buffer (5524 bytes) is 0x8000014.
[mpeg2video @ 0xaaaadea51e10] Slice 35 param buffer (48 bytes) is 0x8000013.
[mpeg2video @ 0xaaaadea51e10] Slice 35 data buffer (4803 bytes) is 0x8000012.
[mpeg2video @ 0xaaaadea51e10] Slice 36 param buffer (48 bytes) is 0x8000011.
[mpeg2video @ 0xaaaadea51e10] Slice 36 data buffer (4604 bytes) is 0x8000010.
[mpeg2video @ 0xaaaadea51e10] Slice 37 param buffer (48 bytes) is 0x800000f.
[mpeg2video @ 0xaaaadea51e10] Slice 37 data buffer (4585 bytes) is 0x800000e.
[mpeg2video @ 0xaaaadea51e10] Slice 38 param buffer (48 bytes) is 0x800000d.
[mpeg2video @ 0xaaaadea51e10] Slice 38 data buffer (4387 bytes) is 0x800000c.
[mpeg2video @ 0xaaaadea51e10] Slice 39 param buffer (48 bytes) is 0x800000b.
[mpeg2video @ 0xaaaadea51e10] Slice 39 data buffer (4364 bytes) is 0x800000a.
[mpeg2video @ 0xaaaadea51e10] Slice 40 param buffer (48 bytes) is 0x8000009.
[mpeg2video @ 0xaaaadea51e10] Slice 40 data buffer (4380 bytes) is 0x8000008.
[mpeg2video @ 0xaaaadea51e10] Slice 41 param buffer (48 bytes) is 0x8000007.
[mpeg2video @ 0xaaaadea51e10] Slice 41 data buffer (4104 bytes) is 0x8000006.
[mpeg2video @ 0xaaaadea51e10] Slice 42 param buffer (48 bytes) is 0x8000005.
[mpeg2video @ 0xaaaadea51e10] Slice 42 data buffer (3689 bytes) is 0x8000004.
[mpeg2video @ 0xaaaadea51e10] Slice 43 param buffer (48 bytes) is 0x8000003.
[mpeg2video @ 0xaaaadea51e10] Slice 43 data buffer (3346 bytes) is 0x8000002.
[mpeg2video @ 0xaaaadea51e10] Slice 44 param buffer (48 bytes) is 0x8000001.
[mpeg2video @ 0xaaaadea51e10] Slice 44 data buffer (3124 bytes) is 0x8000000.
[mpeg2video @ 0xaaaadea51e10] Decode to surface 0x4000001.
v4l2-request: Unable to set control(s): Invalid argument
[AVHWFramesContext @ 0xffff8c000c50] Map surface 0x4000000.
[AVHWFramesContext @ 0xffff8c000c50] Unmap surface 0x4000000.
[AVHWFramesContext @ 0xffff8c000c50] Created surface 0x4000002.
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 0, 40 bytes) is 0x8000000.
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 1, 288 bytes) is 0x8000001.
[mpeg2video @ 0xaaaadea51e10] Slice 0 param buffer (48 bytes) is 0x8000002.
[mpeg2video @ 0xaaaadea51e10] Slice 0 data buffer (4188 bytes) is 0x8000003.
[mpeg2video @ 0xaaaadea51e10] Slice 1 param buffer (48 bytes) is 0x8000004.
[mpeg2video @ 0xaaaadea51e10] Slice 1 data buffer (3548 bytes) is 0x8000005.
[mpeg2video @ 0xaaaadea51e10] Slice 2 param buffer (48 bytes) is 0x8000006.
[mpeg2video @ 0xaaaadea51e10] Slice 2 data buffer (3391 bytes) is 0x8000007.
[mpeg2video @ 0xaaaadea51e10] Slice 3 param buffer (48 bytes) is 0x8000008.
[mpeg2video @ 0xaaaadea51e10] Slice 3 data buffer (3580 bytes) is 0x8000009.
[mpeg2video @ 0xaaaadea51e10] Slice 4 param buffer (48 bytes) is 0x800000a.
[mpeg2video @ 0xaaaadea51e10] Slice 4 data buffer (3786 bytes) is 0x800000b.
[mpeg2video @ 0xaaaadea51e10] Slice 5 param buffer (48 bytes) is 0x800000c.
[mpeg2video @ 0xaaaadea51e10] Slice 5 data buffer (3481 bytes) is 0x800000d.
[mpeg2video @ 0xaaaadea51e10] Slice 6 param buffer (48 bytes) is 0x800000e.
[mpeg2video @ 0xaaaadea51e10] Slice 6 data buffer (3341 bytes) is 0x800000f.
[mpeg2video @ 0xaaaadea51e10] Slice 7 param buffer (48 bytes) is 0x8000010.
[mpeg2video @ 0xaaaadea51e10] Slice 7 data buffer (3448 bytes) is 0x8000011.
[mpeg2video @ 0xaaaadea51e10] Slice 8 param buffer (48 bytes) is 0x8000012.
[mpeg2video @ 0xaaaadea51e10] Slice 8 data buffer (3237 bytes) is 0x8000013.
[mpeg2video @ 0xaaaadea51e10] Slice 9 param buffer (48 bytes) is 0x8000014.
[mpeg2video @ 0xaaaadea51e10] Slice 9 data buffer (3140 bytes) is 0x8000015.
[mpeg2video @ 0xaaaadea51e10] Slice 10 param buffer (48 bytes) is 0x8000016.
[mpeg2video @ 0xaaaadea51e10] Slice 10 data buffer (3364 bytes) is 0x8000017.
[mpeg2video @ 0xaaaadea51e10] Slice 11 param buffer (48 bytes) is 0x8000018.
[mpeg2video @ 0xaaaadea51e10] Slice 11 data buffer (3983 bytes) is 0x8000019.
[mpeg2video @ 0xaaaadea51e10] Slice 12 param buffer (48 bytes) is 0x800001a.
[mpeg2video @ 0xaaaadea51e10] Slice 12 data buffer (3901 bytes) is 0x800001b.
[mpeg2video @ 0xaaaadea51e10] Slice 13 param buffer (48 bytes) is 0x800001c.
[graph -1 input from stream 0:0 @ 0xffff90002130] w:1280 h:720 pixfmt:nv12 tb:1/90000 fr:24/1 sar:1/1 csp:bt709 range:tv alpha:unspecified
[mpeg2video @ 0xaaaadea51e10] Slice 13 data buffer (3644 bytes) is 0x800001d.
Filter 'Parsed_null_0' formats:
in[0] 'default':
[mpeg2video @ 0xaaaadea51e10] Slice 14 param buffer (48 bytes) is 0x800001e.
Pixel formats: yuv420p yuyv422 rgb24 bgr24 yuv422p yuv444p yuv410p yuv411p gray monow monob pal8 yuvj420p yuvj422p yuvj444p uyvy422 uyyvyy411 bgr8 bgr4 bgr4_byte rgb8 rgb4 rgb4_byte nv12 nv21 argb rgba abgr bgra gray16be gray16le yuv440p yuvj440p yuva420p rgb48be rgb48le rgb565be rgb565le rgb555be rgb555le bgr565be bgr565le bgr555be bgr555le vaapi yuv420p16le yuv420p16be yuv422p16le yuv422p16be yuv444p16le yuv444p16be dxva2_vld rgb444le rgb444be bgr444le bgr444be ya8 bgr48be bgr48le yuv420p9be yuv420p9le yuv420p10be yuv420p10le yuv422p10be yuv422p10le yuv444p9be yuv444p9le yuv444p10be yuv444p10le yuv422p9be yuv422p9le gbrp gbrp9be gbrp9le gbrp10be gbrp10le gbrp16be gbrp16le yuva422p yuva444p yuva420p9be yuva420p9le yuva422p9be yuva422p9le yuva444p9be yuva444p9le yuva420p10be yuva420p10le yuva422p10be yuva422p10le yuva444p10be yuva444p10le yuva420p16be yuva420p16le yuva422p16be yuva422p16le yuva444p16be yuva444p16le vdpau xyz12le xyz12be nv16 nv20le nv20be rgba64be rgba64le bgra64be bgra64le yvyu422 ya16be ya16le gbrap gbrap16be gbrap16le qsv mmal d3d11va_vld cuda 0rgb rgb0 0bgr bgr0 yuv420p12be yuv420p12le yuv420p14be yuv420p14le yuv422p12be yuv422p12le yuv422p14be yuv422p14le yuv444p12be yuv444p12le yuv444p14be yuv444p14le gbrp12be gbrp12le gbrp14be gbrp14le yuvj411p bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be yuv440p10le yuv440p10be yuv440p12le yuv440p12be ayuv64le ayuv64be videotoolbox_vld p010le p010be gbrap12be gbrap12le gbrap10be gbrap10le mediacodec gray12be gray12le gray10be gray10le p016le p016be d3d11 gray9be gray9le gbrpf32be gbrpf32le gbrapf32be gbrapf32le drm_prime opencl gray14be gray14le grayf32be grayf32le yuva422p12be yuva422p12le yuva444p12be yuva444p12le nv24 nv42 vulkan y210be y210le x2rgb10le x2rgb10be x2bgr10le x2bgr10be p210be p210le p410be p410le p216be p216le p416be p416le vuya rgbaf16be rgbaf16le vuyx p012le p012be y212be y212le xv30be xv30le xv36be xv36le rgbf32be rgbf32le rgbaf32be rgbaf32le p212be p212le p412be p412le gbrap14be gbrap14le d3d12 ayuv uyva vyu444 v30xbe v30xle rgbf16be rgbf16le rgba128be rgba128le rgb96be rgb96le y216be y216le xv48be xv48le gbrpf16be gbrpf16le gbrapf16be gbrapf16le grayf16be grayf16le amf gray32be gray32le yaf32be yaf32le yaf16be yaf16le gbrap32be gbrap32le yuv444p10msbbe yuv444p10msble yuv444p12msbbe yuv444p12msble gbrp10msbbe gbrp10msble gbrp12msbbe gbrp12msble ohcodec
[mpeg2video @ 0xaaaadea51e10] Slice 14 data buffer (3465 bytes) is 0x800001f.
Color spaces: unknown gbr bt709 fcc bt470bg smpte170m smpte240m ycgco bt2020nc bt2020c smpte2085 chroma-derived-nc chroma-derived-c ictcp ipt-c2 ycgco-re ycgco-ro
[mpeg2video @ 0xaaaadea51e10] Slice 15 param buffer (48 bytes) is 0x8000020.
Color ranges: unknown tv pc
[mpeg2video @ 0xaaaadea51e10] Slice 15 data buffer (3088 bytes) is 0x8000021.
Alpha modes: unspecified premultiplied straight
[mpeg2video @ 0xaaaadea51e10] Slice 16 param buffer (48 bytes) is 0x8000022.
out[0] 'default':
[mpeg2video @ 0xaaaadea51e10] Slice 16 data buffer (2950 bytes) is 0x8000023.
Pixel formats: yuv420p yuyv422 rgb24 bgr24 yuv422p yuv444p yuv410p yuv411p gray monow monob pal8 yuvj420p yuvj422p yuvj444p uyvy422 uyyvyy411 bgr8 bgr4 bgr4_byte rgb8 rgb4 rgb4_byte nv12 nv21 argb rgba abgr bgra gray16be gray16le yuv440p yuvj440p yuva420p rgb48be rgb48le rgb565be rgb565le rgb555be rgb555le bgr565be bgr565le bgr555be bgr555le vaapi yuv420p16le yuv420p16be yuv422p16le yuv422p16be yuv444p16le yuv444p16be dxva2_vld rgb444le rgb444be bgr444le bgr444be ya8 bgr48be bgr48le yuv420p9be yuv420p9le yuv420p10be yuv420p10le yuv422p10be yuv422p10le yuv444p9be yuv444p9le yuv444p10be yuv444p10le yuv422p9be yuv422p9le gbrp gbrp9be gbrp9le gbrp10be gbrp10le gbrp16be gbrp16le yuva422p yuva444p yuva420p9be yuva420p9le yuva422p9be yuva422p9le yuva444p9be yuva444p9le yuva420p10be yuva420p10le yuva422p10be yuva422p10le yuva444p10be yuva444p10le yuva420p16be yuva420p16le yuva422p16be yuva422p16le yuva444p16be yuva444p16le vdpau xyz12le xyz12be nv16 nv20le nv20be rgba64be rgba64le bgra64be bgra64le yvyu422 ya16be ya16le gbrap gbrap16be gbrap16le qsv mmal d3d11va_vld cuda 0rgb rgb0 0bgr bgr0 yuv420p12be yuv420p12le yuv420p14be yuv420p14le yuv422p12be yuv422p12le yuv422p14be yuv422p14le yuv444p12be yuv444p12le yuv444p14be yuv444p14le gbrp12be gbrp12le gbrp14be gbrp14le yuvj411p bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be yuv440p10le yuv440p10be yuv440p12le yuv440p12be ayuv64le ayuv64be videotoolbox_vld p010le p010be gbrap12be gbrap12le gbrap10be gbrap10le mediacodec gray12be gray12le gray10be gray10le p016le p016be d3d11 gray9be gray9le gbrpf32be gbrpf32le gbrapf32be gbrapf32le drm_prime opencl gray14be gray14le grayf32be grayf32le yuva422p12be yuva422p12le yuva444p12be yuva444p12le nv24 nv42 vulkan y210be y210le x2rgb10le x2rgb10be x2bgr10le x2bgr10be p210be p210le p410be p410le p216be p216le p416be p416le vuya rgbaf16be rgbaf16le vuyx p012le p012be y212be y212le xv30be xv30le xv36be xv36le rgbf32be rgbf32le rgbaf32be rgbaf32le p212be p212le p412be p412le gbrap14be gbrap14le d3d12 ayuv uyva vyu444 v30xbe v30xle rgbf16be rgbf16le rgba128be rgba128le rgb96be rgb96le y216be y216le xv48be xv48le gbrpf16be gbrpf16le gbrapf16be gbrapf16le grayf16be grayf16le amf gray32be gray32le yaf32be yaf32le yaf16be yaf16le gbrap32be gbrap32le yuv444p10msbbe yuv444p10msble yuv444p12msbbe yuv444p12msble gbrp10msbbe gbrp10msble gbrp12msbbe gbrp12msble ohcodec
[mpeg2video @ 0xaaaadea51e10] Slice 17 param buffer (48 bytes) is 0x8000024.
Color spaces: unknown gbr bt709 fcc bt470bg smpte170m smpte240m ycgco bt2020nc bt2020c smpte2085 chroma-derived-nc chroma-derived-c ictcp ipt-c2 ycgco-re ycgco-ro
[mpeg2video @ 0xaaaadea51e10] Slice 17 data buffer (2870 bytes) is 0x8000025.
Color ranges: unknown tv pc
[mpeg2video @ 0xaaaadea51e10] Slice 18 param buffer (48 bytes) is 0x8000026.
Alpha modes: unspecified premultiplied straight
[mpeg2video @ 0xaaaadea51e10] Slice 18 data buffer (3061 bytes) is 0x8000027.
Filter 'graph -1 input from stream 0:0' formats:
out[0] 'default':
[mpeg2video @ 0xaaaadea51e10] Slice 19 param buffer (48 bytes) is 0x8000028.
Pixel formats: nv12
[mpeg2video @ 0xaaaadea51e10] Slice 19 data buffer (2878 bytes) is 0x8000029.
Color spaces: bt709
[mpeg2video @ 0xaaaadea51e10] Slice 20 param buffer (48 bytes) is 0x800002a.
Color ranges: tv
[mpeg2video @ 0xaaaadea51e10] Slice 20 data buffer (3111 bytes) is 0x800002b.
Alpha modes: unspecified premultiplied straight
[mpeg2video @ 0xaaaadea51e10] Slice 21 param buffer (48 bytes) is 0x800002c.
Filter 'out_#0:0' formats:
[mpeg2video @ 0xaaaadea51e10] Slice 21 data buffer (3461 bytes) is 0x800002d.
in[0] 'default':
[mpeg2video @ 0xaaaadea51e10] Slice 22 param buffer (48 bytes) is 0x800002e.
Pixel formats: yuv420p yuyv422 rgb24 bgr24 yuv422p yuv444p yuv410p yuv411p gray monow monob pal8 yuvj420p yuvj422p yuvj444p uyvy422 uyyvyy411 bgr8 bgr4 bgr4_byte rgb8 rgb4 rgb4_byte nv12 nv21 argb rgba abgr bgra gray16be gray16le yuv440p yuvj440p yuva420p rgb48be rgb48le rgb565be rgb565le rgb555be rgb555le bgr565be bgr565le bgr555be bgr555le vaapi yuv420p16le yuv420p16be yuv422p16le yuv422p16be yuv444p16le yuv444p16be dxva2_vld rgb444le rgb444be bgr444le bgr444be ya8 bgr48be bgr48le yuv420p9be yuv420p9le yuv420p10be yuv420p10le yuv422p10be yuv422p10le yuv444p9be yuv444p9le yuv444p10be yuv444p10le yuv422p9be yuv422p9le gbrp gbrp9be gbrp9le gbrp10be gbrp10le gbrp16be gbrp16le yuva422p yuva444p yuva420p9be yuva420p9le yuva422p9be yuva422p9le yuva444p9be yuva444p9le yuva420p10be yuva420p10le yuva422p10be yuva422p10le yuva444p10be yuva444p10le yuva420p16be yuva420p16le yuva422p16be yuva422p16le yuva444p16be yuva444p16le vdpau xyz12le xyz12be nv16 nv20le nv20be rgba64be rgba64le bgra64be bgra64le yvyu422 ya16be ya16le gbrap gbrap16be gbrap16le qsv mmal d3d11va_vld cuda 0rgb rgb0 0bgr bgr0 yuv420p12be yuv420p12le yuv420p14be yuv420p14le yuv422p12be yuv422p12le yuv422p14be yuv422p14le yuv444p12be yuv444p12le yuv444p14be yuv444p14le gbrp12be gbrp12le gbrp14be gbrp14le yuvj411p bayer_bggr8 bayer_rggb8 bayer_gbrg8 bayer_grbg8 bayer_bggr16le bayer_bggr16be bayer_rggb16le bayer_rggb16be bayer_gbrg16le bayer_gbrg16be bayer_grbg16le bayer_grbg16be yuv440p10le yuv440p10be yuv440p12le yuv440p12be ayuv64le ayuv64be videotoolbox_vld p010le p010be gbrap12be gbrap12le gbrap10be gbrap10le mediacodec gray12be gray12le gray10be gray10le p016le p016be d3d11 gray9be gray9le gbrpf32be gbrpf32le gbrapf32be gbrapf32le drm_prime opencl gray14be gray14le grayf32be grayf32le yuva422p12be yuva422p12le yuva444p12be yuva444p12le nv24 nv42 vulkan y210be y210le x2rgb10le x2rgb10be x2bgr10le x2bgr10be p210be p210le p410be p410le p216be p216le p416be p416le vuya rgbaf16be rgbaf16le vuyx p012le p012be y212be y212le xv30be xv30le xv36be xv36le rgbf32be rgbf32le rgbaf32be rgbaf32le p212be p212le p412be p412le gbrap14be gbrap14le d3d12 ayuv uyva vyu444 v30xbe v30xle rgbf16be rgbf16le rgba128be rgba128le rgb96be rgb96le y216be y216le xv48be xv48le gbrpf16be gbrpf16le gbrapf16be gbrapf16le grayf16be grayf16le amf gray32be gray32le yaf32be yaf32le yaf16be yaf16le gbrap32be gbrap32le yuv444p10msbbe yuv444p10msble yuv444p12msbbe yuv444p12msble gbrp10msbbe gbrp10msble gbrp12msbbe gbrp12msble ohcodec
[mpeg2video @ 0xaaaadea51e10] Slice 22 data buffer (3830 bytes) is 0x800002f.
Color spaces: unknown gbr bt709 fcc bt470bg smpte170m smpte240m ycgco bt2020nc bt2020c smpte2085 chroma-derived-nc chroma-derived-c ictcp ipt-c2 ycgco-re ycgco-ro
[mpeg2video @ 0xaaaadea51e10] Slice 23 param buffer (48 bytes) is 0x8000030.
Color ranges: unknown tv pc
[mpeg2video @ 0xaaaadea51e10] Slice 23 data buffer (4831 bytes) is 0x8000031.
Alpha modes: unspecified premultiplied straight
[mpeg2video @ 0xaaaadea51e10] Slice 24 param buffer (48 bytes) is 0x8000032.
[AVFilterGraph @ 0xffff90000f80] query_formats: 3 queried, 8 merged, 0 already done, 0 delayed
[mpeg2video @ 0xaaaadea51e10] Slice 24 data buffer (4674 bytes) is 0x8000033.
Output #0, null, to 'pipe:':
[mpeg2video @ 0xaaaadea51e10] Slice 25 param buffer (48 bytes) is 0x8000034.
Metadata:
[mpeg2video @ 0xaaaadea51e10] Slice 25 data buffer (4374 bytes) is 0x8000035.
encoder : Slice 26 param buffer (48 bytes) is 0x8000036.
Lavf62.12.100
Stream #0Slice 26 data buffer (3633 bytes) is 0x8000037.
:0, 0, 1/24: Video: wrapped_avframe, 1 reference frame, nv12(tv, bt709, progressive, left), 1280x720 [SAR 1:1 DAR 16:9], 0/1, q=2-31, 200 kb/s, 24 fps, Slice 27 param buffer (48 bytes) is 0x8000038.
24 tbnSlice 27 data buffer (3352 bytes) is 0x8000039.
Metadata:
[mpeg2video @ 0xaaaadea51e10] Slice 28 param buffer (48 bytes) is 0x800003a.
encoder : Slice 28 data buffer (2571 bytes) is 0x800003b.
Lavc62.28.100 wrapped_avframe
[mpeg2video @ 0xaaaadea51e10] Slice 29 param buffer (48 bytes) is 0x800003c.
[out#0/null @ 0xaaaadea53500] Starting thread...
[mpeg2video @ 0xaaaadea51e10] Slice 29 data buffer (2883 bytes) is 0x800003d.
[mpeg2video @ 0xaaaadea51e10] Slice 30 param buffer (48 bytes) is 0x800003e.
[mpeg2video @ 0xaaaadea51e10] Slice 30 data buffer (3229 bytes) is 0x800003f.
[out#0/null @ 0xaaaadea53500] sq: send 0 ts 0.0416667
[mpeg2video @ 0xaaaadea51e10] Slice 31 param buffer (48 bytes) is 0x8000040.
[out#0/null @ 0xaaaadea53500] sq: receive 0 ts 0.0416667 queue head 0 ts 0.0416667
[mpeg2video @ 0xaaaadea51e10] Slice 31 data buffer (3281 bytes) is 0x8000041.
[mpeg2video @ 0xaaaadea51e10] Slice 32 param buffer (48 bytes) is 0x8000042.
[mpeg2video @ 0xaaaadea51e10] Slice 32 data buffer (3601 bytes) is 0x8000043.
[mpeg2video @ 0xaaaadea51e10] Slice 33 param buffer (48 bytes) is 0x8000044.
[mpeg2video @ 0xaaaadea51e10] Slice 33 data buffer (3605 bytes) is 0x8000045.
[mpeg2video @ 0xaaaadea51e10] Slice 34 param buffer (48 bytes) is 0x8000046.
[mpeg2video @ 0xaaaadea51e10] Slice 34 data buffer (3359 bytes) is 0x8000047.
[mpeg2video @ 0xaaaadea51e10] Slice 35 param buffer (48 bytes) is 0x8000048.
[mpeg2video @ 0xaaaadea51e10] Slice 35 data buffer (2960 bytes) is 0x8000049.
[mpeg2video @ 0xaaaadea51e10] Slice 36 param buffer (48 bytes) is 0x800004a.
[mpeg2video @ 0xaaaadea51e10] Slice 36 data buffer (3010 bytes) is 0x800004b.
[mpeg2video @ 0xaaaadea51e10] Slice 37 param buffer (48 bytes) is 0x800004c.
[mpeg2video @ 0xaaaadea51e10] Slice 37 data buffer (2942 bytes) is 0x800004d.
[mpeg2video @ 0xaaaadea51e10] Slice 38 param buffer (48 bytes) is 0x800004e.
[mpeg2video @ 0xaaaadea51e10] Slice 38 data buffer (2781 bytes) is 0x800004f.
[mpeg2video @ 0xaaaadea51e10] Slice 39 param buffer (48 bytes) is 0x8000050.
[mpeg2video @ 0xaaaadea51e10] Slice 39 data buffer (2854 bytes) is 0x8000051.
[mpeg2video @ 0xaaaadea51e10] Slice 40 param buffer (48 bytes) is 0x8000052.
[mpeg2video @ 0xaaaadea51e10] Slice 40 data buffer (2905 bytes) is 0x8000053.
[mpeg2video @ 0xaaaadea51e10] Slice 41 param buffer (48 bytes) is 0x8000054.
[mpeg2video @ 0xaaaadea51e10] Slice 41 data buffer (2620 bytes) is 0x8000055.
[mpeg2video @ 0xaaaadea51e10] Slice 42 param buffer (48 bytes) is 0x8000056.
[mpeg2video @ 0xaaaadea51e10] Slice 42 data buffer (2327 bytes) is 0x8000057.
[mpeg2video @ 0xaaaadea51e10] Slice 43 param buffer (48 bytes) is 0x8000058.
frame= 1 fps=0.0 q=-0.0 size=N/A time=00:00:00.04 bitrate=N/A speed=0.0833x elapsed=0:00:00.50
[mpeg2video @ 0xaaaadea51e10] Slice 43 data buffer (2176 bytes) is 0x8000059.
[mpeg2video @ 0xaaaadea51e10] Slice 44 param buffer (48 bytes) is 0x800005a.
[mpeg2video @ 0xaaaadea51e10] Slice 44 data buffer (2078 bytes) is 0x800005b.
[mpeg2video @ 0xaaaadea51e10] Decode to surface 0x4000002.
v4l2-request: Unable to set control(s): Invalid argument
[AVHWFramesContext @ 0xffff8c000c50] Map surface 0x4000001.
[AVHWFramesContext @ 0xffff8c000c50] Unmap surface 0x4000001.
[out#0/null @ 0xaaaadea53500] sq: send 0 ts 0.0833333
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 0, 40 bytes) is 0x800005b.
[out#0/null @ 0xaaaadea53500] sq: 0 frames_max 2 reached
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 1, 288 bytes) is 0x800005a.
[out#0/null @ 0xaaaadea53500] sq: finish 0; head ts 0.0833333
[mpeg2video @ 0xaaaadea51e10] Slice 0 param buffer (48 bytes) is 0x8000059.
[out#0/null @ 0xaaaadea53500] sq: finish queue
[mpeg2video @ 0xaaaadea51e10] Slice 0 data buffer (4115 bytes) is 0x8000058.
[out#0/null @ 0xaaaadea53500] sq: receive 0 ts 0.0833333 queue head 0 ts 0.0833333
[mpeg2video @ 0xaaaadea51e10] Slice 1 param buffer (48 bytes) is 0x8000057.
[out#0/null @ 0xaaaadea53500] sq: 0 EOF
[out#0/null @ 0xaaaadea53500] sq: finish queue
[vost#0:0/wrapped_avframe @ 0xaaaadea53980] [enc:wrapped_avframe @ 0xaaaadea538b0] Encoder thread received EOF
[mpeg2video @ 0xaaaadea51e10] Slice 1 data buffer (3537 bytes) is 0x8000056.
[vost#0:0/wrapped_avframe @ 0xaaaadea53980] Terminating thread with return code 0 (success)
[mpeg2video @ 0xaaaadea51e10] Slice 2 param buffer (48 bytes) is 0x8000055.
[out#0/null @ 0xaaaadea53500] All streams finished
[mpeg2video @ 0xaaaadea51e10] Slice 2 data buffer (3400 bytes) is 0x8000054.
[out#0/null @ 0xaaaadea53500] Terminating thread with return code 0 (success)
[mpeg2video @ 0xaaaadea51e10] Slice 3 param buffer (48 bytes) is 0x8000053.
[mpeg2video @ 0xaaaadea51e10] Slice 3 data buffer (3604 bytes) is 0x8000052.
[mpeg2video @ 0xaaaadea51e10] Slice 4 param buffer (48 bytes) is 0x8000051.
[mpeg2video @ 0xaaaadea51e10] Slice 4 data buffer (3658 bytes) is 0x8000050.
[mpeg2video @ 0xaaaadea51e10] Slice 5 param buffer (48 bytes) is 0x800004f.
[mpeg2video @ 0xaaaadea51e10] Slice 5 data buffer (3410 bytes) is 0x800004e.
[mpeg2video @ 0xaaaadea51e10] Slice 6 param buffer (48 bytes) is 0x800004d.
[mpeg2video @ 0xaaaadea51e10] Slice 6 data buffer (3265 bytes) is 0x800004c.
[mpeg2video @ 0xaaaadea51e10] Slice 7 param buffer (48 bytes) is 0x800004b.
[mpeg2video @ 0xaaaadea51e10] Slice 7 data buffer (3507 bytes) is 0x800004a.
[mpeg2video @ 0xaaaadea51e10] Slice 8 param buffer (48 bytes) is 0x8000049.
[mpeg2video @ 0xaaaadea51e10] Slice 8 data buffer (3243 bytes) is 0x8000048.
[mpeg2video @ 0xaaaadea51e10] Slice 9 param buffer (48 bytes) is 0x8000047.
[mpeg2video @ 0xaaaadea51e10] Slice 9 data buffer (3235 bytes) is 0x8000046.
[mpeg2video @ 0xaaaadea51e10] Slice 10 param buffer (48 bytes) is 0x8000045.
[mpeg2video @ 0xaaaadea51e10] Slice 10 data buffer (3501 bytes) is 0x8000044.
[mpeg2video @ 0xaaaadea51e10] Slice 11 param buffer (48 bytes) is 0x8000043.
[mpeg2video @ 0xaaaadea51e10] Slice 11 data buffer (4009 bytes) is 0x8000042.
[mpeg2video @ 0xaaaadea51e10] Slice 12 param buffer (48 bytes) is 0x8000041.
[mpeg2video @ 0xaaaadea51e10] Slice 12 data buffer (4068 bytes) is 0x8000040.
[mpeg2video @ 0xaaaadea51e10] Slice 13 param buffer (48 bytes) is 0x800003f.
[mpeg2video @ 0xaaaadea51e10] Slice 13 data buffer (3685 bytes) is 0x800003e.
[mpeg2video @ 0xaaaadea51e10] Slice 14 param buffer (48 bytes) is 0x800003d.
[mpeg2video @ 0xaaaadea51e10] Slice 14 data buffer (3450 bytes) is 0x800003c.
[mpeg2video @ 0xaaaadea51e10] Slice 15 param buffer (48 bytes) is 0x800003b.
[mpeg2video @ 0xaaaadea51e10] Slice 15 data buffer (3055 bytes) is 0x800003a.
[mpeg2video @ 0xaaaadea51e10] Slice 16 param buffer (48 bytes) is 0x8000039.
[mpeg2video @ 0xaaaadea51e10] Slice 16 data buffer (2922 bytes) is 0x8000038.
[mpeg2video @ 0xaaaadea51e10] Slice 17 param buffer (48 bytes) is 0x8000037.
[mpeg2video @ 0xaaaadea51e10] Slice 17 data buffer (2973 bytes) is 0x8000036.
[mpeg2video @ 0xaaaadea51e10] Slice 18 param buffer (48 bytes) is 0x8000035.
[mpeg2video @ 0xaaaadea51e10] Slice 18 data buffer (3110 bytes) is 0x8000034.
[mpeg2video @ 0xaaaadea51e10] Slice 19 param buffer (48 bytes) is 0x8000033.
[mpeg2video @ 0xaaaadea51e10] Slice 19 data buffer (3119 bytes) is 0x8000032.
[mpeg2video @ 0xaaaadea51e10] Slice 20 param buffer (48 bytes) is 0x8000031.
[mpeg2video @ 0xaaaadea51e10] Slice 20 data buffer (3372 bytes) is 0x8000030.
[mpeg2video @ 0xaaaadea51e10] Slice 21 param buffer (48 bytes) is 0x800002f.
[mpeg2video @ 0xaaaadea51e10] Slice 21 data buffer (3704 bytes) is 0x800002e.
[mpeg2video @ 0xaaaadea51e10] Slice 22 param buffer (48 bytes) is 0x800002d.
[mpeg2video @ 0xaaaadea51e10] Slice 22 data buffer (4113 bytes) is 0x800002c.
[mpeg2video @ 0xaaaadea51e10] Slice 23 param buffer (48 bytes) is 0x800002b.
[mpeg2video @ 0xaaaadea51e10] Slice 23 data buffer (5112 bytes) is 0x800002a.
[mpeg2video @ 0xaaaadea51e10] Slice 24 param buffer (48 bytes) is 0x8000029.
[mpeg2video @ 0xaaaadea51e10] Slice 24 data buffer (4821 bytes) is 0x8000028.
[mpeg2video @ 0xaaaadea51e10] Slice 25 param buffer (48 bytes) is 0x8000027.
[mpeg2video @ 0xaaaadea51e10] Slice 25 data buffer (4518 bytes) is 0x8000026.
[mpeg2video @ 0xaaaadea51e10] Slice 26 param buffer (48 bytes) is 0x8000025.
[mpeg2video @ 0xaaaadea51e10] Slice 26 data buffer (3756 bytes) is 0x8000024.
[mpeg2video @ 0xaaaadea51e10] Slice 27 param buffer (48 bytes) is 0x8000023.
[mpeg2video @ 0xaaaadea51e10] Slice 27 data buffer (3321 bytes) is 0x8000022.
[mpeg2video @ 0xaaaadea51e10] Slice 28 param buffer (48 bytes) is 0x8000021.
[mpeg2video @ 0xaaaadea51e10] Slice 28 data buffer (2575 bytes) is 0x8000020.
[mpeg2video @ 0xaaaadea51e10] Slice 29 param buffer (48 bytes) is 0x800001f.
[mpeg2video @ 0xaaaadea51e10] Slice 29 data buffer (2882 bytes) is 0x800001e.
[mpeg2video @ 0xaaaadea51e10] Slice 30 param buffer (48 bytes) is 0x800001d.
[mpeg2video @ 0xaaaadea51e10] Slice 30 data buffer (3226 bytes) is 0x800001c.
[mpeg2video @ 0xaaaadea51e10] Slice 31 param buffer (48 bytes) is 0x800001b.
[mpeg2video @ 0xaaaadea51e10] Slice 31 data buffer (3317 bytes) is 0x800001a.
[mpeg2video @ 0xaaaadea51e10] Slice 32 param buffer (48 bytes) is 0x8000019.
[mpeg2video @ 0xaaaadea51e10] Slice 32 data buffer (3560 bytes) is 0x8000018.
[mpeg2video @ 0xaaaadea51e10] Slice 33 param buffer (48 bytes) is 0x8000017.
[mpeg2video @ 0xaaaadea51e10] Slice 33 data buffer (3668 bytes) is 0x8000016.
[mpeg2video @ 0xaaaadea51e10] Slice 34 param buffer (48 bytes) is 0x8000015.
[mpeg2video @ 0xaaaadea51e10] Slice 34 data buffer (3433 bytes) is 0x8000014.
[mpeg2video @ 0xaaaadea51e10] Slice 35 param buffer (48 bytes) is 0x8000013.
[mpeg2video @ 0xaaaadea51e10] Slice 35 data buffer (2976 bytes) is 0x8000012.
[mpeg2video @ 0xaaaadea51e10] Slice 36 param buffer (48 bytes) is 0x8000011.
[mpeg2video @ 0xaaaadea51e10] Slice 36 data buffer (2930 bytes) is 0x8000010.
[mpeg2video @ 0xaaaadea51e10] Slice 37 param buffer (48 bytes) is 0x800000f.
[mpeg2video @ 0xaaaadea51e10] Slice 37 data buffer (2966 bytes) is 0x800000e.
[mpeg2video @ 0xaaaadea51e10] Slice 38 param buffer (48 bytes) is 0x800000d.
[mpeg2video @ 0xaaaadea51e10] Slice 38 data buffer (2754 bytes) is 0x800000c.
[mpeg2video @ 0xaaaadea51e10] Slice 39 param buffer (48 bytes) is 0x800000b.
[mpeg2video @ 0xaaaadea51e10] Slice 39 data buffer (2861 bytes) is 0x800000a.
[mpeg2video @ 0xaaaadea51e10] Slice 40 param buffer (48 bytes) is 0x8000009.
[mpeg2video @ 0xaaaadea51e10] Slice 40 data buffer (3060 bytes) is 0x8000008.
[mpeg2video @ 0xaaaadea51e10] Slice 41 param buffer (48 bytes) is 0x8000007.
[mpeg2video @ 0xaaaadea51e10] Slice 41 data buffer (2759 bytes) is 0x8000006.
[mpeg2video @ 0xaaaadea51e10] Slice 42 param buffer (48 bytes) is 0x8000005.
[mpeg2video @ 0xaaaadea51e10] Slice 42 data buffer (2497 bytes) is 0x8000004.
[mpeg2video @ 0xaaaadea51e10] Slice 43 param buffer (48 bytes) is 0x8000003.
[mpeg2video @ 0xaaaadea51e10] Slice 43 data buffer (2236 bytes) is 0x8000002.
[mpeg2video @ 0xaaaadea51e10] Slice 44 param buffer (48 bytes) is 0x8000001.
[mpeg2video @ 0xaaaadea51e10] Slice 44 data buffer (2110 bytes) is 0x8000000.
[mpeg2video @ 0xaaaadea51e10] Decode to surface 0x4000000.
v4l2-request: Unable to set control(s): Invalid argument
[AVHWFramesContext @ 0xffff8c000c50] Map surface 0x4000002.
[AVHWFramesContext @ 0xffff8c000c50] Unmap surface 0x4000002.
[vf#0:0 @ 0xaaaadea523c0] All consumers returned EOF
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 0, 40 bytes) is 0x8000000.
[in#0/mpegts @ 0xaaaade959060] Terminating thread with return code 0 (success)
[mpeg2video @ 0xaaaadea51e10] Param buffer (type 1, 288 bytes) is 0x8000001.
[mpeg2video @ 0xaaaadea51e10] Slice 0 param buffer (48 bytes) is 0x8000002.
[out#0/null @ 0xaaaadea53500] sq: 0 EOF
[mpeg2video @ 0xaaaadea51e10] Slice 0 data buffer (1420 bytes) is 0x8000003.
[out#0/null @ 0xaaaadea53500] sq: finish queue
[mpeg2video @ 0xaaaadea51e10] Slice 1 param buffer (48 bytes) is 0x8000004.
[vf#0:0 @ 0xaaaadea523c0] Terminating thread with return code 0 (success)
[mpeg2video @ 0xaaaadea51e10] Slice 1 data buffer (1128 bytes) is 0x8000005.
[mpeg2video @ 0xaaaadea51e10] Slice 2 param buffer (48 bytes) is 0x8000006.
[mpeg2video @ 0xaaaadea51e10] Slice 2 data buffer (1026 bytes) is 0x8000007.
[mpeg2video @ 0xaaaadea51e10] Slice 3 param buffer (48 bytes) is 0x8000008.
[mpeg2video @ 0xaaaadea51e10] Slice 3 data buffer (1104 bytes) is 0x8000009.
[mpeg2video @ 0xaaaadea51e10] Slice 4 param buffer (48 bytes) is 0x800000a.
[mpeg2video @ 0xaaaadea51e10] Slice 4 data buffer (1192 bytes) is 0x800000b.
[mpeg2video @ 0xaaaadea51e10] Slice 5 param buffer (48 bytes) is 0x800000c.
[mpeg2video @ 0xaaaadea51e10] Slice 5 data buffer (1029 bytes) is 0x800000d.
[mpeg2video @ 0xaaaadea51e10] Slice 6 param buffer (48 bytes) is 0x800000e.
[mpeg2video @ 0xaaaadea51e10] Slice 6 data buffer (965 bytes) is 0x800000f.
[mpeg2video @ 0xaaaadea51e10] Slice 7 param buffer (48 bytes) is 0x8000010.
[mpeg2video @ 0xaaaadea51e10] Slice 7 data buffer (966 bytes) is 0x8000011.
[mpeg2video @ 0xaaaadea51e10] Slice 8 param buffer (48 bytes) is 0x8000012.
[mpeg2video @ 0xaaaadea51e10] Slice 8 data buffer (891 bytes) is 0x8000013.
[mpeg2video @ 0xaaaadea51e10] Slice 9 param buffer (48 bytes) is 0x8000014.
[mpeg2video @ 0xaaaadea51e10] Slice 9 data buffer (861 bytes) is 0x8000015.
[mpeg2video @ 0xaaaadea51e10] Slice 10 param buffer (48 bytes) is 0x8000016.
[mpeg2video @ 0xaaaadea51e10] Slice 10 data buffer (995 bytes) is 0x8000017.
[mpeg2video @ 0xaaaadea51e10] Slice 11 param buffer (48 bytes) is 0x8000018.
[mpeg2video @ 0xaaaadea51e10] Slice 11 data buffer (1254 bytes) is 0x8000019.
[mpeg2video @ 0xaaaadea51e10] Slice 12 param buffer (48 bytes) is 0x800001a.
[mpeg2video @ 0xaaaadea51e10] Slice 12 data buffer (1259 bytes) is 0x800001b.
[mpeg2video @ 0xaaaadea51e10] Slice 13 param buffer (48 bytes) is 0x800001c.
[mpeg2video @ 0xaaaadea51e10] Slice 13 data buffer (1123 bytes) is 0x800001d.
[mpeg2video @ 0xaaaadea51e10] Slice 14 param buffer (48 bytes) is 0x800001e.
[mpeg2video @ 0xaaaadea51e10] Slice 14 data buffer (1013 bytes) is 0x800001f.
[mpeg2video @ 0xaaaadea51e10] Slice 15 param buffer (48 bytes) is 0x8000020.
[mpeg2video @ 0xaaaadea51e10] Slice 15 data buffer (831 bytes) is 0x8000021.
[mpeg2video @ 0xaaaadea51e10] Slice 16 param buffer (48 bytes) is 0x8000022.
[mpeg2video @ 0xaaaadea51e10] Slice 16 data buffer (733 bytes) is 0x8000023.
[mpeg2video @ 0xaaaadea51e10] Slice 17 param buffer (48 bytes) is 0x8000024.
[mpeg2video @ 0xaaaadea51e10] Slice 17 data buffer (695 bytes) is 0x8000025.
[mpeg2video @ 0xaaaadea51e10] Slice 18 param buffer (48 bytes) is 0x8000026.
[mpeg2video @ 0xaaaadea51e10] Slice 18 data buffer (843 bytes) is 0x8000027.
[mpeg2video @ 0xaaaadea51e10] Slice 19 param buffer (48 bytes) is 0x8000028.
[mpeg2video @ 0xaaaadea51e10] Slice 19 data buffer (799 bytes) is 0x8000029.
[mpeg2video @ 0xaaaadea51e10] Slice 20 param buffer (48 bytes) is 0x800002a.
[mpeg2video @ 0xaaaadea51e10] Slice 20 data buffer (928 bytes) is 0x800002b.
[mpeg2video @ 0xaaaadea51e10] Slice 21 param buffer (48 bytes) is 0x800002c.
[mpeg2video @ 0xaaaadea51e10] Slice 21 data buffer (1040 bytes) is 0x800002d.
[mpeg2video @ 0xaaaadea51e10] Slice 22 param buffer (48 bytes) is 0x800002e.
[mpeg2video @ 0xaaaadea51e10] Slice 22 data buffer (1283 bytes) is 0x800002f.
[mpeg2video @ 0xaaaadea51e10] Slice 23 param buffer (48 bytes) is 0x8000030.
[mpeg2video @ 0xaaaadea51e10] Slice 23 data buffer (1751 bytes) is 0x8000031.
[mpeg2video @ 0xaaaadea51e10] Slice 24 param buffer (48 bytes) is 0x8000032.
[mpeg2video @ 0xaaaadea51e10] Slice 24 data buffer (1647 bytes) is 0x8000033.
[mpeg2video @ 0xaaaadea51e10] Slice 25 param buffer (48 bytes) is 0x8000034.
[mpeg2video @ 0xaaaadea51e10] Slice 25 data buffer (1430 bytes) is 0x8000035.
[mpeg2video @ 0xaaaadea51e10] Slice 26 param buffer (48 bytes) is 0x8000036.
[mpeg2video @ 0xaaaadea51e10] Slice 26 data buffer (1153 bytes) is 0x8000037.
[mpeg2video @ 0xaaaadea51e10] Slice 27 param buffer (48 bytes) is 0x8000038.
[mpeg2video @ 0xaaaadea51e10] Slice 27 data buffer (1032 bytes) is 0x8000039.
[mpeg2video @ 0xaaaadea51e10] Slice 28 param buffer (48 bytes) is 0x800003a.
[mpeg2video @ 0xaaaadea51e10] Slice 28 data buffer (755 bytes) is 0x800003b.
[mpeg2video @ 0xaaaadea51e10] Slice 29 param buffer (48 bytes) is 0x800003c.
[mpeg2video @ 0xaaaadea51e10] Slice 29 data buffer (932 bytes) is 0x800003d.
[mpeg2video @ 0xaaaadea51e10] Slice 30 param buffer (48 bytes) is 0x800003e.
[mpeg2video @ 0xaaaadea51e10] Slice 30 data buffer (1047 bytes) is 0x800003f.
[mpeg2video @ 0xaaaadea51e10] Slice 31 param buffer (48 bytes) is 0x8000040.
[mpeg2video @ 0xaaaadea51e10] Slice 31 data buffer (1139 bytes) is 0x8000041.
[mpeg2video @ 0xaaaadea51e10] Slice 32 param buffer (48 bytes) is 0x8000042.
[mpeg2video @ 0xaaaadea51e10] Slice 32 data buffer (1318 bytes) is 0x8000043.
[mpeg2video @ 0xaaaadea51e10] Slice 33 param buffer (48 bytes) is 0x8000044.
[mpeg2video @ 0xaaaadea51e10] Slice 33 data buffer (1306 bytes) is 0x8000045.
[mpeg2video @ 0xaaaadea51e10] Slice 34 param buffer (48 bytes) is 0x8000046.
[mpeg2video @ 0xaaaadea51e10] Slice 34 data buffer (1173 bytes) is 0x8000047.
[mpeg2video @ 0xaaaadea51e10] Slice 35 param buffer (48 bytes) is 0x8000048.
[mpeg2video @ 0xaaaadea51e10] Slice 35 data buffer (983 bytes) is 0x8000049.
[mpeg2video @ 0xaaaadea51e10] Slice 36 param buffer (48 bytes) is 0x800004a.
[mpeg2video @ 0xaaaadea51e10] Slice 36 data buffer (1047 bytes) is 0x800004b.
[mpeg2video @ 0xaaaadea51e10] Slice 37 param buffer (48 bytes) is 0x800004c.
[mpeg2video @ 0xaaaadea51e10] Slice 37 data buffer (1020 bytes) is 0x800004d.
[mpeg2video @ 0xaaaadea51e10] Slice 38 param buffer (48 bytes) is 0x800004e.
[mpeg2video @ 0xaaaadea51e10] Slice 38 data buffer (900 bytes) is 0x800004f.
[mpeg2video @ 0xaaaadea51e10] Slice 39 param buffer (48 bytes) is 0x8000050.
[mpeg2video @ 0xaaaadea51e10] Slice 39 data buffer (1012 bytes) is 0x8000051.
[mpeg2video @ 0xaaaadea51e10] Slice 40 param buffer (48 bytes) is 0x8000052.
[mpeg2video @ 0xaaaadea51e10] Slice 40 data buffer (1061 bytes) is 0x8000053.
[mpeg2video @ 0xaaaadea51e10] Slice 41 param buffer (48 bytes) is 0x8000054.
[mpeg2video @ 0xaaaadea51e10] Slice 41 data buffer (935 bytes) is 0x8000055.
[mpeg2video @ 0xaaaadea51e10] Slice 42 param buffer (48 bytes) is 0x8000056.
[mpeg2video @ 0xaaaadea51e10] Slice 42 data buffer (793 bytes) is 0x8000057.
[mpeg2video @ 0xaaaadea51e10] Slice 43 param buffer (48 bytes) is 0x8000058.
[mpeg2video @ 0xaaaadea51e10] Slice 43 data buffer (769 bytes) is 0x8000059.
[mpeg2video @ 0xaaaadea51e10] Slice 44 param buffer (48 bytes) is 0x800005a.
[mpeg2video @ 0xaaaadea51e10] Slice 44 data buffer (708 bytes) is 0x800005b.
[mpeg2video @ 0xaaaadea51e10] Decode to surface 0x4000001.
v4l2-request: Unable to set control(s): Invalid argument
[AVHWFramesContext @ 0xffff8c000c50] Map surface 0x4000000.
[AVHWFramesContext @ 0xffff8c000c50] Unmap surface 0x4000000.
[vist#0:0/mpeg2video @ 0xaaaadea53310] [dec:mpeg2video @ 0xaaaade959650] Decoder returned EOF, finishing
[vist#0:0/mpeg2video @ 0xaaaadea53310] [dec:mpeg2video @ 0xaaaade959650] Terminating thread with return code 0 (success)
[out#0/null @ 0xaaaadea53500] Output file #0 (pipe:):
[out#0/null @ 0xaaaadea53500] Output stream #0:0 (video): 2 frames encoded; 2 packets muxed (848 bytes);
[out#0/null @ 0xaaaadea53500] Total: 2 packets (848 bytes) muxed
[out#0/null @ 0xaaaadea53500] video:1KiB audio:0KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 2 fps=1.8 q=-0.0 Lsize=N/A time=00:00:00.08 bitrate=N/A speed=0.0751x elapsed=0:00:01.10
[in#0/mpegts @ 0xaaaade959060] Input file #0 (/home/mfritsche/fourier-test/bbb_720p10s_mpeg2.ts):
[in#0/mpegts @ 0xaaaade959060] Input stream #0:0 (video): 14 packets read (808987 bytes); 4 frames decoded; 0 decode errors;
[in#0/mpegts @ 0xaaaade959060] Total: 14 packets (808987 bytes) demuxed
[AVIOContext @ 0xaaaade9618a0] Statistics: 3952784 bytes read, 2 seeks
+367
View File
@@ -0,0 +1,367 @@
# Iteration 1 — Phase 3 (baseline measurements)
Phase 3 baselines for the iter1 MPEG-2 boolean-correctness work, captured 2026-05-08 00:39 CEST after fresnel reboot. All four baseline runs and the verbatim output anchors are in [`phase0_evidence/2026-05-07/iter1_phase3/`](phase0_evidence/2026-05-07/iter1_phase3/).
Phase 3 discipline (per `feedback_dev_process.md`): raw data leads, derived numbers are anchored to the visible tool invocation that produced them. Every "this matches Phase 2 prediction" claim cites a verbatim line from the captured trace, not a paraphrase.
## Reset context
```
$ ssh fresnel 'hostname; uname -r; uptime'
fresnel
6.19.9-99-eos-arm
00:31:35 up 4 min, 2 users, load average: 1.01, 0.70, 0.34
$ loginctl list-sessions --no-pager | head
SESSION UID USER SEAT LEADER CLASS TTY IDLE SINCE
2 1000 mfritsche seat0 2244 user tty1 no -
```
fresnel rebooted between Phase 2 and Phase 3 (uptime 4 min explains the `No route to host` Phase 2 noted). SDDM watchpoint condition not triggered: `journalctl -u sddm -b | grep -E "(qFatal|crash|Error|fatal|SIGABRT)"` returns empty for this boot. Plasma Wayland session active on tty1, mfritsche logged in.
## Baseline A — pre-patch failure mode
**Goal**: capture the exact path that produces `vaCreateConfig: 12 (UNSUPPORTED_PROFILE)` on master tip `65969da`, before any iter1 work touches the code.
**Invocation**:
```bash
strace -ff -tt -y -e trace=ioctl,openat,close \
-o /tmp/iter1_phase3/baseline_A_ffmpeg/ffmpeg.strace \
env LIBVA_DRIVER_NAME=v4l2_request \
LIBVA_V4L2_REQUEST_VIDEO_PATH=/dev/video5 \
LIBVA_V4L2_REQUEST_MEDIA_PATH=/dev/media2 \
LIBVA_TRACE=/tmp/iter1_phase3/baseline_A_ffmpeg/libva.trace \
ffmpeg -hide_banner -loglevel debug -hwaccel vaapi \
-i ~/fourier-test/bbb_720p10s_mpeg2.ts -frames:v 2 -f null -
```
**Verbatim libva trace** ([`baseline_A_ffmpeg/libva.trace.*`](phase0_evidence/2026-05-07/iter1_phase3/baseline_A_ffmpeg/)):
```
[5276.234210][ctx none] VA-API vendor string: v4l2-request
[5276.234352][ctx none] vaInitialize ret = VA_STATUS_SUCCESS, success (no error)
[5276.264142][ctx none] vaQueryConfigProfiles ret = VA_STATUS_SUCCESS, success (no error)
[5276.264347][ctx none] va_TraceCreateConfig
[5276.264351][ctx none] profile = 1, VAProfileMPEG2Main
[5276.264354][ctx none] entrypoint = 1, VAEntrypointVLD
[5276.264357][ctx none] num_attribs = 0
[5276.264606][ctx none] vaCreateConfig ret = VA_STATUS_ERROR_UNSUPPORTED_PROFILE, the requested VAProfile is not supported
[5276.425879][ctx none] va_TraceTerminate
[5276.426283][ctx none] vaTerminate ret = VA_STATUS_SUCCESS, success (no error)
```
**Verbatim ffmpeg log** ([`baseline_A_ffmpeg/ffmpeg.stdout`](phase0_evidence/2026-05-07/iter1_phase3/baseline_A_ffmpeg/ffmpeg.stdout)):
```
[VAAPI @ 0xaaaaef94e010] libva: User environment variable requested driver 'v4l2_request'
[VAAPI @ 0xaaaaef94e010] libva: Trying to open /usr/lib/dri/v4l2_request_drv_video.so
[VAAPI @ 0xaaaaef94e010] libva: Found init function __vaDriverInit_1_23
[VAAPI @ 0xaaaaef94e010] Initialised VAAPI connection: version 1.23
[VAAPI @ 0xaaaaef94e010] VAAPI driver: v4l2-request.
[mpeg2video @ 0xaaaaef99ee10] Format vaapi chosen by get_format().
[mpeg2video @ 0xaaaaef99ee10] Format vaapi requires hwaccel mpeg2_vaapi initialisation.
[mpeg2video @ 0xaaaaef99ee10] Failed to create decode configuration: 12 (the requested VAProfile is not supported).
[mpeg2video @ 0xaaaaef99ee10] Failed setup for format vaapi: hwaccel initialisation returned error.
[mpeg2video @ 0xaaaaef99ee10] Format vaapi not usable, retrying get_format() without it.
```
**Verbatim ioctl summary**:
```
10 ioctl(6</dev/video5>, VIDIOC_ENUM_FMT
4 ioctl(4</dev/dri/renderD128>, DRM_IOCTL_VERSION
1 ioctl(6</dev/video5>, VIDIOC_QUERYCAP
```
12 ftrace v4l2 lines (the ENUM_FMT probe events). Zero VIDIOC_S_FMT, zero REQBUFS, zero S_EXT_CTRLS, zero MEDIA_IOC_REQUEST_ALLOC. Decode never starts.
**Confirms Phase 2 Bug 1 directly**: `vaCreateConfig` returns `VA_STATUS_ERROR_UNSUPPORTED_PROFILE` for `VAProfileMPEG2Main` — the missing `break;` at `src/config.c:65-66` makes execution fall through to `default:` (line 67-68) which returns the error code we observe (`12`).
**mpv-as-driver does not reach this path**: a separate baseline run with `mpv --hwdec=vaapi-copy` instead of `ffmpeg -hwaccel vaapi` showed mpv silently fall back to SW decode without ever loading libva for MPEG-2 (no `[vaapi]` log lines, zero V4L2 ioctls, zero libva trace files). mpv's hwdec policy filters MPEG-2 out of vaapi-copy candidates before libva is touched. **Phase 1 success criterion #3 (mpv MPEG-2 engages backend) requires either an mpv config override or a different invocation path** — to be addressed in Phase 4 plan. ffmpeg-direct invocations exercise the full path.
## Baseline B — post Bug 1 patch failure mode
**Goal**: with the missing `break;` added as a Phase 3 scratch test, see what fails downstream. Predicted by Phase 2: `VIDIOC_S_EXT_CTRLS` returns `EINVAL` because the staging-era CID `V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS` (= `0x9909fa`) doesn't exist on this kernel.
**Patch applied** (scratch only, on throwaway branch `iter1-phase3-scratch`, reverted at end of Phase 3):
```diff
@@ -63,6 +63,8 @@ VAStatus RequestCreateConfig(VADriverContextP context, VAProfile profile,
break;
case VAProfileMPEG2Simple:
case VAProfileMPEG2Main:
+ // Phase 3 scratch — would break here in real fix
+ break;
case VAProfileHEVCMain:
default:
return VA_STATUS_ERROR_UNSUPPORTED_PROFILE;
```
Rebuilt + installed (`ninja -C build && sudo ninja -C build install`).
**Verbatim libva trace** showing config-create now succeeds:
```
[5329.689037][ctx none] vaQueryConfigProfiles ret = VA_STATUS_SUCCESS
[5329.689228][ctx none] va_TraceCreateConfig
[5329.689233][ctx none] profile = 1, VAProfileMPEG2Main
[5329.689237][ctx none] entrypoint = 1, VAEntrypointVLD
[5329.689239][ctx none] num_attribs = 0
[5329.689471][ctx none] vaCreateConfig ret = VA_STATUS_SUCCESS, success (no error)
[5329.689703][ctx none] vaQuerySurfaceAttributes ret = VA_STATUS_SUCCESS
... (9 more vaQuerySurfaceAttributes calls; surface format negotiation works)
```
**Verbatim failing ioctl** (extracted from `baseline_B_postbug1/ffmpeg.strace.*`, 6 occurrences across 5 frames):
```
ioctl(6</dev/video5>, VIDIOC_S_EXT_CTRLS,
{ctrl_class=0xf010000 /* V4L2_CTRL_CLASS_??? */,
count=1,
controls=[
{id=V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS,
size=56,
string="h\1\17\0\0\0\0\0H\307Z\226\254i\255\30..."}
]}
=> {controls=[...], error_idx=1}
) = -1 EINVAL (Invalid argument)
```
- **CID** `V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS` = `V4L2_CID_MPEG_BASE+250` = `0x9909fa` — the fork's `include/mpeg2-ctrls.h:13` symbol. **The kernel doesn't recognize this CID** (mainline removed it; replaced by the split `V4L2_CID_STATELESS_MPEG2_{SEQUENCE,PICTURE,QUANTISATION}` at `0xa409dc/dd/de`).
- **size=56** matches `sizeof(struct v4l2_ctrl_mpeg2_slice_params)` from the fork's local header (combined sequence + picture + slice fields).
- **`error_idx=1`** = first (and only) control in the array failed validation.
- 6 calls visible across the 5-frame attempt — one per frame, plus one buffer-pool bring-up artefact.
**Confirms Phase 2 Bug 2 directly**: the kernel rejects the staging-era CID. The fork's UAPI is stale; rewriting `mpeg2.c` against the new split API is non-optional.
**Auxiliary EINVAL — H.264 device-init runs unconditionally on hantro**:
```
ioctl(6</dev/video5>, VIDIOC_S_EXT_CTRLS,
{ctrl_class=0,
count=2,
controls=[
{id=0xa40900 /* V4L2_CID_STATELESS_H264_DECODE_MODE */, size=0, value=1, value64=1},
{id=0xa40901 /* V4L2_CID_STATELESS_H264_START_CODE */, size=0, value=1, value64=1}
]}
=> {error_idx=2}
) = -1 EINVAL (Invalid argument)
```
Source: `src/context.c:142-155` unconditionally sets the H.264 device-wide controls (`V4L2_CID_STATELESS_H264_DECODE_MODE = FRAME_BASED`, `V4L2_CID_STATELESS_H264_START_CODE = ANNEX_B`) on every CreateContext, regardless of profile. **This is intentional** per the existing comment at `src/context.c:138-141`:
> Errors here are not fatal: not every backing driver supports both controls (e.g. cedrus may default to SLICE_BASED without exposing DECODE_MODE).
The error is silently swallowed via `(void)v4l2_set_controls(...)` (line 153 — explicit cast discards the return). For MPEG-2 on hantro-vpu-dec the call's a no-op; the EINVAL is noise in the trace, not a bug. **Out of scope for iter1**; documented as auxiliary finding.
**Verbatim ioctl summary** (post-Bug-1 path engages full V4L2 lifecycle):
```
40 ioctl(6</dev/video5>, VIDIOC_QUERYBUF
22 ioctl(6</dev/video5>, VIDIOC_ENUM_FMT
16 ioctl(7</dev/media2>, MEDIA_IOC_REQUEST_ALLOC
10 ioctl(6</dev/video5>, VIDIOC_QBUF
10 ioctl(6</dev/video5>, VIDIOC_G_FMT
10 ioctl(6</dev/video5>, VIDIOC_DQBUF
6 ioctl(6</dev/video5>, VIDIOC_S_EXT_CTRLS <-- 6 fail with EINVAL
4 ioctl(4</dev/dri/renderD128>, DRM_IOCTL_VERSION
2 ioctl(6</dev/video5>, VIDIOC_STREAMON
2 ioctl(6</dev/video5>, VIDIOC_STREAMOFF
2 ioctl(6</dev/video5>, VIDIOC_REQBUFS
2 ioctl(6</dev/video5>, VIDIOC_CREATE_BUFS
1 ioctl(9<anon_inode:request>, MEDIA_REQUEST_IOC_REINIT
1 ioctl(9<anon_inode:request>, MEDIA_REQUEST_IOC_QUEUE
1 ioctl(6</dev/video5>, VIDIOC_S_FMT
1 ioctl(6</dev/video5>, VIDIOC_QUERYCAP
```
The buffer-pool bring-up + per-frame plumbing (CREATE_BUFS, QUERYBUF, REQBUFS, STREAMON, REQUEST_ALLOC, QBUF, DQBUF, REQUEST_IOC_QUEUE) all succeeds. **Only the codec-specific control submission is broken**. This bounds the iter1 fix scope sharply.
## Baseline C — cross-validator verbatim contract anchor
**Goal**: extract the exact byte-level `VIDIOC_S_EXT_CTRLS` payload that the working independent V4L2 client (ffmpeg's `-hwaccel v4l2request`) submits per MPEG-2 frame. This is the contract Phase 4 implementation must match.
**Invocation** (verbose strace decoding compound `v4l2_ext_control` payloads):
```bash
strace -ff -tt -y -v -e trace=ioctl \
-o /tmp/iter1_phase3/baseline_C_xvalidator/ffmpeg.strace \
ffmpeg -hide_banner -loglevel error -hwaccel v4l2request \
-i ~/fourier-test/bbb_720p10s_mpeg2.ts -frames:v 2 -f null -
```
**Verbatim per-frame submission** (5 frames captured, frame 1 shown verbatim):
```
ioctl(5</dev/video5>, VIDIOC_S_EXT_CTRLS,
{ctrl_class=0xf010000 /* V4L2_CTRL_CLASS_CODEC_STATELESS */,
count=3,
controls=[
{id=0xa409dc /* V4L2_CID_STATELESS_MPEG2_SEQUENCE */,
size=12,
string="\0\5\320\2\0\30\25\0\0\0\1\1"},
{id=0xa409dd /* V4L2_CID_STATELESS_MPEG2_PICTURE */,
size=32,
string="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\202\0\0\0\17\17\17\17\1\3\0\0\0\0\0\0"},
{id=0xa409de /* V4L2_CID_STATELESS_MPEG2_QUANTISATION */,
size=256,
string="\10\20\20\23\20\23\26\26\26\26\26\26\32\30\32\33\33\33\32\32\32\32\33\33\33\35\35\35\"\"\"\35..."}
]}) = 0
```
**Field-by-field decode** (frame 1, BBB +30s seek into MPEG-2 fixture):
`SEQUENCE` (12 bytes, `struct v4l2_ctrl_mpeg2_sequence` per `linux/v4l2-controls.h:2009`):
| Bytes (LE) | Value | Field |
|---|---|---|
| `\0\5` | `0x0500` = 1280 | `horizontal_size` |
| `\320\2` | `0x02d0` = 720 | `vertical_size` |
| `\0\30\25\0` | `0x00151800` | `vbv_buffer_size` |
| `\0\0` | `0x0000` | `profile_and_level_indication` |
| `\1` | 1 | `chroma_format` (4:2:0) |
| `\1` | `V4L2_MPEG2_SEQ_FLAG_PROGRESSIVE` (0x01) | `flags` |
`PICTURE` (32 bytes, `struct v4l2_ctrl_mpeg2_picture` per `linux/v4l2-controls.h:2056`):
| Bytes (LE) | Value | Field |
|---|---|---|
| `\0\0\0\0\0\0\0\0` | 0 | `backward_ref_ts` (I-frame, no ref) |
| `\0\0\0\0\0\0\0\0` | 0 | `forward_ref_ts` (I-frame, no ref) |
| `\202\0\0\0` | `0x82` = `FRAME_PRED_DCT(0x02) \| PROGRESSIVE(0x80)` | `flags` |
| `\17\17\17\17` | `f_code = {{15,15},{15,15}}` (default for I) | `f_code[2][2]` |
| `\1` | 1 | `picture_coding_type` (I) |
| `\3` | 3 | `picture_structure` (FRAME) |
| `\0` | 0 | `intra_dc_precision` (8-bit) |
| `\0\0\0\0\0` | 0 | `reserved[5]` |
Frame 2 (P-picture per the MPEG-2 GOP) shows different values, verbatim from the next strace line:
```
PICTURE: "\0\0\0\0\0\0\0\0p\27\0\0\0\0\0\0\202\0\0\0\1\1\17\17\2\3\0\0\0\0\0\0"
```
| Bytes (LE) | Value | Field |
|---|---|---|
| `\0\0\0\0\0\0\0\0` | 0 | `backward_ref_ts` (P, no backward) |
| `p\27\0\0\0\0\0\0` | `0x1770` ns = 6000 (matches the I-frame's timestamp) | `forward_ref_ts` (refers to frame 1) |
| `\202\0\0\0` | 0x82 | `flags` (same FRAME_PRED_DCT \| PROGRESSIVE) |
| `\1\1\17\17` | `f_code = {{1,1},{15,15}}` (real motion vectors for P) | `f_code` |
| `\2` | 2 | `picture_coding_type` (P) |
| `\3` | 3 | `picture_structure` (FRAME) |
| `\0` | 0 | `intra_dc_precision` |
| `\0\0\0\0\0` | 0 | `reserved[5]` |
`QUANTISATION` (256 bytes = 4 × 64 bytes):
```
intra_quantiser_matrix[64] = [8, 16, 16, 19, 16, 19, 22, 22, 22, 22, 22, 22, 26, 24, 26, 27, 27, 27, 26, 26, 26, 26, 27, 27, 27, 29, 29, 29, 34, 34, 34, 29, ...]
```
This is the canonical MPEG-2 default intra matrix in zigzag scanning order — `8` is at zigzag-position 0 (DC coefficient), `16,16` at positions 1-2 (first AC pair). Confirms the kernel-doc claim that matrices arrive **in zigzag scanning order** (`linux/v4l2-controls.h:2076-2084`).
The remaining 192 bytes (non-intra, chroma_intra, chroma_non_intra) all start with `\20\20...` = 16,16,... — MPEG-2 default non-intra is a flat 16 matrix; chroma matrices duplicate luma when chroma_format=4:2:0.
**This is the iter1 contract anchor**: every Phase 4 implementation diff and Phase 7 verification must produce a `VIDIOC_S_EXT_CTRLS` call that's structurally indistinguishable from this — `count=3`, `ctrl_class=V4L2_CTRL_CLASS_CODEC_STATELESS=0xf010000`, the three CIDs in this order, with sizes 12 / 32 / 256 and the per-frame field values matching what VAAPI's `VAPictureParameterBufferMPEG2` and `VAIQMatrixBufferMPEG2` carry for the same fixture.
## Baseline D — H.264 regression check (Phase 1 success criterion #5)
**Goal**: prove Bug 1 fix in isolation doesn't break H.264. Re-runs T4's reference incantation against `bbb_1080p30_h264.mp4` with the scratch backend installed; expects byte-identical SHA-256 hashes against T4's reference values (`f623d5f7…` for frame 1, `7d7bc6f2…` for frame 2 at +30s seek).
**Verbatim hash output**:
```
f623d5f7a41697f67dd227275c6f1b21ffc257f65626d32fde8229357f8764c9 /tmp/iter1_phase3/baseline_D_h264_regr/png_seek_hw/00000001.jpg
7d7bc6f2146dda8b2d223bba622c4b9fbe9674181ff1e02afe286b620342e0a8 /tmp/iter1_phase3/baseline_D_h264_regr/png_seek_hw/00000002.jpg
f623d5f7a41697f67dd227275c6f1b21ffc257f65626d32fde8229357f8764c9 /tmp/iter1_phase3/baseline_D_h264_regr/png_seek_sw/00000001.jpg
7d7bc6f2146dda8b2d223bba622c4b9fbe9674181ff1e02afe286b620342e0a8 /tmp/iter1_phase3/baseline_D_h264_regr/png_seek_sw/00000002.jpg
```
Pass: HW frame 1 == SW frame 1 == T4 reference; HW frame 2 == SW frame 2 == T4 reference. Bug 1 fix in isolation does not regress H.264.
## Scratch state cleanup
After Baseline D, the scratch patch was reverted to keep master clean for Phase 4 work:
```
$ git checkout -- src/config.c
$ ninja -C build && sudo ninja -C build install
$ git branch -D iter1-phase3-scratch # branch was empty — patch was uncommitted
```
**Sanity check** (master backend reinstalled, MPEG-2 should fail again):
```
$ ffmpeg -hwaccel vaapi -i bbb_720p10s_mpeg2.ts -frames:v 2 -f null -
[mpeg2video] Failed to create decode configuration: 12 (the requested VAProfile is not supported).
[mpeg2video] Failed setup for format vaapi: hwaccel initialisation returned error.
```
Back to Baseline A state — scratch state successfully cleaned.
## What Phase 3 confirms / refutes from Phase 2
| Phase 2 claim | Phase 3 evidence | Status |
|---|---|---|
| Bug 1: `RequestCreateConfig` rejects MPEG-2 via fall-through to `default:` returning `VA_STATUS_ERROR_UNSUPPORTED_PROFILE` | Baseline A libva trace shows `vaCreateConfig ret = VA_STATUS_ERROR_UNSUPPORTED_PROFILE` for `profile=VAProfileMPEG2Main` | ✅ confirmed |
| Bug 1 fix is sufficient to advance past `vaCreateConfig` | Baseline B libva trace shows `vaCreateConfig ret = VA_STATUS_SUCCESS` post-patch | ✅ confirmed |
| Bug 2: `mpeg2.c` uses staging-era CID `V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS` (`0x9909fa`) which mainline kernel removed | Baseline B strace shows `VIDIOC_S_EXT_CTRLS id=V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS size=56 = -1 EINVAL` | ✅ confirmed |
| Bug 2: kernel exposes the new split API (`0xa409dc/dd/de`) | Baseline C strace shows ffmpeg-v4l2request submits these three CIDs successfully | ✅ confirmed |
| Cross-validator submits 1 batched `VIDIOC_S_EXT_CTRLS, count=3` per frame | Baseline C verbatim payload shows exactly that | ✅ confirmed |
| Quantisation matrices arrive in zigzag order | Baseline C QUANTISATION first 4 bytes `[8, 16, 16, 19]` matches MPEG-2 default intra matrix in zigzag | ✅ confirmed |
| H.264 device-init in context.c is best-effort and silently swallows EINVAL on hantro | Baseline B strace shows the `0xa40900/0xa40901` EINVAL (silently); `src/context.c:153` has `(void)v4l2_set_controls(...)` cast | ✅ confirmed (auxiliary, not iter1 scope) |
| Phase 1 criterion #5 (H.264 regression check) holds with scratch Bug 1 fix in isolation | Baseline D hashes match T4 reference exactly | ✅ confirmed |
| mpv-as-driver engages the libva backend for MPEG-2 | Baseline A's mpv variant: zero V4L2 ioctls, zero libva trace, silent SW fallback | ❌ **refuted** — mpv silently bypasses vaapi for MPEG-2; Phase 1 criterion #3 needs adjustment |
## Phase 1 criterion #3 needs adjustment (Phase 3 → Phase 1 loopback)
Per `feedback_dev_process.md`'s Phase 3 → Phase 1 loopback edge:
> If baseline reveals the Phase 1 metric was tracking the wrong thing → loop back to Phase 1 with the corrected target.
The Phase 1 lock specified:
> 3. End-to-end decode engages the backend. `mpv --hwdec=vaapi-copy --frames=2 --vo=null --no-audio …` logs the `[vaapi] libva: Trying to open …` chain, the `Using hardware decoding (vaapi-copy)` confirmation, and exits 0 with no `Failed to create decode configuration` lines.
Phase 3 baseline shows mpv-vaapi-copy **never engages libva for MPEG-2** in the current configuration — neither pre-patch nor post-Bug-1-patch produces `[vaapi]` log lines or VA-API ioctls when invoked via mpv on the MPEG-2 fixture. The mpv hwdec policy (or ffmpeg-mpv glue layer) filters MPEG-2 out before libva is touched. So the Phase 1 criterion #3 wording can never be satisfied via the original incantation, regardless of whether iter1 fixes the libva backend.
**Adjusted Phase 1 criterion #3** (proposed; locks alongside Phase 4 plan):
> 3. End-to-end decode engages the backend. `ffmpeg -hwaccel vaapi -i bbb_720p10s_mpeg2.ts -frames:v 2 -f null - 2>&1` (with the v4l2_request env vars set) shows the `[VAAPI] libva: Trying to open /usr/lib/dri/v4l2_request_drv_video.so` chain, `vaCreateConfig ret = VA_STATUS_SUCCESS`, no `Failed to create decode configuration` lines, no `EINVAL` from `VIDIOC_S_EXT_CTRLS`, and exits 0 cleanly.
The `mpv` invocation moves from criterion to optional follow-up (potentially needs an `--vd` override or a fix to mpv's hwdec-codecs filter; a separate, smaller iteration after iter1 lands).
The other four Phase 1 criteria (vainfo enumeration regression, vaCreateConfig success, DMA-BUF GL pixel verify HW=SW, T4 H.264 regression) hold as locked — no adjustment needed.
## Phase 4 plan inputs
Phase 4 plan should specify:
1. **Diff scope** (per Phase 2 `phase2_iter1_situation.md`):
- `src/config.c:55-69` — add `break;` for `VAProfileMPEG2Simple/Main` cases (3 lines).
- `src/mpeg2.c` — full rewrite against the new split API.
- `include/mpeg2-ctrls.h` — delete or empty (drop the staging-era header that masks the kernel's modern definitions).
- `src/picture.c` — no changes (verified wired correctly in Phase 2).
- `src/context.c` — no changes (the H.264 device-init EINVAL is auxiliary, by-design swallowed).
2. **Contract anchor** (per Phase 6 contract-before-code per `feedback_dev_process.md`):
- Cite verbatim from `linux/v4l2-controls.h:1985-2105` — the three control struct definitions and flag constants.
- Cite verbatim from FFmpeg `libavcodec/v4l2_request_mpeg2.c:130-155` — the batched submission shape (3 controls, `ctrl_class=V4L2_CTRL_CLASS_CODEC_STATELESS`).
- Cite verbatim from kernel `drivers/media/platform/verisilicon/hantro_mpeg2.c::hantro_mpeg2_dec_copy_qtable` — the kernel-side zigzag-to-raster permutation (so the libva backend doesn't double-permute).
- Cite Baseline C verbatim payload from this document (`SEQUENCE` 12 bytes, `PICTURE` 32 bytes, `QUANTISATION` 256 bytes per frame).
3. **Field mapping table** (per Phase 2 `phase2_iter1_situation.md` Bug 2 detail):
- 6 structural changes from old to new API documented.
- Source-data extraction in current `src/mpeg2.c` is sound; only destination-control-struct shape and CIDs change.
4. **Phase 7 verification harness**:
- Re-run all 5 Phase 1 boolean checks (with criterion #3 adjusted as above).
- Compare the post-fix `VIDIOC_S_EXT_CTRLS` payload byte-by-byte against Baseline C's verbatim payload — exact match expected for SEQUENCE field values; PICTURE will differ on `forward_ref_ts/backward_ref_ts` (different timestamp source) and `f_code` (real values not defaults); QUANTISATION should match exactly for the same fixture.
5. **Mpv-criterion-3 follow-up** (deferred):
- File a follow-up task to investigate why mpv-vaapi-copy filters MPEG-2 out and how to override. Out of iter1 scope.
## Phase 3 → Phase 4 close
Phase 3 baselines all four green. Phase 2 Bug 1 + Bug 2 + Bug 3 confirmed empirically. Phase 1 criterion #3 needs a minor wording adjustment (mpv → ffmpeg-direct anchor) — proposed text above; locks with Phase 4 plan if approved. Phase 4 can proceed with the contract-anchored diff scope.