- 14 Mar, 2024 3 commits
-
-
Marton Balint authored
The samples I found all have 2000 sample packets, and by forcing the packet size with a bsf we could automagically make muxing work for packets containing more than 3640 samples. Signed-off-by: Marton Balint <cus@passwd.hu>
-
Marton Balint authored
Signed-off-by: Marton Balint <cus@passwd.hu>
-
Marton Balint authored
Use lexical order. Signed-off-by: Marton Balint <cus@passwd.hu>
-
- 13 Mar, 2024 25 commits
-
-
Kieran Kunhya authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
Andreas Rheinhardt authored
This is easily possible with an X macro. Using an enum for the offsets also allows to remove two arrays which are not really needed and will typically be optimized away by the compiler: The first just exists to count the number of syntax elements*, the second one exists to get offset[CONSTANT]. These constants were of type enum SyntaxElement and this enum was only used in hevc_cabac.c (although it was declared in hevcdec.h); it is now no longer needed at all and has therefore been removed. The first of these arrays led to a warning from Clang which is fixed by this commit: warning: variable 'num_bins_in_se' is not needed and will not be emitted [-Wunneeded-internal-declaration] *: One could also just added a trailing SYNTAX_ELEMENT_NB to the SyntaxElement enum for this purpose. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Mark Thompson authored
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
Rajiv Harlalka authored
Check for zeros equal to the total samples early, because in that case we would already be leaving the first few frames out. Fixes trac ticket #10692
-
Anton Khirnov authored
This allows using WRAPPED_AVFRAME encoders with loopback decoders in order to connect multiple filtergraphs together. Clear the flag in muxers, since lavf does not need it for anything and it would change the results of framecrc FATE tests.
-
Anton Khirnov authored
This allows to send an encoder's output back to decoding and feed the result into a complex filtergraph.
-
Anton Khirnov authored
Will be useful in following commits.
-
Anton Khirnov authored
-
Anton Khirnov authored
Will be useful in following commits.
-
Anton Khirnov authored
Will become useful in following commits.
-
Anton Khirnov authored
These functions used to be much longer, but now they are only a couple lines each, some of them duplicated between audio and video.
-
Anton Khirnov authored
Encoder timebase is equal to the frame timebase, so does not need to be passed separately. Also, rename in_picture to frame, which is shorter and more accurate - it always contains a frame, never a field.
-
Anton Khirnov authored
These functions used to be passed directly to pthread_create(), which required them to return void*. This is no longer the case, so they can return a plain int.
-
Anton Khirnov authored
Current callstack looks like this: * ifilter_bind_ist() (filter) calls ist_filter_add() (demuxer); * ist_filter_add() opens the decoder, and then calls dec_add_filter() (decoder); * dec_add_filter() calls ifilter_parameters_from_dec() (i.e. back into the filtering code) in order to give post-avcodec_open2() parameters to the filter. This is unnecessarily complicated. Pass the parameters as follows instead: * dec_init() (which opens the decoder) returns post-avcodec_open2() parameters to its caller (i.e. the demuxer) in a parameter-only AVFrame * the demuxer passes these parameters to the filter in InputFilterOptions, together with other filter options
-
Anton Khirnov authored
-
Anton Khirnov authored
Perform it right after we figure out what the type is.
-
Anton Khirnov authored
The first of these binds inputs of complex filtergraphs to demuxer streams (with a misleading comment claiming it *creates* complex filtergraphs). The second ensures that all filtergraph outputs are connected to an encoder. Merge them into a single function, which simplifies the ffmpeg_filter API, is shorter, and will also be useful in following commits. Also, rename misleadingly-named init_input_filter() to fg_complex_bind_input().
-
Anton Khirnov authored
Rename dec_open to dec_init(), as it is more descriptive of its new purpose. Will be useful in following commits, which will add a new path for opening decoders.
-
Anton Khirnov authored
Will be useful in following commits where we will want to create a decoder before having enough information to open it.
-
Anton Khirnov authored
Outside of ifilter_bind_ist(), there are no longer any assumptions about about filter inputs being fed by an InputStream.
-
Anton Khirnov authored
Treat it analogously to stream parameters like format/dimensions/etc. This is functionally different from previous code in 2 ways: * for non-CFR video, the frame timebase (set by the decoder) is used rather than the demuxer timebase * for sub2video, AV_TIME_BASE_Q is used, which is hardcoded by the subtitle decoding API These changes should avoid unnecessary and potentially lossy timestamp conversions from decoder timebase into the demuxer one. Changes the timebases used in sub2video tests.
-
Anton Khirnov authored
-
Gyan Doshi authored
Fixes #10900
-
- 12 Mar, 2024 12 commits
-
-
Reimar Döffinger authored
Fixes: out of array access Fixes: crash-0d640731c7da52415670eb47a2af701cbe2e1a3b Fixes: crash-e745864ead6ea418959c8df56de2765571201dae Found-by: Catena cyber <contact@catenacyber.fr> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Christian Lee Seibold authored
The 's', ';', and '<' itemtypes are used for audio and video by Gophernicus and Gopher+. Signed-off-by: Christian Lee Seibold <christian.seibold32@outlook.com> Signed-off-by: Marton Balint <cus@passwd.hu>
-
Nicolas Gaullier authored
Regression since 0b98f28cSigned-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris> Signed-off-by: Marton Balint <cus@passwd.hu>
-
Kristoffer Brånemyr authored
Signed-off-by: Kristoffer Brånemyr <ztion1@yahoo.se> Signed-off-by: Marton Balint <cus@passwd.hu>
-
Andreas Rheinhardt authored
This muxer solely exists to test the fifo muxer via a dedicated test tool in libavformat/tests/fifo_muxer.c. It fulfills no other role and it is only designed with this role in mind. The latter can be seen in two facts: The muxer uses printf for logging and it simply presumes the packets' data to contain a FailingMuxerPacketData (a struct duplicated in fifo_test.c and tests/fifo_muxer.c.); in particular, it presumes packets to have data at all, but this need not be true with side-data only packets and a segfault can easily be triggered by e.g. encoding flac (our native encoder sends a side-data only packet with updated extradata at the end of encoding). This patch fixes this by moving the test muxer into the fifo test tool, making it inaccessible via the API (and actually removing it from libavformat.so and libavformat.a). While this muxer was accessible via e.g. av_guess_format(), it was not really usable for an API user as FailingMuxerPacketData was not public. Therefore this is not considered a breaking change. In order to continue to use the test muxer in the test tool, the ordinary fifo muxer had to be overridden: fifo_muxer.c includes lavf/fifo.c but with FIFO_TEST defined which makes it support the fifo_test muxer. This is possible because test tools are always linked statically to their respective library. Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Leo Izen authored
Add an AVOption to the libjxl encoder wrapper, which exposes the flag uses_original_profile in libjxl. For highly unusual ICC profiles where the target needs to stay in the original space, this can be useful. Signed-off-by: Leo Izen <leo.izen@gmail.com>
-
Andreas Rheinhardt authored
No need to use the generic ff_tget() when we know the type. Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
Marth64 authored
Signed-off-by: Marth64 <marth64@proxyid.net>
-
Marth64 authored
The formal title of the muxer according to the specification is "RCWT (Raw Captions With Time)", so canonize this in the long name of the codec and docs. In the documentation section, point #2 was wrong: ccextractor extracts the Closed Captions data and stores normalized bits similarly to this muxer. Signed-off-by: Marth64 <marth64@proxyid.net>
-
Andreas Rheinhardt authored
Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-