summaryrefslogtreecommitdiff
path: root/gst/videoparsers
Commit message (Collapse)AuthorAgeFilesLines
* h264parse, h265parse: fix handling of downstream force-key-unit eventsAleksander Wabik2016-03-172-4/+10
| | | | | | | | | The parser handles the downstream force-key-unit event incorrectly, it tries to parse it as an upstream force-key-unit event, does not check the return value, and then uses uninitialized memory in "all_headers" boolean variable. https://bugzilla.gnome.org/show_bug.cgi?id=763793
* videoparsers: h265: Fix segfault while transforming hevc to nal aligned ↵Sreerenj Balachandran2016-03-111-2/+11
| | | | | | | | | bytestream Create temporary ParseFrame and copy the nal size buffer region for each nal unit like we did for h264. https://bugzilla.gnome.org/show_bug.cgi?id=763494
* mpegvideoparser: Handle non-hierarchical profiles againEdward Hervey2016-03-091-10/+10
| | | | | | | | | | | | | This is a regression from since mpegvideoparser was switched to use the codecparsing library. The problem is that the high bit of the profile_and_level is used to specify non-hierarchical profiles and levels. Unfortunately we were discarding that information. Expose that escape bit, and use it in the element https://bugzilla.gnome.org/show_bug.cgi?id=763220
* videoparsers: h264: Disable passthorugh mode enablingSreerenj Balachandran2016-02-291-0/+7
| | | | | | | | | | | | | | | | Enabling passthorugh mode is causing multiple issue: For nal aligned multiresoluton streams, passthrough mode make h264parse unable to advertise the new resoultions. Also causing issues while parsing MVC streams which have two separate layers (base-view and non-base-view). This fix is only a temporary workaround. For MVC, proper fixes needed in many places: (handle prefix nal unit, handle non-base-view slice nal extension, fix the picture_start detection for multi-layer-mvc streams etc) https://bugzilla.gnome.org/show_bug.cgi?id=758656
* h264parse: remove unused mview_mode valueLuis de Bethencourt2016-02-041-2/+0
| | | | | | | Since commit b77f8e172a3f0be6be5cb4a72e654253404e694f the new value assigned to mview_mode hasn't been used. That commit changed the following "if" check to an "else if", which means the original value of mview_mode is used.
* h265parse: avoid sending unnecessary downstream caps queries/eventsMatthew Waters2016-02-041-11/+26
| | | | | | | | | | h265 versions of the following commits: f352691a04896d0de3381fe8ee85ada948bd6337 try the current caps before querying downstream 72bc7d7f736a10117fedb8e1d4013a4946cfefbc increase caps equality check for no codec_data https://bugzilla.gnome.org/show_bug.cgi?id=761014
* h264parse: increase caps equality check for no codec_dataMatthew Waters2016-02-041-6/+12
| | | | | | | | When converting from avc to byte-stream, there will not be any codec_data in the src caps. Remove it before the equality check to avoid sending caps events downstream on every SPS/PPS change. https://bugzilla.gnome.org/show_bug.cgi?id=761014
* h264parse: try the current caps before querying downstreamMatthew Waters2016-02-041-5/+13
| | | | | | | | If we have a stream that contains an unchanging SPS/PPS for every video frame, we don't need to to constantly query downstream for it's supported caps if the current caps are compatible with the negotiated caps. https://bugzilla.gnome.org/show_bug.cgi?id=761014
* h265parse: Fix buffer leak when sps is not presentVineeth TM2016-01-251-3/+4
| | | | | | | When sps data is NULL, the buffer allocated and mapped is not being freed. In this scenario there is no need to allocate the buffer as we are supposed to return NULL. https://bugzilla.gnome.org/show_bug.cgi?id=761070
* h265parse: Fix buffer memory leak.Vineeth TM2016-01-251-1/+1
| | | | | | | While setting caps, codec_data buffer is mapped, but not being unmapped leading to memory leaks. https://bugzilla.gnome.org/show_bug.cgi?id=761070
* videoparsers: Check for NULL return value of gst_pad_get_current_caps()Dave Craig2015-12-168-15/+79
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=759503
* plugins-bad: Fix example pipelinesVineeth TM2015-12-151-1/+1
| | | | | | | | rename gst-launch --> gst-launch-1.0 replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**) fix caps in examples https://bugzilla.gnome.org/show_bug.cgi?id=759432
* h26xparse: Resend PPS/SPS after seekNicolas Dufresne2015-12-052-1/+2
| | | | | | | | This is to support byte-stream decoder that does not remember the PPS/SPS after a flush. This is not needed by all decoders, but is harmless for those that do remember. https://bugzilla.gnome.org/show_bug.cgi?id=758405
* vc1parse: add break to switch caseLuis de Bethencourt2015-09-291-0/+1
| | | | | | | Even though all cases inside VC1_STREAM_FORMAT_ASF are goto or g_assert_not_reached(), add a break at the end to appease Coverity. CID #1320706
* h264parse/h265parse: Fix negotiation crashNicolas Dufresne2015-08-262-2/+4
| | | | | | | | | | As it's recursive, gst_pad_get_allowed_caps() may also return empty for anything incompatible downstream. EMPTY is not valid caps value for gst_caps_fixate(). This lead to assertion and then crash. Ideally, the negotiate function should be re-factored to have a return value, and we could make the negotiation fails earlier. https://bugzilla.gnome.org/show_bug.cgi?id=754122
* videoparsers: Use gst_base_parse_merge_tags()Olivier Crête2015-08-168-16/+16
| | | | | | Instead of squashing all upstream tags https://bugzilla.gnome.org/show_bug.cgi?id=679768
* h264parse: Clear SPS info after processing.Jan Schmidt2015-08-151-0/+1
| | | | | | | | | | | The SPS struct might be filled out by a call to gst_h264_parser_parse_subset_sps, which fills out dynamically allocated data and requires a call to gst_h264_sps_clear() to free it. Also make sure to clear out any allocated SPS data when returning an error. https://bugzilla.gnome.org/show_bug.cgi?id=753306
* pngparse: enable accept-intersect and accept-template flags on sinkpadThiago Santos2015-08-141-0/+2
| | | | | | | Do a quick check with the pad template caps as it is enough. Users should have figured the appropriate full caps on a previous caps query https://bugzilla.gnome.org/show_bug.cgi?id=753623
* videoparsers: enable accept-template flagThiago Santos2015-08-147-0/+7
| | | | | | | Do a quick check with the pad template caps as it is enough. Users should have figured the appropriate full caps on a previous caps query https://bugzilla.gnome.org/show_bug.cgi?id=753623
* videoparsers: h265: Fix the frame start detection codeSreerenj Balachandran2015-08-111-2/+2
| | | | | | | Check slice headers in between GST_H265_NAL_SLICE_TRAIL_N and GST_H265_NAL_SLICE_RASL_R for frame start detection. https://bugzilla.gnome.org/show_bug.cgi?id=753497
* videoparsers: h265: Avoid skipping of EOS and EOB nalsSreerenj Balachandran2015-08-111-1/+1
| | | | | | | EndOfSequence and EndOfBitstream nal units have size of 2 bytes. Don't consider them as broken nals. https://bugzilla.gnome.org/show_bug.cgi?id=753497
* h265parse: expose compatible profiles to downstreamSreerenj Balachandran2015-08-071-0/+106
| | | | | | | | | Some video bitstreams report a too restrictive set of profiles. If a video decoder was to strictly follow the indicated profile, it wouldn't support that stream, whereas it could in theory and in practice. So we should relax the profile restriction for allowing the decoder to get connected with parser. https://bugzilla.gnome.org/show_bug.cgi?id=747613
* h265parse: Avoid checking for Non Mandatory VPS NALVineeth TM2015-07-301-2/+2
| | | | | | | | VPS is not mandatory, and need not check for its presence before setting the caps. Because of the check, in streams which don't have VPS, sticky event mishandling happens. https://bugzilla.gnome.org/show_bug.cgi?id=752807
* h264parse: Add more NAL types for debugging output.Jan Schmidt2015-07-291-2/+7
| | | | | | Register more NAL unit types so that they are dumped by name in the debug output instead of being labelled 'Invalid'
* h263parse: fix caps memory leakVineeth TM2015-07-291-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=752991
* h264parse: Don't discard first AU delimiterJan Schmidt2015-07-241-0/+6
| | | | | | | | | | Don't throw away AU delimiter(s) that precede the SPS/PPS. Should fix MPEG-TS playback on iOS/Quicktime when muxing streams that already have AU delimiters. See https://bugzilla.gnome.org/show_bug.cgi?id=736213 for getting h264parse to insert AU delimiters when they don't already exist.
* pngparse: fix a GstCaps object leakRoman Donchenko2015-07-081-0/+2
| | | | https://bugzilla.gnome.org//show_bug.cgi?id=752127
* h264parse: fix typo in log messageTim-Philipp Müller2015-06-201-1/+1
|
* h264parse: Move PAR calcs, and use them for stereoscopic half-aspectJan Schmidt2015-06-191-12/+21
| | | | | | | Move the pixel-aspect-ratio calculations higher up in caps determination, so the results are available for a call to gst_video_multiview_guess_half_aspect() when stereoscopic video is detected.
* h264parse: Add support for passing stereoscopic/multiview infoJan Schmidt2015-06-122-5/+154
| | | | Pass any multiview info from the container or SEI info downstream
* h264parse: Don't switch to passthrough on set_caps()Jan Schmidt2015-06-122-9/+21
| | | | | | | Wait until at least one keyframe has been parsed before deciding to switch to passthrough mode, in case the stream contains SEI messages that supplement the output caps - for example by providing stereoscopic information
* h263parse: Fix PSC matchingEdward Hervey2015-06-111-2/+7
| | | | | | | | | | | | We were off by one byte in the matching It should be (using 24 bit matching): * startcode : 0000 0000 0000 0000 1000 00xx * mask (bin) : 1111 1111 1111 1111 1111 1100 * mask (hex) : f f f f f c * match : 0 0 0 0 8 0 https://bugzilla.gnome.org/show_bug.cgi?id=750685
* vc1parse: remove useless value assignmentsLuis de Bethencourt2015-06-031-8/+0
| | | | In all these cases ret is set but overwritten before the return of the function
* h264parse: Consider SEI NALU as "HEADER" packetsEdward Hervey2015-05-201-0/+1
| | | | | | | | Like SPS/PPS they do contain information which will be needed to decode the following data (as per definition of the flag) Also ensures that the series of SPS/PPS/SEI NALU before a keyframe can be considered as one contiguous header
* h263parse: fix custom picture format (CPFMT) parsingLyon Wang2015-05-131-20/+37
| | | | | | | | | | | | | In the H263 spec, CPFMT is present only if the use of a custom picture format is signalled in PLUSEPTYPE and UFEP is "001", so we need to check params->format and only if the value is 6 (custom source format) the CPFMT should be read, otherwise it's not present and wrong data will be parsed. When reading the CPFMT, the width and height were not calculated correctly (wrong bitmask). https://bugzilla.gnome.org//show_bug.cgi?id=749253
* Update references to decodebinLuis de Bethencourt2015-05-082-2/+2
| | | | Update old references for decodebin2 to decodebin.
* h264parse: Fix profile and level setting in capsSreerenj Balachandran2015-05-041-11/+127
| | | | | | | | Don't use the apis in codec-utils to extract the profile and level syntax elements since it is wrong if there are emulation prevention bytes existing in the byte-stream data. https://bugzilla.gnome.org/show_bug.cgi?id=747613
* h265parse: Fix source caps to report cropped dimensionsSreerenj Balachandran2015-04-301-3/+18
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=747613
* h265parse: Fix the memory freeing of stored VPS nalsSreerenj Balachandran2015-04-301-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=747613
* h265parse: Fix profile, tier and level setting in capsSreerenj Balachandran2015-04-301-8/+87
| | | | | | | | Don't use the apis in codec-utils to extract the profile,tier and level syntax elements since it is wrong if there are emulation prevention bytes existing in the byte-stream data. https://bugzilla.gnome.org/show_bug.cgi?id=747613
* Remove obsolete Android build cruftTim-Philipp Müller2015-04-261-16/+0
| | | | This is not needed any longer.
* remove unused enum items PROP_LASTLuis de Bethencourt2015-04-244-8/+4
| | | | | This were probably added to the enums due to cargo cult programming and are unused.
* h264parse: Remove dead codeEdward Hervey2015-04-201-5/+0
| | | | | | | | The detection for missing format/alignment is done way before this codepath is reached (at which point we have already decided of a format and alignment). CID #1232800
* h264parse: Don't unref buffer that was unreffed just a few lines before alreadySebastian Dröge2015-04-151-1/+0
|
* videoparser: unused valueLuis de Bethencourt2015-03-091-1/+1
| | | | | | Value set in off will be immediately overwritten after going to next. CID #1226476
* pngparse: stop spamming info messagesXavier Claessens2015-03-061-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=745755
* h264parse: reset the parser information when caps changesThiago Santos2015-03-041-16/+33
| | | | | | | | | | | | This prevents it from going into passthrough after receiving 2 byte-stream caps (different ones) as it would keep the have_pps and have_sps set to true and would just go into passthrough without updating its caps. This patch makes it reset its stream information to restart properly when new caps are received. https://bugzilla.gnome.org/show_bug.cgi?id=745409
* h264parse: expose stereo-high profileVíctor Manuel Jáquez Leal2015-01-211-2/+9
| | | | | | | Exposing stereo-high profile as a compatible profile of multiview-high if the maximum number of encoded views in the stream is two. https://bugzilla.gnome.org/show_bug.cgi?id=743174
* h264parse: parse SPS subsetVíctor Manuel Jáquez Leal2015-01-211-3/+7
| | | | | | | | | | | | | | | This patch calls gst_h264_parser_parse_subset_sps() when a SPS subset NAL type is found. All the bits required for parsing the SPS subset in NALs were already there, just we need to call them when the this NAL type is found. With this parsing, the number of views (minus 1) attribute is filled, which was a requirement for negotiating the stereo-high profile. https://bugzilla.gnome.org/show_bug.cgi?id=743174
* h264parse: add initial support for MVC NAL units.Sreerenj Balachandran2015-01-211-5/+15
| | | | | | | | | | Initial support for MVC NAL units. It is only needed to propagate the complete set of NAL units downstream at this time. https://bugzilla.gnome.org/show_bug.cgi?id=696135 Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>