Add transform_skip option to hevc_qsv. By enabling this option,
the transform_skip_enabled_flag in PPS will be set to 1.
This option is supported on the platform equal or newer than ICL.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi| 4
libavcodec/qsvenc.c | 13
Add low latency P-pyramid support to qsv. This feature relates to
command line option "-p_strategy". To enable this flag, user also
need to set "-bf" to 0. P-strategy has two modes "1-simple" and
"2-pyramid". The details of the two models refer to
https://github.com/Intel-Media-SDK/MediaSDK/blob/ma
Add dblk_idc option to 264_qsv and hevc_qsv. Turining on this opion can
disable deblocking.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 6 ++
libavcodec/qsvenc.c | 7 +++
libavcodec/qsvenc.h | 3 +++
3 files changed, 16 insertions(+)
diff --git a/doc/encoders.texi b/doc/encoder
Add max_frame_size support to hevc_qsv as well.
Signed-off-by: Wenbin Chen
---
doc/encoders.texi | 3 +++
libavcodec/qsvenc.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/doc/encoders.texi b/doc/encoders.texi
index 7cc8be1209..68921fbd40 100644
--- a/doc/encoders.te
This avoids copying the data in small chunks (1024B) into
the dynamic buffer's small buffer before finally writing them
into the "big" buffer.
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libavformat/matroskaenc.c b/libavform
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 28c7dee9b5..230bbf4a2c 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index e2f2dd7dae..28c7dee9b5 100644
--- a/libavformat/matroskaenc.c
+++ b/libavf
Up until now, the WebM variant of WebVTT subtitles has been handled
specially: It had its own function to write it, because the data
had to be reformatted before writing. But given that other codecs
also need reformatting, this is no good reason to also duplicate the
generic stuff for writing Block
This commit uses the new EbmlWriter API to write the length fields
of the BlockGroup and its descendants that are themselves Master
elements (namely BlockAdditions and BlockMore) on the least amount of
bytes.
This fixes regressions introduced when the special code for writing
general subtitles was
Add a field to mkv_track that is set to the offset instead
of checking for whether the track is ProRes when writing
the Block. This makes writing the Block independent
of the AVCodecParameters.
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 15 +--
1 file changed,
This e.g. stops recalculating ts again.
Also pass the AVFormatContext as pointer to void as it is only used
for logging.
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 19 ---
1 file changed, 8 insertions(+), 11 deletions(-)
diff --git a/libavformat/matroskaen
Once upon a time, mkv_write_block() only wrote a (Simple)Block,
not a BlockGroup which is needed for subtitles to convey
the duration. But with the introduction of support for writing
BlockAdditions and DiscardPadding (both of which require a BlockGroup),
mkv_write_block() can also open and close a
Do this by using the new NALUList API. This avoids an allocation
of a dynamic buffer per packet as well as the (re)allocation
of the actual buffer as well as copying the data around.
This improves performance: The time for one call to write_packet
decreased from 703501 to 357900 decicyles when rem
James Almer:
>
>
> On 1/16/2022 7:49 PM, Andreas Rheinhardt wrote:
>> Signed-off-by: Andreas Rheinhardt
>> ---
>> libavformat/matroskaenc.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
>> index 41b2df7dbf..1d
This will allow to avoid the temporary buffer and memcpys
when repacketing annex B to mp4-style H.264/H.265 without
searching twice for start codes.
Signed-off-by: Andreas Rheinhardt
---
libavformat/avc.c | 40 +---
libavformat/avc.h | 29 +
Matroska does not have different profiles that allow or disallow
in-band extradata, so one can just use the ordinary H.264 function
for H.265, too. (Both use ff_avc_parse_nal_units() internally anyway.)
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 7 ++-
1 file changed,
This avoids allocations+copies in all cases, not only those
in which the desired OBUs are contiguous in the input buffer.
Signed-off-by: Andreas Rheinhardt
---
ff_av1_filter_obus_buf() now has only one user left: movenc.c
Maybe movenc.c should be modified accordingly to remove it?
libavformat/m
Document that it can be used with a NULL AVIOContext to
get the output size in a first pass.
Signed-off-by: Andreas Rheinhardt
---
libavformat/av1.h | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavformat/av1.h b/libavformat/av1.h
index dd5b47dc25..f57dabe986 100644
WavPack's blocks use a length field, so that parsing them is fast.
Therefore it makes sense to parse the block twice, once to get
the length of the output packet and once to write the actual data
instead of writing the data into a temporary buffer in a single pass.
This speeds up muxing from 15970
Matroska uses variable-length elements and in order not to waste
bytes on length fields, the length of the data to write needs to
be known before writing the length field. Annex B H.264/5 and
WavPack need to be reformatted to know this length and this
currently involves writing the data into tempor
Avoids the surprise of using pb for the main AVIOContext
at the beginning and end of mkv_write_header() and for
for the dynamic buffer opened for the Info element
in the middle of mkv_write_header().
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 64 +--
Also check the (user-provided) metadata tags for being too long.
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 22 --
tests/ref/fate/webm-dash-chapters | 4 ++--
2 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/libavformat/matroska
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 233 ++
tests/fate/matroska.mak | 2 +-
tests/ref/fate/matroska-dovi-write-config7| 4 +-
tests/ref/fate/matroska-h264-remux| 4 +-
.../fate/matroska-m
It is already quite big.
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 130 +-
1 file changed, 72 insertions(+), 58 deletions(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 4d4d270db1..2f5f1cc56d 100644
--- a/l
Using start/end_ebml_master() to write an EBML Master element
uses seeks under the hood. This does not work if the output is
unseekable with the AVIOContext's buffer being very small
(the size of the currently written Matroska EBML header is 40)
or with the AVIOContext being in direct mode, because
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 20
tests/ref/lavf/mkv_attachment | 4 ++--
2 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 154de25f59..0927e0b873 100644
--- a/
Also check the (user-provided) tags for being overlong; the earlier
code had an implicit unchecked size_t->int conversion.
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 15 ---
tests/ref/fate/matroska-dovi-write-config7| 4 +-
tests/ref/fate/matro
This muxer currently uses two ways to ensure that no bytes
are wasted by writing unnecessary long EBML length fields
for Master elements and the (Simple)Block element
(all the other elements are fine as one either already has
the right length or getting the actual length is easy
and necessary anywa
This would happen in case non-WebVTT-subtitles had BlockAdditional
or DiscardPadding side-data. Given that these are not accounted for
in the length of the outer BlockGroup (which is a quite sharp upper
bound) it is possible for the outer BlockGroup to use an insufficient
number of bytes which lead
On Sun, 16 Jan 2022, Nicolas George wrote:
James Almer (12022-01-12):
From: Anton Khirnov
The new API is more extensible and allows for custom layouts.
More accurate information is exported, eg for decoders that do not
set a channel layout, lavc will not make one up for them.
Deprecate th
On 1/16/2022 7:49 PM, Andreas Rheinhardt wrote:
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 41b2df7dbf..1dde12a7d9 100644
--- a/libavformat/ma
Signed-off-by: Andreas Rheinhardt
---
libavformat/matroskaenc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 41b2df7dbf..1dde12a7d9 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -286,7 +
On 2022-01-14 10:57 pm, Gyan Doshi wrote:
O
On 2022-01-14 10:53 pm, Thierry Foucu wrote:
On Mon, Jan 10, 2022 at 10:32 AM Paul B Mahol wrote:
LGTM
Any chance to push this change?
On Sunday, if no one else does.
Pushed as dcc9454ab914f9532ddb7f06a2f756ed472a1a85
Regards,
Gyan
__
WebVTT files are required to be encoded as UTF-8 by its spec,
so just insert the bytes for UTF-8 encoded bidi-marks.
---
libavcodec/webvttdec.c | 2 +-
tests/ref/fate/sub-webvtt2 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/webvttdec.c b/libavcodec/webvttde
Backslashes cannot be escaped by backslashes in any ASS renderer,
but unless followed by a few specific characters it is just printed
as a regular character. Insert a word-joiner character after a backslash
to break up the active sequences without changing the visual output.
Also the existing \{ an
James Almer (12022-01-12):
> From: Anton Khirnov
>
> The new API is more extensible and allows for custom layouts.
> More accurate information is exported, eg for decoders that do not
> set a channel layout, lavc will not make one up for them.
>
> Deprecate the old API working with just uint64_t
Thilo Borgman (12022-01-14):
> v6 does:
>
> $> ffmpeg ... drawtext="fontfile=...:text='%{localtime \:%a %b %d %Y %S}'"
> (seconds)
> $> ffmpeg ... drawtext="fontfile=...:text='%{localtime_ms\:%a %b %d %Y %S}'"
> (milliseconds)
>
> I suggest v7 should according to your rema
37 matches
Mail list logo