summaryrefslogtreecommitdiffstats
path: root/libhb/stream.c
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* stream: fix SRT subtitle durationJohn Stebbins2016-12-221-0/+1
|
* stream: fix SRT detectionJohn Stebbins2016-12-171-0/+1
| | | | libav changed the codec id they use for SRT in mkv
* unref AVPackets, fix merge issuesJohn Stebbins2016-12-171-2/+0
|
* stream: fix use of deprecated libav interfacesJohn Stebbins2016-12-171-91/+87
| | | | AVStream.codec is deprecated, use AVStream.codecpar
* libhb: fix small leaksJohn Stebbins2016-12-141-0/+10
| | | | fixes various context leaks in error conditions
* libhb: Fix possible null pointer dereference in stream.c.midzer2016-12-141-6/+6
|
* stream: fix invalid ES packet generationJohn Stebbins2016-12-101-2/+2
| | | | In some cases, the PES header was included in the "ES" data.
* stream: be more forgiving of TS continuity errorsJohn Stebbins2016-11-211-4/+8
|
* libhb: use the new keyframe flag.Tim Walker2016-09-171-2/+3
|
* libhb: make hb_ps_read_packet() more robustSean McGovern2016-07-281-6/+13
|
* Revert "libhb: don't ignore the return result from fread()"Bradley Sepos2016-07-071-12/+7
| | | | | | Broke image previews on Linux and Windows (mingw). This reverts commit b7645e7842703d52c44feaa85cfb3c490e09c8dc.
* libhb: don't ignore the return result from fread()Sean McGovern2016-07-011-7/+12
|
* libhb: pass through "default" subtitle flag ... (#203)John Stebbins2016-05-281-0/+5
| | | ... when applying presets
* stream: create default chapter names for empty chapter titlesJohn Stebbins2016-05-201-1/+1
|
* libhb: send initial chapter through pipelineJohn Stebbins2016-05-171-14/+45
| | | | | Eliminate the need for everyone to assume that the first chapter starts at the first frame.
* stream: fix libav initial timestamp calculationJohn Stebbins2016-05-171-1/+1
| | | | | libav may deliver an initial timestamp that is negative which we were not handling well.
* remove dxva hw decode (#189)John Stebbins2016-05-171-4/+1
| | | | | | | | | * remove dxva hw decode It provides practically no speed increase even on a slow CPU and results in a speed decrease on fast CPUs. And the code is exceptionally fugly. * cli: remove USE_HWD
* stream: fix memory leak during PS stream probeJohn Stebbins2016-04-201-0/+7
|
* stream: fix negative array indexJohn Stebbins2016-03-251-1/+1
|
* stream: fix potential use of uninitialized variableJohn Stebbins2016-03-231-10/+18
|
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: use LL for int64 constants to make mingw happyJohn Stebbins2015-12-261-1/+1
|
* bd: fix discontinuity handlingJohn Stebbins2015-11-121-14/+17
| | | | | | | | Tag only one buffer with discontinuity flag, not multiple. Flush pre-discontinuity buffers before signaling the discontinuity, not after. Make sure discontinuity flag is on the buffer with the PCR change when possible.
* libhb: repair split packets in readerJohn Stebbins2015-11-101-0/+4
| | | | | | | | We split PES packets when there is a PCR change in the middle of the packet. This works fine for audio and video where the decoder parses the ES to find frame boundaries. But it does not work for some decoders such as PGS subtitles. So mark split buffers and reassemble them in reader after processing the PCR change.
* libhb: make muxer, sync, and reader behave like other work objectsJohn Stebbins2015-11-091-1/+1
| | | | | | | | | | | | | simplify job initialization sequence, clean up code, and document dependencies in the sequence better. Make hb_add set job->sequence_id. It is no longer necessary for the frontend to do this. If the frontend needs the sequence_id, it is returned by hb_add(). Clean up use of interjob. do_job() now uses sequence_id to detect when a new sequence of related jobs is running and automatically clears interjob.
* stream: fix pts to buffer start conversionJohn Stebbins2015-11-051-6/+6
| | | | | AV_NOPTS_VALUE was getting modified by subtracting an offset. This lead to garbage start values reaching the muxer and causing hangs.
* libhb: add hb_buffer_listJohn Stebbins2015-09-241-45/+30
| | | | | This brings together several independent implementations of a simple buffer list manager.
* stream: remove unused variable pix_fmtJohn Stebbins2015-09-201-2/+0
|
* libhb: detect read errors and propagatejstebbins2015-06-291-1/+31
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7332 b64f7644-9d1e-0410-96f1-a4d463321fa5
* DXVA2: cleanup decode support checks.Rodeo2015-06-231-32/+2
| | | | | | | This should fix https://forum.handbrake.fr/viewtopic.php?f=11&t=32520 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7310 b64f7644-9d1e-0410-96f1-a4d463321fa5
* stream: fix TS parsing after a seekjstebbins2015-05-011-0/+1
| | | | | | This error was causing some garbled preview frames git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7148 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Use a buffer flat to indicate EOFjstebbins2015-05-011-6/+3
| | | | | | | | | | | | ... instead of a 0 length buffer. This fixes this issue: https://forum.handbrake.fr/viewtopic.php?f=12&t=31959 Theora can create 0 length output. These 0 length frames indicate duplicate frames. So we can't use 0 length buffers to indicate the end of the stream. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7143 b64f7644-9d1e-0410-96f1-a4d463321fa5
* p-to-p: fix seek to start pts source initial PTS != 0jstebbins2015-04-241-3/+4
| | | | | | | When a file demuxed by libav does not start to time 0, our seek to the initial start pts tried to seek too far forward. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7124 b64f7644-9d1e-0410-96f1-a4d463321fa5
* stream: Improve transport stream PCR handlingjstebbins2015-04-221-233/+269
| | | | | | | | When a new PCR is seen, emit all currently cached data. This prevents data that was referenced to the previous PCR from being associated with the new PCR. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7120 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Eliminate global variable hb_gui_use_hwd_flagjstebbins2015-03-291-13/+14
| | | | | | | | | | | | This global was shared between the CLI and libhb and used as a back door to force scan and encode passes to use the same ffmpeg context for hardware decoding. Aside from the fact that this context sharing should not be necessary and needs fixing, this information belongs in the hb_handle_t that is shared between the scan and the encode. So put it there and make sure the hb_handle_t get propagated to where the flag is needed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7028 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: automatically scan title when processing json jobsjstebbins2015-03-071-2/+0
| | | | | | | | | | | | | | | Simplifies the WinGui. This also changes how jobs are processed. Creating the sub-jobs for multiple passes is delayed until after scanning and immediately before running the job. Working status has also changed. Sub-job passes are identified in status with an ID that allows the frontend to definitively identify what pass is in progress. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6976 b64f7644-9d1e-0410-96f1-a4d463321fa5
* stream: fix potential overflow in pts calculationjstebbins2015-02-171-5/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6919 b64f7644-9d1e-0410-96f1-a4d463321fa5
* New audio output options.Rodeo2015-02-151-4/+20
| | | | | | | | | Dolby Digital Plus (E-AC-3), Dolby TrueHD and FLAC can now be passed through without re-encoding. They aren't covered by Auto Passthru yet, however. In addition, encoding to E-AC-3 is now possible. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6908 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update year to 2015.bradleys2015-02-011-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add support for open type font attachments.ritsuka2015-01-311-7/+12
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6839 b64f7644-9d1e-0410-96f1-a4d463321fa5
* stream: Fix scanning files with large PNGsjstebbins2015-01-141-1/+15
| | | | | | | | Increase libavformat probe buffer size. The default size of 5MB is not large enough to successfully scan some files. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6749 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add json APIsjstebbins2014-12-161-2/+2
| | | | | | | | | | There are several changes to job and title structs that break current windows interop code. The interop code should be changed such that it only uses json APIs. So if there is any missing features (or bugs) in these APIs, please let me know. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6602 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: improve preview generateion when there are no IDRsjstebbins2014-10-021-4/+0
| | | | | | | | | | Puts the decoder into a mode that returns *all* frames. I.e. it won't just scan to the end of the file looking for an IDR. Then we decode multiple frames (up to 100) searching for an I frame. This way, the reconstructed frame we use for a preview is more likely to be complete. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6430 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix scanning of video that is a single GOPjstebbins2014-09-091-15/+5
| | | | | | | | | | With this type of stream, scan only successfully decodes 1 frame. Eliminating the flush after seek allows decoding more frames. Note that there is a side effect of allowing some junk frames to be decoded, so we only skip the flush if normal scanning finds only 1 frame. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6396 b64f7644-9d1e-0410-96f1-a4d463321fa5
* build: remove mp4v2 and libmkv dependenciesjstebbins2014-08-181-5/+1
| | | | | | | ...and enable x265 by default git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6309 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix comment in isIframe()jstebbins2014-07-301-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6248 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add i-frame detection for mpeg4 ts/ps streamsjstebbins2014-07-301-0/+15
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6247 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: work around libav decoder error durint p-to-p encodingjstebbins2014-07-141-0/+24
| | | | | | | | | In some cases, initial data when in p-to-p mode causes libav decoder initialization to fail. This only happens when multi-threaded encoding is enabled. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6229 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Fix decoding avi with palettejstebbins2014-05-291-0/+10
| | | | | | | | | ... and probably other formats that use a palette. The palette is stored in AVPacket side data which we did not read. So read the side data and stash it in hb_buffer_t so that it can be used later by the decoder. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6207 b64f7644-9d1e-0410-96f1-a4d463321fa5