summaryrefslogtreecommitdiff
path: root/libavcodec/h2645_parse.c
Commit message (Collapse)AuthorAge
* Merge commit 'c359d624d3efc3fd1d83210d78c4152bd329b765'James Almer2017-03-23
|\ | | | | | | | | | | | | * commit 'c359d624d3efc3fd1d83210d78c4152bd329b765': hevcdec: move decoder-independent declarations into a separate header Merged-by: James Almer <jamrial@gmail.com>
* | Merge commit '4abe3b049d987420eb891f74a35af2cebbf52144'Clément Bœsch2017-03-23
|\| | | | | | | | | | | | | * commit '4abe3b049d987420eb891f74a35af2cebbf52144': hevc: rename hevc.[ch] to hevcdec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
| * h264: Log more information about invalid NALu sizeVittorio Giovara2016-07-13
| |
| * h2645_parse: handle embedded Annex B NAL units in size prefixed NAL unitsJanne Grunau2016-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a regression in ca2f19b9cc3 with some mov/mp4 files. The files have several NAL units in the supposed single NAL unit after the size field. Annex B start code prefixes are used to separate them. The first NAL unit is correctly parsed but the buffer does not point to the next size field. Instead semi random data (it seems to be the rbsp_stop_one_bit and the start code prefix) is then parsed as length and will exceed the remaining length of the buffer. Patch based on the code in h264's decode_nal_units() and a similar patch by Hendrik Leppkes in FFmpeg (a9bb4cf87d1). Bug-Id: ffmpeg/trac5529 Reported-By: Vittorio Giovara
* | avcodec/h2645_parse: fix nal sizeMichael Niedermayer2016-08-20
| | | | | | | | | | Found-by: <durandal_1707> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/h2645_parse: Use get_nalsize() in ff_h2645_packet_split()Michael Niedermayer2016-08-20
| | | | | | | | | | | | This fixes several regressions in h.264 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | vcodec/h2645_parse: Clear buffer paddingMichael Niedermayer2016-08-18
| | | | | | | | | | | | | | | | Fixes use of uninitialized memory Fixes: 044100cb22845944988a4bd821ff8074/asan_heap-oob_329927a_1366_c3de34ce9217dac820fbb46171031bbb.jsv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/h2645: Fix NAL unit paddingMichael Niedermayer2016-08-18
| | | | | | | | | | | | | | | | | | The parser changes have lost the support for the needed padding, this adds it back Fixes out of array reads Fixes: 03ea21d271abc8acf428d42ace51d8b4/asan_heap-oob_3358eef_5692_16f0cc01ab5225e9ce591659e5c20e35.mkv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | h2645_parse: don't overread AnnexB NALs within an avc streamHendrik Leppkes2016-07-08
| | | | | | | | | | We know the maximum size of an AnnexB NAL, signaling it as the maximum NAL size allows ff_h2645_extract_rbsp to determine the correct size.
* | h2645_parse: only read avc length code at the correct positionHendrik Leppkes2016-07-08
| | | | | | | | | | Reading it from any other position would result in a wrong size being read, instead fallback to the re-sync mechanic in the else clause.
* | h2645_parse: support badly muxed mp4 streamsHendrik Leppkes2016-05-17
| | | | | | | | | | | | | | | | | | | | Some streams contain an additional AnnexB NAL inside the mp4/nalff NALU. This commonly occurs in interlaced streams where both fields are packed into the same MP4 NAL with an AnnexB startcode in between. Port handling of this format from the previous h264 nal handling. Fixes trac #5529
* | h265_parse: skip zero sized NAL unitsHendrik Leppkes2016-05-07
| | | | | | | | | | | | Avoids extra error checks later on and/or invalid reads. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | h2645_parse: allow partial escapingHendrik Leppkes2016-05-07
| | | | | | | | | | | | | | This ports the fix from 033a533 to the new parser module in prepartion of using it for the h264 decoder. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | h2645_parse: initialize the GetBitContext to the proper sizeHendrik Leppkes2016-05-07
| | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | Merge commit '90ed6c5cf7f236bc9efb47c97b40358c666d1386'Derek Buitenhuis2016-04-26
|\| | | | | | | | | | | | | * commit '90ed6c5cf7f236bc9efb47c97b40358c666d1386': h2645_parse: compute the actual data length, without trailing paddding Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h2645_parse: compute the actual data length, without trailing padddingAnton Khirnov2016-03-28
| | | | | | | | This is required by h264.
* | Merge commit 'b667252a41fbf5a3f6ea8c67fdbc03db3d748977'Derek Buitenhuis2016-04-26
|\| | | | | | | | | | | | | * commit 'b667252a41fbf5a3f6ea8c67fdbc03db3d748977': h2645_parse: add support for parsing h264 Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h2645_parse: add support for parsing h264Anton Khirnov2016-03-28
| |
* | Merge commit '52ec149fbee57b6ca817049c9706212a0774a32c'Derek Buitenhuis2016-04-26
|\| | | | | | | | | | | | | * commit '52ec149fbee57b6ca817049c9706212a0774a32c': h2645_parse: change the AVCodecContext* parameter to void* Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h2645_parse: change the AVCodecContext* parameter to void*Anton Khirnov2016-03-28
| | | | | | | | | | This should make it more clear that it is not supposed to be used for anything except logging.
* | Merge commit '8229eff4b7a98ae5d85bb75f3bb072781b4a8ebe'Derek Buitenhuis2016-04-26
|\| | | | | | | | | | | | | * commit '8229eff4b7a98ae5d85bb75f3bb072781b4a8ebe': h2645_parse: add a function for uninitializing the packet Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h2645_parse: add a function for uninitializing the packetAnton Khirnov2016-03-28
| |
* | Merge commit 'fa936a307f5cddfc2664600157a8207ca8080af6'Derek Buitenhuis2016-04-26
|/ | | | | | | * commit 'fa936a307f5cddfc2664600157a8207ca8080af6': hevc_parse: rename into h2645_parse Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* hevc_parse: rename into h2645_parseAnton Khirnov2016-03-28
This code will be shared with h264.