va: caps: Make the template raw video caps classified by features.
The current output of raw video caps is not good. When we have multi profiles and each profile support different formats, the output of gst-inspect may like:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: NV12
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: NV12
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P010_10LE
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P010_10LE
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P012_LE
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P012_LE
The gst_caps_simplify does not classify the caps by same features, but just leave them interweaved. We need to handle them manually here, the result should be:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }
Merge request reports
Activity
@slomo, it seems that the gst_caps_simplify can not merge structure of the same feature together, is that the correct behavior?
- Resolved by He Junyan
- Resolved by He Junyan
added 1 commit
- a421287c - va: caps: Make the template raw video caps classified by features.
added 13 commits
-
a421287c...f20b3b81 - 12 commits from branch
gstreamer:master
- e44f9180 - va: caps: Make the template raw video caps classified by features.
-
a421287c...f20b3b81 - 12 commits from branch
assigned to @gstreamer-merge-bot
mentioned in commit He_Junyan/gst-plugins-bad@2505ab17
added 1 commit
- 2505ab17 - va: caps: Make the template raw video caps classified by features.
assigned to @He_Junyan and unassigned @gstreamer-merge-bot
assigned to @gstreamer-merge-bot and unassigned @He_Junyan
changed milestone to %1.19.2