summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-07-03Release 1.17.21.17.2Tim-Philipp Müller5-4/+46
2020-06-23docs: Mark parent classes as plugin APIThibault Saunier2-0/+104
2020-06-23meson: mark plugins cache target as always staleMathieu Duponchelle1-0/+1
2020-06-22doc: Stop documenting properties from parentsThibault Saunier1-317/+4
2020-06-20Back to developmentTim-Philipp Müller1-1/+1
2020-06-19Release 1.17.11.17.1Tim-Philipp Müller5-1290/+3910
2020-06-19Update plugin docs and add more pluginsTim-Philipp Müller5-3/+508
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/344>
2020-06-17libs: wayland: display: only handle the first outputMichael Olbrich1-2/+4
Right now, all outputs are handled. The means that the registry object for all but the last are leaked. As a result the sizes are not used correctly. With two outputs, at first the mode and physical size of the second output are used. If the first output changes the mode, then the physical size of the second output is used in combination with the resolution of the first output. The resulting pixel aspect ratio is incorrect. There seems to be no way to determine on which output the window is shown, so just use the first one to get consistent results. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/341>
2020-06-11plugins: pluginbase: Do not destroy display when _close()He Junyan1-1/+2
When the element's state changes to NULL, it can still receive queries, such as the image formats. The display is needed in such queries but not well protected for MT safe. For example, ensure_allowed_raw_caps() may still use the display while it is disposed by gst_vaapi_plugin_base_close() because of the state change. We can keep the display until the element is destroyed. When the state changes to NULL, and then changes to PAUSED again, the display can be correctly set(if type changes), or leave untouched. Fix: #260 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/343>
2020-06-09libs: context: use correct printing modifierVíctor Manuel Jáquez Leal1-1/+1
GstVaapiID is an alias of gsize, thus its modifier is platform dependant. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/340>
2020-06-06plugins: uddate gst_type_mark_as_plugin_api() callsMathieu Duponchelle5-16/+17
2020-06-05libs: encoder: h265: Enable tile in VA command.He Junyan1-48/+98
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: encoder: h265: Add ensure_tile to calculate tiles.He Junyan1-0/+310
We need consider tiles and slices together, separate tiles uniformly and then assign slices uniformly to each tiles. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: display: add a quirk for iHD driver tile encoding.He Junyan2-0/+4
The iHD driver has a requirement that one slice can not span tiles when tile is enabled, which is not required by hevc spec. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: encoder: h265: Add tile info to bitstream.He Junyan1-0/+24
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: encoder: h265: promote level if tile is enabled.He Junyan1-1/+27
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: encoder: h265: Add num-tile-cols/rows properties.He Junyan2-0/+57
These properties are used for support of tile encoding. We just support uniform mode of tile encoding, that is, separating picture equally by (num-tile-cols X num-tile-rows). According to HEVC spec A1, the max number of tiles in column is 20 and in rows is 22, so add two constant definitions. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: encoder: h265: extract slice creation from add_slice_headersHe Junyan1-81/+99
extract slice creation details from add_slice_headers, and let the add_slice_headers just focuses on calculating slice start address and CTU number. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: encoder: Add a helper function to check the tile support.He Junyan2-0/+42
Encoding by tiles separation now is a very common feature for all relative new codecs, such as HEVC, AV1, and VP9. Just make this check as a common helper function of the encoder base class. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
2020-06-05libs: decoder: H265: Add SCC_MAIN_444_10 profile support.He Junyan5-1/+27
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2020-06-05libs: decoder: update reference list for SCC.He Junyan1-1/+39
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2020-06-05libs: decoder: H265: Fill picture and slice SCC parameters.He Junyan1-4/+85
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2020-06-05libs: util: H265: recognize the SCC profiles.He Junyan1-0/+38
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2020-06-05libs: profile: Add screen extended main/main10/main444 define.He Junyan3-0/+15
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
2020-06-05libs: encoder: h265: Add support for MAIN 4:2:2 10 profile.He Junyan4-4/+29
Using YUY2 as the input of the encoder can generate main 4:2:2 bit streams and using Y210 as the input of the encoder can generate main 4:2:2 10 bit streams. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
2020-06-05libs: encoder: h265: Use correct index for SubWidthC and SubHeightC.He Junyan1-2/+7
We need to use the chroma_format_idc as the index for getting the SubWidthC and SubHeightC values as the spec 6.1(table 6-1) defines. The wrong SubWidthC or SubHeightC make us calculate a wrong right or bottom offset for crop size and generate garbage in output. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
2020-06-05libs: encoder: h265: Fix chrome idc for 444 10 bitsHe Junyan1-0/+1
GST_VAAPI_CHROMA_TYPE_YUV444_10BPP should also set chroma_format_idc to 3 as GST_VAAPI_CHROMA_TYPE_YUV444 does. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
2020-06-03doc: Require hotdoc >= 0.11.0Thibault Saunier1-0/+11
2020-06-03doc: Fix wrong link to GstVideoDirectionMethodThibault Saunier1-1/+1
2020-06-03docs: Update plugin cache with the new formatThibault Saunier2-1750/+664
And fix the default URL which should not be inside quotes.
2020-06-03Use gst_type_mark_as_plugin_api() for all non-element plugin typesThibault Saunier6-0/+20
2020-05-27libs: delete all gstvaapiobject related files.He Junyan22-485/+1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
2020-05-27libs: surface: return fail immediately if can not create subpictureHe Junyan1-0/+4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
2020-05-27libs: subpicture: Make subpicture a standard GstMiniObject.He Junyan4-62/+84
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
2020-05-26libs: decoder: h264: Add ref flags for splited field.He Junyan1-0/+3
When split one frame into fields, the second field should also copy the reference flags. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/333>
2020-05-25libs: decoder: h264: disallow multiple slice groupVíctor Manuel Jáquez Leal1-0/+6
As far as we know there are no VAAPI drivers supporting FMO, which migth be used in baseline streams. This commit is a continuation of https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/332>
2020-05-21vaapidecoder: h264: remove baseline as constrained propertyVíctor Manuel Jáquez Leal5-54/+8
From now on always the baseline is going to be treated as constrained without need of setting a property. Since the property was added along the development cycle (1.17 / commit 866a9f06) and never released, we assume that it is safe to remove it. Fixes: #252 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328>
2020-05-21README: update VP9 decoder and encoderVíctor Manuel Jáquez Leal1-3/+4
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/330>
2020-05-21vaapiencoder_h264: set direct_spatial_mv_pred_flag to true by defaultHaihao Xiang1-1/+1
This flag is set to true by default in both MediaSDK and FFmpeg-vaapi, so let's align this plugin with other libraries / softwares. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/329>
2020-05-18vaapivideobufferpool: fix meta overwriteVíctor Manuel Jáquez Leal1-1/+0
commit 7ac2a207 added a regression by erroneously assumed that GstVaapiVideoMeta is actually a GstMeta, which is not. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/327>
2020-05-17vaapivideopool: Set pooled flag to added metas.Víctor Manuel Jáquez Leal3-15/+16
So this could hint filters how to use these metas. Had to change the return value for texutre upload meta in order to flag it. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/326>
2020-05-16libs: use array_unref() rather than array_free()Víctor Manuel Jáquez Leal5-37/+10
It is more convinience and thread-safe. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/325>
2020-05-16plugin: use register_type to replace get_type for encode init.He Junyan1-3/+4
xxx_register_type will detect the template sink caps and is needed to be called at init time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2020-05-16plugins: encode: Modify sink template of vp9 encode.He Junyan2-24/+11
Use gst_vaapi_detect_codec_caps to get more precise template caps. Also implement gst_vaapiencode_vp9_register_type, which should be called at plugin register time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2020-05-16plugins: encode: Modify sink template of vp8 encode.He Junyan2-25/+12
Use gst_vaapi_detect_codec_caps to get more precise template caps. Also implement gst_vaapiencode_vp8_register_type, which should be called at plugin register time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2020-05-16plugins: encode: Modify sink template of mpeg2 encode.He Junyan2-26/+13
Use gst_vaapi_detect_codec_caps to get more precise template caps. Also implement gst_vaapiencode_mpeg2_register_type, which should be called at plugin register time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2020-05-16plugins: encode: Modify sink template of h265 encode.He Junyan2-25/+11
Use gst_vaapi_detect_codec_caps to get more precise template caps. Also implement gst_vaapiencode_h265_register_type, which should be called at plugin register time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2020-05-16plugins: encode: Modify sink template of h264 encode.He Junyan2-25/+12
Use gst_vaapi_detect_codec_caps to get more precise template caps. Also implement gst_vaapiencode_h264_register_type, which should be called at plugin register time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2020-05-16plugins: encode: Modify sink template of jpeg encode.He Junyan2-25/+12
Use gst_vaapi_detect_codec_caps to get more precise template caps. Also implement gst_vaapiencode_jpeg_register_type, which should be called at plugin register time. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
2020-05-16plugin: encode: add a helper macro to register encode type.He Junyan1-0/+78
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>