Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-plugins-base gst-plugins-base
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 642
    • Issues 642
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 80
    • Merge requests 80
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamerGStreamer
  • gst-plugins-basegst-plugins-base
  • Issues
  • #764
Closed
Open
Issue created Jun 03, 2020 by Wojciech Kapsa@kapsa.wojtek

glvideomixer/compositor wrong scaling

The following pipeline causes a wrong results:

gst-launch-1.0 -v videotestsrc ! video/x-raw,width=1000,height=500 ! videoscale add-borders=false ! video/x-raw,width=500,height=500 ! compositor ! videoconvert ! ximagesink

The output should have a resolution of 500x500px. However, the final result has a resolution of 1000x500px.

The glvideomixer works in the same incorrect way as the compositor.

The logs show that the mixer receives incorrect caps: /GstPipeline:pipeline0/GstCompositor:compositor0.GstAggregatorPad:src: caps = video/x-raw, width=(int)1000, height=(int)500, framerate=(fraction)30/1, format=(string)I420, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg, colorimetry=(string)bt601

logs.txt

The pipeline works fine without a compositor/glvideomixer. In this case the final resolution is ok: 500x500px. Moreover, the following pipeline works fine too:
gst-launch-1.0 -v videotestsrc ! video/x-raw,width=1000,height=500 ! videoscale add-borders=false ! video/x-raw,width=500,height=500 ! tee name=t ! queue ! compositor ! videoconvert ! ximagesink t. ! queue ! videoconvert ! ximagesink

Tested on 1.16.2 and current master.

Additional info. The videoscale aims to limit the amount of data copied to the GPU using glupload (in case with a glvideomixer).

Edited Jun 03, 2020 by Wojciech Kapsa
Assignee
Assign to
Time tracking