Skip to content

video: enhance GStreamer encode/decode test framework - #518

Open
nitinn22 wants to merge 1 commit into
qualcomm-linux:mainfrom
nitinn22:feature/video-gst-clean
Open

video: enhance GStreamer encode/decode test framework#518
nitinn22 wants to merge 1 commit into
qualcomm-linux:mainfrom
nitinn22:feature/video-gst-clean

Conversation

@nitinn22

@nitinn22 nitinn22 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Enhance the GStreamer video encode/decode test framework.

Changes

  • Extend lib_gstreamer helper functionality
  • Add reusable video helper support
  • Improve framework integration
  • Enhance encode/decode test execution flow and additional test cases added.
  • Improve validation and artifact handling
  • Update README documentation

Validation

  • Rebased on latest upstream/main
  • Merge conflicts resolved with latest framework
  • Encode/decode workflow validated
  • Branch contains only video-related changes

- Add video-specific helper functionality in lib_gstreamer.sh

- Enhance encode/decode execution workflow

- Improve validation and artifact handling

- Update README documentation

Signed-off-by: nitinn <nitinn@qti.qualcomm.com>
@nitinn22
nitinn22 force-pushed the feature/video-gst-clean branch from 8d9869d to 56f3538 Compare July 24, 2026 09:11

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move the functions out of run.sh to lib_gstreamer.sh. I see duplicates and still optimizations can be done.

The current commit carries ~1600 lines of code, split it into logical commits inside the same PR:

  1. "gstreamer: add advanced video pipeline helpers"

    • UVC discovery;
    • stack-aware decoder arguments;
    • advanced pipeline builders;
    • common execution and validation helpers.
  2. "video: add UVC and DRC GStreamer tests"

    • UVC preview;
    • DRC caps-transition validation;
    • display prerequisites.
  3. "video: add concurrent decode tests"

    • H.264/H.265/MJPEG;
    • dynamic session layout;
    • concurrency-specific validation.
  4. "video: add downstream advanced encode tests"

    • smart encode;
    • cyclic IR;
    • slice MB;
    • Rotate90;
    • current-run artifact validation.
  5. "docs: document advanced GStreamer video coverage"

    • synchronized defaults;
    • prerequisites;
    • exact PASS/SKIP criteria;
    • verified execution examples.

Comment thread Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh
Comment thread Runner/utils/lib_gstreamer.sh
Comment thread Runner/suites/Multimedia/GSTreamer/Video/Video_Encode_Decode/run.sh
Comment thread Runner/utils/lib_gstreamer.sh
[ -n "$sessions" ] || sessions="16"

# Build qtivcomposer with 4x4 grid layout
pipeline="qtivcomposer name=mix"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Validate a supported range at both the CLI and helper boundary, such as "1..16", and dynamically generate only the required composer pads and positions. Generate the grid from the requested session count or explicitly support only "16" and remove the configurable option.

The result/test name should also include the actual count:

testname="H264_Decode_Concurrency_${concurrencySessions}x480p"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants