summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavu: bump minor and add APIchanges entry for lavu/tx DCTLynne2022-11-24
|
* binkaudio: convert to lavu/txLynne2022-11-24
|
* lavu/tx: add DCT-III implementationLynne2022-11-24
|
* lavu/tx: add DCT-II implementationLynne2022-11-24
|
* lavu/tx: clarify stride for RDFT transformsLynne2022-11-24
|
* lavu/tx: fix last coefficient scaling for R2C transformsLynne2022-11-24
| | | | This was a typo.
* lavu/tx: generalize PFA FFTsLynne2022-11-24
| | | | This commit permits any stacking of FFTs of any size.
* lavu/tx: add length decomposition functionLynne2022-11-24
| | | | | Rather than using a list of lengths supported, this goes a step beyond and uses all registered codelets to come up with a good decomposition.
* lavu/tx: refactor to explicitly track and convert lookup table orderLynne2022-11-24
| | | | Necessary for generalizing PFAs.
* lavu/tx: refactor and separate codelet list and prio codeLynne2022-11-24
|
* lavu/tx: improve transform tree loggingLynne2022-11-24
| | | | | Now prints the actual codelet size used, as well as the number of allowed factors.
* lavu/tx: allow codelets to specify a minimum number of matching factorsLynne2022-11-24
|
* lavu/tx: add ff_tx_clear_ctx()Lynne2022-11-24
| | | | | This function allows implementations to clean up a context after successfully initializing subcontexts.
* x86/tx_float: implement striding in fft_15xMLynne2022-11-24
|
* x86/tx_float_init: properly specify the supported factors of 15xM FFTsLynne2022-11-24
| | | | Only powers of two are currently supported.
* x86/tx_float: add a standalone 15-point AVX2 transformLynne2022-11-24
| | | | Enables its use everywhere else in the framework.
* x86/tx_float: optimize and macro out FFT15Lynne2022-11-24
|
* lavu/tx: support output stride in naive transformsLynne2022-11-24
| | | | Allows them to be used in general PFAs.
* lavu/tx: add fft_inplace_small transformsLynne2022-11-24
| | | | This is much faster than the loop.
* lavu/tx: drop requirement of input == output for in-place transformsLynne2022-11-24
| | | | No longer necessary.
* lavu/tx: support out-of-place transforms in fft_inplaceLynne2022-11-24
| | | | | This makes testing easier, as a unified path can be used for in/out of place transforms.
* lavu/tx: make C ptwo transforms in+out of placeLynne2022-11-24
| | | | | We assume that _all_ in-place transforms can operate out of place, which isn't true, because the C ptwo transforms were always in-place (dst).
* lavu/tx: add naive_small FFTLynne2022-11-24
| | | | | The same as naive but with precomputed tables. Makes it more useful for odd-factors we don't support yet.
* lavu/tx: list all odd-length FFT factors as regular codeletsLynne2022-11-24
| | | | Allows them to be picked just like any other transform.
* lavu/tx: generalize single-factor transformsLynne2022-11-24
| | | | Not that useful, but it gives us fast small odd-length transforms.
* lavu/tx: make prime factor transforms truly in-placeLynne2022-11-24
| | | | They all overwrote in[0] and then used it as a DC.
* fate/aacenc: increase tolerance for ln-128k testLynne2022-11-24
| | | | | | | | | | | The encoder is sensitive to changes in precision, and its test target was a compromise. It was already close to failing on x87 FPUs. ff_mdct_init used double precision entirely from the scale to computing the MDCT exp tables. av_tx_init uses single-precision for the scale, with a small input change which was enough to tip the test into failing on x87 FPUs. Increase the fuzz factor in line with other AAC encoder tests to fix.
* avcodec/flashsvenc: Remove unnecessary or unused variableAndreas Rheinhardt2022-11-23
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/flashsvenc: Avoid copying frameAndreas Rheinhardt2022-11-23
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/flashsvenc: Change check for first frameAndreas Rheinhardt2022-11-23
| | | | | | | | | | | AVCodecContext.frame_number is actually only incremented in case encoding was successfull; if e.g. the ff_alloc_packet() below fails, it won't be incremented and therefore it is possible for the previous_frame buffer to be allocated for multiple first frames, leaking every one except the last. So check for whether there already is a previous frame instead. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/flashsvenc: Use const where appropriateAndreas Rheinhardt2022-11-23
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/flashsvenc: Remove unused bufferAndreas Rheinhardt2022-11-23
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/flashsvenc: Fix packet size calculationAndreas Rheinhardt2022-11-23
| | | | | | | | | | | | | The earlier code did not account for the frame header as well as the block headers; furthermore, in case a large part of a block is unused (due to padding), the output size may exceed 3 * width * height (where the dimensions correspond to the visible pixels) due to the overhead of the zlib header, so use the padded dimensions to calculate the maximum packet size (which is also what the actual call to compress2() uses). Fixes ticket #10053. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/pnmenc: Check av_image_get_buffer_size()Andreas Rheinhardt2022-11-23
| | | | | | | Fixes the crash in ticket #10050. Also ensure that we don't overflow before ff_get_encode_buffer(). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* doc/developer.texi: extend and update naming conventionsAnton Khirnov2022-11-23
| | | | | | Bring it up to date with current practice, as the current text does not cover everything. Drop the reference to unprefixed exported symbols, which do not exist anymore.
* doc/developer.texi: drop a misplaced sentence from code formatting sectionAnton Khirnov2022-11-23
| | | | | | It describes a general development policy, not code formatting. It is also not true, as these days we tend to prioritize correctness, safety, and completeness over code size.
* doc/developer.texi: move editor configuration under formattingAnton Khirnov2022-11-23
| | | | It logically belongs there.
* doc/developer.texi: update the language feature sectionAnton Khirnov2022-11-23
| | | | | | | | It is currently very out of touch with reality. * declare we are using C99 fully, rather than C90 plus extensions * mention our use of stdatomic.h * mention forbidden C99 features, like VLAs and complex numbers
* doc/developer.texi: move the language feature section higher upAnton Khirnov2022-11-23
| | | | | It makes more sense to first describe the language we are using and only then document how to format code in it, rather than the reverse.
* configure: drop support for complex functionsAnton Khirnov2022-11-23
| | | | They are not used since 520a5d33f0ea9f8838dbc7282470db700d248065.
* fftools/ffmpeg_mux_init: postpone matching -disposition to streamsAnton Khirnov2022-11-23
| | | | | | | | | Do it in set_dispositions() rather than during stream creation. Since at this point all other stream information is known, this allows setting disposition based on metadata, which implements #10015. This also avoids an extra allocated string in OutputStream that was unused after of_open().
* fftools/ffmpeg: _-prefix variables in MATCH_PER_STREAM_OPT()Anton Khirnov2022-11-23
| | | | Avoids conflicts, e.g. when 'i' is used in the outvar expression.
* fftools/ffmpeg: declare loop variables inside loops in transcode_init()Anton Khirnov2022-11-23
|
* fftools/ffmpeg: do not assume input streams existAnton Khirnov2022-11-23
| | | | | There can be zero input streams, with input provided by lavfi complex filtergraphs.
* fftools/ffmpeg: remove the input_streams globalAnton Khirnov2022-11-23
| | | | | | | | | Replace it with an array of streams in each InputFile. This is a more accurate reflection of the actual relationship between InputStream and InputFile. Analogous to what was previously done to output streams in 7ef7a22251b852faab9404c85399ba8ac5dfbdc3.
* fftools/ffmpeg_mux_init: simplify inner loop in map_auto_{video,audio}Anton Khirnov2022-11-23
| | | | Skip unusable streams early and do not compute any scores for them.
* fftools/ffmpeg: replace OutputStream.source_index with a pointer to InputStreamAnton Khirnov2022-11-23
| | | | | This is simpler. The indirection via an index exists for historical reasons that longer apply.
* fftools/ffmpeg: stop inventing fake source informationAnton Khirnov2022-11-23
| | | | | | This code was supposed to affect copying stream dispositions, but it does not achieve that after bd55552d69, since dispositions are set earlier.
* fftools/ffmpeg: drop an arbitrary conditionAnton Khirnov2022-11-23
| | | | | | Encoding init code will currently fall back to a 25fps default when no framerate is known or specified, but only if there is a known source input stream. There is no good reason for this condition, so drop it.
* fftools/ffmpeg: move freeing an input stream into a separate functionAnton Khirnov2022-11-23
|