[Bug 785712] FEI: Implement VAEntryPointFEI based h264 encoder
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Aug 2 00:53:05 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=785712
--- Comment #1 from sreerenj <bsreerenj at gmail.com> ---
Here is the initial implementation which I would like to bring upstream (Only
after the driver patch integration)
https://cgit.freedesktop.org/~sree/gstreamer-vaapi/log/?h=fei-dev
This is more or less like a prototype because this is not exposing any public
APIs for application to set n number of FEI attributes/input-buffers.
The element "vaapih264feienc" will bring 17 new properties which are not
available in existing vaapih264enc (this is not including the heavy input
buffers MV and MBCode):
disable-fei : Disable Flexible Encoding Infrasturcture
flags: readable, writable
Boolean. Default: false
stats-out : Enable stats out for fei
flags: readable, writable
Boolean. Default: true
num-mvpredict-l0 : Indicate how many predictors should be used for l0,only
valid if MVPredictor input enabled
flags: readable, writable
Unsigned Integer. Range: 0 - 3 Default: 0
num-mvpredict-l1 : Indicate how many predictors should be used for l1,only
valid if MVPredictor input enabled
flags: readable, writable
Unsigned Integer. Range: 0 - 3 Default: 0
search-window : Specify one of the predefined search path
flags: readable, writable
Enum "GstVaapiFeiH264SearchWindow" Default: 0, "none"
(0): none - not use predefined search
window
(1): tiny - 4 SUs 24x24 window diamond
search
(2): small - 9 SUs 28x28 window diamond
search
(3): diamond - 16 SUs 48x40 window diamond
search
(4): large diamond - 32 SUs 48x40 window diamond
search
(5): exhaustive - 48 SUs 48x40 window full
search
(6): horizon diamond - 16 SUs 64x32 window diamond
search
(7): horizon large diamond - 32 SUs 64x32 window
diamond search
(8): horizon exhaustive - 48 SUs 64x32 window full
search
len-sp : This value defines number of search units in search
path
flags: readable, writable
Unsigned Integer. Range: 1 - 63 Default: 32
search-path : Specify search path
flags: readable, writable
Enum "GstVaapiFeiH264SearchPath" Default: 0, "full"
(0): full - full search path
(1): diamond - diamond search path
ref-width : Width of search region in pixel, must be multiple of 4
flags: readable, writable
Unsigned Integer. Range: 4 - 64 Default: 32
ref-height : Height of search region in pixel, must be multiple of 4
flags: readable, writable
Unsigned Integer. Range: 4 - 32 Default: 32
submbpart-mask : defines the bit-mask for disabling sub mb partition
flags: readable, writable
Flags "GstVaapiFeiH264SubMbPartMask" Default:
0x00000000, "enable all"
(0x00000000): enable all - enable all
subpartitions
(0x00000002): 16x16 submb part disabled - 16x16
sub-macroblock disabled
(0x00000004): 16x8 submb part disabled - 2x(16x8)
sub-macroblock within 16x16 disabled
(0x00000008): 8x16 submb part disabled - 2x(8x16)
sub-macroblock within 16x16 disabled
(0x00000010): 8x8 submb part disabled - 1x(8x8)
sub-partition for 4x(8x8) within 16x16 disabled
(0x00000020): 8x4 submb part disabled - 2x(8x4)
sub-partition for 4x(8x8) within 16x16 disabled
(0x00000040): 4x8 submb part disabled - 2x(4x8)
sub-partition for 4x(8x8) within 16x16 disabled
(0x00000080): 4x4 submb part disabled - 4x(4x4)
sub-partition for 4x(8x8) within 16x16 disabled
subpel-mode : Sub pixel precision for motion estimation
flags: readable, writable
Enum "GstVaapiFeiH264SubPelMode" Default: 0, "integer"
(0): integer - integer mode searching
(1): half - half-pel mode searching
(3): quarter - quarter-pel mode searching
intrapart-mask : Specifies which Luma Intra partition is
enabled/disabled forintra mode decision
flags: readable, writable
Flags "GstVaapiFeiH264IntraPartMask" Default:
0x00000000, "enable all"
(0x00000000): enable all - enable all intra
mode
(0x00000001): intra16x16 disabled - luma_intra_16x16
disabled
(0x00000002): intra8x8 disabled - luma_intra_8x8
disabled
(0x00000004): intra4x4 disabled - luma_intra_4x4
disabled
intra-sad : Specifies distortion measure adjustments usedin the
motion search SAD comparison for intra MB
flags: readable, writable
Enum "GstVaapiFeiH264SadMode" Default: 0, "none"
(0): none - none transform adjusted
(2): haar - Haar transform adjusted
inter-sad : Specifies distortion measure adjustments usedin the
motion search SAD comparison for inter MB
flags: readable, writable
Enum "GstVaapiFeiH264SadMode" Default: 0, "none"
(0): none - none transform adjusted
(2): haar - Haar transform adjusted
adaptive-search : Enable adaptive search
flags: readable, writable
Boolean. Default: false
multi-predL0 : Enable multi prediction for ref L0 list, when set
neighbor MV will be usedas predictor, no neighbor MV will be used otherwise
flags: readable, writable
Boolean. Default: false
multi-predL1 : Enable multi prediction for ref L1 list, when set
neighbor MV will be usedas predictor, no neighbor MV will be used otherwise
flags: readable, writable
Boolean. Default: false
fei-mode : Functional mode of FEI Encoding
flags: readable, writable
Flags "GstVaapiFeiMode" Default: 0x00000004, "ENC_PAK"
(0x00000001): ENC - ENC Mode
(0x00000002): PAK - PAK Mode
(0x00000004): ENC_PAK - ENC_PAK Mode
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list