summaryrefslogtreecommitdiffstats
path: root/libhb/fifo.c
Commit message (Collapse)AuthorAgeFilesLines
* libhb: store the color code points in hb_image_s. A UI can use this ↵Damiano Galassi2021-04-131-0/+3
| | | | information to display the image in the proper colorspace.
* Update copyright dates to 2021.Bradley Sepos2021-01-011-1/+1
|
* qsv: holding frames context that associated with surface in the hb_bufferagalin892020-07-281-9/+1
|
* qsv: improved memory managementagalin892020-07-281-3/+4
|
* qsv: move hw filters flag check into functionArtem Galin2020-07-201-1/+1
|
* qsv: remove globalsArtem Galin2020-07-201-9/+3
|
* qsv: added HW offload of resize filterArtem Galin2020-07-201-1/+15
| | | | | | | Started to close gap of filters to be offloaded for HW acceleration, when possible. Resize filter is validated and others are in the pipeline, including DX11.
* build: libhb: cli: Improve support for NetBSD.Bradley Sepos2020-02-101-1/+1
|
* qsv: fix --start-at frames issue and dx surfaces leaks (#2533)Artem Galin2020-01-041-0/+10
|
* Update copyright dates to 2020.Bradley Sepos2020-01-011-1/+1
|
* Gardening: Clean up trailing whitespaceNomis1012019-11-041-3/+3
| | | | Remove trailing whitespace in "*.c", "*.m", "*.h" and "*.cpp" files.
* libhb: make hb_buffer_t libhb privateJohn Stebbins2019-09-121-0/+2
| | | | hb_buffer_t conflicts with a harfbuzz typedef by the same name
* libhb: resolve header conflicts with pango/harfbuzzJohn Stebbins2019-09-121-2/+2
| | | | | | | Newest versions appear to have a "common.h" somewhere that is interfering with libhb/common.h. move headers into "handbrake" subdirectory
* Resolve conflict with harfbuzz include file hb.hJohn Stebbins2019-09-101-1/+1
| | | | Rename hb.h to handbrake.h
* qsv: use HB_PROJECT_FEATURE_QSV instead of USE_QSVJohn Stebbins2019-04-171-3/+3
|
* avfilter: simplify internal API to avfilterJohn Stebbins2019-04-081-89/+77
| | | | | | Use this interface in decavcodec. Remove cropscale.c and use avfilter for crop and scale. Improve log output of filters that are aliases for avfilter.
* Libhb: Some minor logging cleanupsr552019-03-301-2/+2
|
* Fix potential NULL pointer dereferenceJohn Stebbins2019-01-201-2/+5
|
* Align data in hb_buffer_t buffersJohn Stebbins2019-01-201-31/+18
| | | | | Use av_malloc/av_free for hb_buffer_t buffers since av_malloc always aligns.
* lapsharp: mirror image data into stride regionJohn Stebbins2019-01-201-12/+57
| | | | | | | | | Adds a function to mirror image data into stride region. Mirroring the data results in a less visible artefact down the right edge of the image. Blanking resulted in a dark edge artefact. Keeps function that blanks stride region and improves it's speed, although it's not currently used.
* lapsharp: blank frame buffer stride regionJohn Stebbins2019-01-201-0/+28
| | | | | | Zero is not black. Stride is used in computations and is assumed black. Fixes https://github.com/HandBrake/HandBrake/issues/1751
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* libhb: use the same padding as FFmpeg when allocating buffer.Damiano Galassi2018-08-221-1/+1
|
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* FreeBSD 11.1 compatibility.Bradley Sepos2017-12-061-3/+7
|
* opencl: removit it (#777)John Stebbins2017-06-121-90/+9
| | | | It was only used for scaling, it fails far too often and is only faster on a limited selectoin of hardware.
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* qsv: rename av_qsv* to hb_qsv*John Stebbins2016-12-171-4/+4
|
* qsv: fix more compiler warningsJohn Stebbins2016-12-171-1/+1
|
* libhb: fix build with --enable-qsvTim Walker2016-12-171-1/+1
| | | | | | | | | | Convert qsv_livav.[ch] to be built within libhb. Convert other files to use qsv_libav.h in place of libavcodec/qsv.h Don't attempt to build libav with QSV support (not available in unpatched release/11 branch). QSV-accelerated decoding is broken, so disable it for the time being.
* fifo: fix log messageJohn Stebbins2016-09-201-1/+1
|
* libhb: fix memory leakJohn Stebbins2016-09-091-1/+1
| | | | code commented out during a debug session got unintentionally committed
* sync: correct timestamp discontinuities in sync instead of reader (#192)John Stebbins2016-05-241-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sync: correct timestamp discontinuities in sync instead of reader This patch passes discontinuity information through the pipeline till it reaches sync.c. The timestamps are passed through the pipeline as read and unmodified to sync.c (instead of attempting to correct discontinuities in reader). In sync, when we see a discontinuity, we know where the next timestamp should be based on the timestamp and duration of the previous buffer (before the discontinuity). So we calculate an "SCR" offset based on the timestamp after the discontinuity and what we calculate it should be. The old discontinuity handling code was broken due to the following. The MPEG STD timing model relies heavily on the decoder having an STC that is phase lock looped to the PCRs in the stream. When decoding a broadcast stream, the decoder can count on the time measure between PCRs using the STC to match to a high degree of accuracy. I.e. STC - lastSTC == PCR - lastPCR. When a discontinuity occurs, the decoder calculates a new PCR offset = PCR - STC. I.e. the offset is the new PCR value minus what it would have been if there had been no discontinuity. The above does not work without a reliable STC, which we do not have. We have been attempting to approximate one by avereraging the duration of received packets and extrapolating an "STC" based on the last PTS and the average packet duration. But this is highly variable and unreliable. * decavcodec: fix data type of next_pts It needs to be double so that partial ticks are not lost * deccc608sub: clarify comment * sync: allow queueing more audio Audio is small, and there is often a significant amount of audio in the stream before the first video frame. * sync: improve handling of damaged streams When data is missing, the audio decoder was extrapolating timestamps from the last pts before the error caused by the missing data which caused sync issues. Also, missing data can cause the video decoder to output a frame out of order with the wrong scr sequence. Drop such frames.
* buffers: add more buffer allocation debuggingJohn Stebbins2016-05-171-0/+31
|
* buffers: add more buffer debugging supportJohn Stebbins2016-04-201-7/+33
|
* fifo: when HB_BUFFER_DEBUG is set, memset buffers to 0John Stebbins2016-03-231-0/+6
|
* sync: gut and rewriteJohn Stebbins2016-01-211-0/+26
| | | | | | | | | | | sync.c was difficult to read, fragile, and prone to difficult to diagnose bugs (see https://forum.handbrake.fr/viewtopic.php?f=12&t=33147) This rewrite simplifies the code, removes signals, locking and yield that probably cause the above problem and is much more flexible. It fixes a wider variety of timestamp issues than before and is much easier to extend if other timestamp analysis is desired.
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: remove unused hb_buffer_t.subJohn Stebbins2015-09-041-38/+0
|
* libhb: Use a buffer flat to indicate EOFjstebbins2015-05-011-0/+7
| | | | | | | | | | | | ... 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
* sync: fix frame p-to-p extra audio after end framejstebbins2015-04-221-0/+18
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7119 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
* libhb: add hb_image_init to create blank imagesjstebbins2014-12-191-0/+80
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6613 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fifo: add code (ifdef'd out) to assist with finding buffer leaksjstebbins2014-10-301-0/+33
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6485 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add new function for retrieving previewsjstebbins2014-07-291-0/+52
| | | | | | | | | | | | | | | | This new function has a couple advantages over the old one (which we should phase out). It does not require hb_job_t as a parameter, instead it uses hb_ui_geometry_t which is a smaller and simpler struct. The entire job struct is overkill as input to this function. It returns an hb_image_t that fully describes the returned image instead of just a uint8_t array. The caller does not have to make assumptions about image size, line stide, or pixel format since hb_image_t specifies these things. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6242 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update some copyright dates to 2014.Rodeo2014-02-181-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6042 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Replace invaled timestamp flag "-1" with AV_NOPTSjstebbins2014-01-261-6/+6
| | | | | | | | | -1 is not a good value as a flag for invalid timestamps. There are cases where small negative timestamps are useful. So this eliminates a potential ambiguity. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6001 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: use av_pix_fmt_desc_getjstebbins2014-01-061-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5954 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a bunch of compiler warningsjstebbins2013-11-261-7/+15
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5905 b64f7644-9d1e-0410-96f1-a4d463321fa5
* OpenCL: use the new library loading architecture for all OpenCL code.Rodeo2013-11-081-46/+55
| | | | | | | | | | | An OpenCL SDK is no longer needed to build OpenCL support. Note: as a result, the --enable-opencl configure option is removed. Also, libOpenCL is no longer needed to run the application (it is still necessary to use OpenCL features, of course). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5886 b64f7644-9d1e-0410-96f1-a4d463321fa5