- 20 Oct, 2022 9 commits
-
-
Andreas Rheinhardt authored
Both the FFV1 decoder and encoder use a template of their own to generate code multiple times. They also use a common template, used by both decoder and encoder templates which is currently instantiated in ffv1.h (and therefore also in ffv1.c, which doesn't need it at all). All these templates have the prerequisite that two macros are defined, namely RENAME() and TYPE. The codec-specific templates call the functions generated via the common template via the RENAME() macro and therefore the macros used for the common template must coincide with the macros used for the codec-specific templates. But then it is better to not instantiate the common template in ffv1.h, but in the codec specific templates. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Forgotten in f899e3b5. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Some parts of mpegvideo.c behave differently depending upon whether AVCodecContext.draw_horiz_band is set or not. This differing behaviour makes lots of FATE tests fail and leads to garbage output, although setting this callback is not supposed to change the output at all. These checks have been added in commits 3994623d and b68ab260. The commit messages do not contain a real reason for adding the checks and it is indeed a mystery to me. But removing these checks fixes the FATE tests when one adds an (empty) draw_horiz_band when using a codec that claims to support it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
The VC-1 decoders don't support draw_horiz_band at all. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
- 19 Oct, 2022 6 commits
-
-
James Almer authored
This bumps the minimum required version to 0.5.0 Signed-off-by: James Almer <jamrial@gmail.com>
-
James Almer authored
librav1e provides a function to create extradata, so use it instead of extracting the sequence header OBU from packets. Signed-off-by: James Almer <jamrial@gmail.com>
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
Andreas Rheinhardt authored
Up until now, ff_startcode_find_candidate_c() simply casts an uint8_t* to uint64_t*/uint32_t* to read 64/32 bits at a time in case HAVE_FAST_UNALIGNED is true. Yet this ignores the alignment requirement of these types as well as effective type rules of the C standard. This commit therefore replaces these direct accesses with AV_RN64/32; this also improves readability. UBSan reported these unaligned accesses which happened in 233 FATE-tests involving H.264 and VC-1 (this has also been reported in tickets #8138 and #8485); these tests are fixed by this commit. The output of GCC with -O3 is unchanged for aarch64, loongarch, ppc and x64 (as well as for arches like alpha for which HAVE_FAST_UNALIGNED is never true in the first place). There was only a slight difference for mips and arm. I don't know about the speed impact of them. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Jan Ekström authored
Now that we have proper options for defining display matrix overrides, this should no longer be required. fftools does not have its own versioning, so for now the define is just set to 1 and disables the functionality if set to zero.
-
Jan Ekström authored
This enables overriding the rotation as well as horizontal/vertical flip state of a specific video stream on the input side. Additionally, switch the singular test that was utilizing the rotation metadata to instead override the input display rotation, thus leading to the same result.
-
- 18 Oct, 2022 25 commits
-
-
Andreas Rheinhardt authored
This e.g. allows compilers to bake the "+ 256" offset used to access ff_v2_dc_(lum|chroma)_table into the general offset; for certain arches this is also necessary in order to avoid building suboptimal code. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
These tables are not exported as avpriv symbols, but instead included into every library using them. Therefore they can be mark with the hidden elf visibility. For certain arches this is necessary in order to avoid building suboptimal code; for other arches it just allows the compiler to simplify accesses like ff_mjpeg_bits_dc_luminance + 1 because the "+ 1" can be baked into the offset. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-
Anton Khirnov authored
They are private to the muxer and do not need to be visible outside of it.
-
Anton Khirnov authored
It is private to the muxer and does not need to be visible outside of it.
-
Anton Khirnov authored
This is now possible since OutputStream is a child of OutputFile and the code allocating it can access MuxStream. Avoids the overhead and extra complexity of allocating two objects instead of one. Similar to what was previously done for OutputFile/Muxer.
-
Anton Khirnov authored
Output streams are now children of OutputFile, so it makes more sense to free them there.
-
Anton Khirnov authored
Some of it is already duplicated in ost_free() - those parts can be just dropped. The rest is moved to ost_free(), as it properly belongs there.
-
Anton Khirnov authored
Replace it with an array of streams in each OutputFile. This is a more accurate reflection of the actual relationship between OutputStream and OutputFile. This is easier to handle and will allow further simplifications in future commits.
-
Anton Khirnov authored
And intermediate functions. Will be useful in the following commit.
-
Anton Khirnov authored
-
Anton Khirnov authored
-
Anton Khirnov authored
Bitstream filtering is done as a part of muxing, so this is the more proper place for this.
-
Anton Khirnov authored
It is internal to ffmpeg_mux* and does not need to be visible to other code.
-
Anton Khirnov authored
mux_free() is no longer called from anywhere else.
-
Anton Khirnov authored
A separate muxer init is no longer necessary, now that of_open() has access to Muxer.
-
Anton Khirnov authored
This is now possible since setup_sync_queues() can interact with Muxer.
-
Anton Khirnov authored
This is now possible since the code allocating OutputFile can see sizeof(Muxer). Avoids the overhead and extra complexity of allocating two objects instead of one. Similar to what is done e.g. for AVStream/FFStream in lavf.
-
Anton Khirnov authored
This will allow ffmpeg_mux_init.c to work with these structs.
-
Anton Khirnov authored
ffmpeg_opt.c currently contains code for - parsing the options provided on the command line - opening and initializing input files based on these options - opening and initializing output files based on these options The code dealing with each of these is for the most part disjoint, so it makes sense to move them to separate files. Beyond reducing the quite considerable size of ffmpeg_opt.c, this will also allow exposing muxer internals (currently private to ffmpeg_mux.c) to the initialization code, thus removing the awkward separation currently in place.
-
Anton Khirnov authored
The code in question is muxing-specific and so belongs there. This will allow make some objects private to the muxer in future commits.
-
Anton Khirnov authored
This function is now static.
-
Anton Khirnov authored
This is more descriptive, and the submit_packet() name will be reused in following commits.
-
Anton Khirnov authored
This function is common to both transcoding and streamcopy, so it properly belongs into the muxing code.
-
Anton Khirnov authored
The packet submitted to of_submit_packet() may be NULL to signal EOF.
-