ithub.com/Mbed-TLS/mbedtls/issues/7075
> Signed-off-by: sfan5
> ---
Would it not be simpler to simply set authmode to
MBEDTLS_SSL_VERIFY_OPTIONAL unconditionally, then just disregard the
verification result?
--
Anton Khirnov
___
ffmpeg-devel m
_log(mux, AV_LOG_ERROR, "Codec AVOption %s (%s) is not an "
> "encoding option.\n", e->key, option->help ? option->help
> : "");
> + av_dict_free(_opts);
> return AVERROR(EINVAL);
LGTM
--
Anton Khirnov
___
return AVERROR(ENOMEM);
Looks good.
Would look even better with the size increment outside of the
av_realloc_f() call.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Quoting Christophe Gisquet (2024-06-08 09:08:01)
> Le ven. 7 juin 2024, 15:05, Anton Khirnov a écrit :
>
> > They are useless duplicates of corresponding AVCodecContext fields.
> >
>
> FYI, the intent of one field was to be a bit field to simultaneously
> indicate/
Quoting Christophe Gisquet (2024-06-08 09:02:04)
> Le ven. 7 juin 2024, 15:07, Anton Khirnov a écrit :
>
> > if (pps->tiles_enabled_flag &&
> > pps->tile_id[ctb_addr_ts] != pps->tile_id[ctb_addr_ts - 1]) {
> > int re
---
libavcodec/hevc/hevcdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 5fc55d5de9..88f2bcecad 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -3449,7 +3449,7 @@ static int
Specifically, calling hwaccel end_frame, verifying frame checksum,
and printing the frame-was-decoded message.
---
libavcodec/hevc/hevcdec.c | 187 +++---
libavcodec/hevc/hevcdec.h | 1 -
2 files changed, 91 insertions(+), 97 deletions(-)
diff --git
It's a race with frame threading.
---
libavcodec/hevc/hevcdec.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index a8c2172674..5fc55d5de9 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@
>From hls_slice_header(). It is only done once per frame, so that is a
more appropriate place for this code.
---
libavcodec/hevc/hevcdec.c | 11 ++-
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index
Instead of an ad-hoc scheme. Also, combine skipping RASL frames with
skip_frame handling - current code seems flawed as it only executes for
the first slice of a RASL frame and unnecessarily unsets is_decoded,
which should not be set at this point anyway..
Some RASL frames in fate-hevc-afd-tc-sei
---
libavcodec/hevc/hevcdec.c | 9 ++---
libavcodec/hevc/hevcdec.h | 1 -
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 6dda923df5..d599373c9d 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@
Instead, accept PPS as a function argument and retrieve SPS through it.
Makes the code shorter and significantly reduces diff in future commits.
---
libavcodec/hevc/filter.c | 311 --
libavcodec/hevc/hevcdec.c | 20 +--
libavcodec/hevc/hevcdec.h | 14 +-
3
SPS and its dependent PPSes depend on, and are parsed for, specific VPS data.
This will be useful in following commits.
---
libavcodec/hevc/hevcdec.c | 5 ++---
libavcodec/hevc/parser.c | 2 +-
libavcodec/hevc/ps.c | 13 +
libavcodec/hevc/ps.h | 2 ++
4 files changed,
The parser does not need to preserve these between frames.
---
libavcodec/hevc/parser.c | 55
1 file changed, 27 insertions(+), 28 deletions(-)
diff --git a/libavcodec/hevc/parser.c b/libavcodec/hevc/parser.c
index 49f7bccdfa..f4e6e3c36d 100644
---
Instead, accept PPS/SPS as function arguments.
Makes the code shorter and significantly reduces diff in future commits.
---
libavcodec/hevc/cabac.c | 145 +++---
libavcodec/hevc/hevcdec.c | 31
libavcodec/hevc/hevcdec.h | 22 +++---
3 files changed,
Do not do it in hls_slice_header(), which is the wrong place for it.
Avoids special magic return value of 1 in that function. The comment
mentioning potential corrupted state is no longer relevant, as
hls_slice_header() modifies no state beyond SliceHeader, which will only
get used for a valid
Not in hls_slice_header(), as it should only be done once per frame.
---
libavcodec/hevc/hevcdec.c | 52 ---
1 file changed, 27 insertions(+), 25 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 804cceac3e..9abae3260d
hls_slice_header() no longer modifies anything in HEVCContext besides
SliceHeader.
---
libavcodec/hevc/hevcdec.c | 15 ++-
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index b13e3e06a3..2809e1e61d 100644
---
---
libavcodec/hevc/hevcdec.c | 25 +
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index c148244361..804cceac3e 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -665,11 +665,9
---
libavcodec/hevc/hevcdec.c | 97 +--
1 file changed, 52 insertions(+), 45 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index b9aea45edb..7263b80a24 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@
>From decode_nal_unit(), as that is a more appropriate place for it.
---
libavcodec/hevc/hevcdec.c | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index cda52e05ef..0bf68ea45c 100644
---
Combine it with an existing similar check.
---
libavcodec/hevc/hevcdec.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index df6d1565bc..9c1d879953 100644
--- a/libavcodec/hevc/hevcdec.c
+++
>From decode_nal_unit(), as that is a more appropriate place for it.
---
libavcodec/hevc/hevcdec.c | 38 +-
1 file changed, 17 insertions(+), 21 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 0bf68ea45c..c148244361 100644
Pass this information explicitly instead.
---
libavcodec/hevc/cabac.c | 7 ---
libavcodec/hevc/hevcdec.c | 4 ++--
libavcodec/hevc/hevcdec.h | 3 ++-
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/libavcodec/hevc/cabac.c b/libavcodec/hevc/cabac.c
index 8708efc248..39ca7c0135
Rather than decoding directly into HEVCContext.poc.
This is a step towards constifying HEVCContext in hls_slice_header().
---
libavcodec/hevc/hevcdec.c | 13 +++--
libavcodec/hevc/hevcdec.h | 1 +
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c
Also move there a sanity check from hls_decode_entry() that should also
be performed when WPP is active (note that the check is not moved to
hls_slice_header() because it requires the HEVCContext.tab_slice_address
to be set up).
---
libavcodec/hevc/hevcdec.c | 36
Pass the two numbers needed from it explicitly.
Makes it clear that HEVCContext is not modified by this function.
---
libavcodec/hevc/hevcdec.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index
"Currently active PPS" is a property of the decoding process, not of the
list of available parameter sets.
---
libavcodec/dxva2_hevc.c | 8
libavcodec/hevc/hevcdec.c | 19 ---
libavcodec/hevc/hevcdec.h | 1 +
libavcodec/hevc/ps.c | 12 ++--
Its meaning is only specified for IRAP frames.
As it's currently never used otherwise, this should not change decoder
behaviour, but will be useful in future commits.
---
libavcodec/hevc/hevcdec.c | 4 +++-
libavcodec/hevc/hevcdec.h | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff
---
libavcodec/hevc/hevcdec.c | 4
libavcodec/hevc/hevcdec.h | 1 -
2 files changed, 5 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index a241e25196..b9aea45edb 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -3143,7 +3143,6 @@
Into decode_slice_data(). This is a step towards constifying
HEVCContext in hls_slice_header().
---
libavcodec/hevc/hevcdec.c | 15 ---
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index bbcaa350c7..cda52e05ef
Pass the only things required from it - slice header and PPS -
explicitly.
Will be useful in the following commits to avoid mofiying HEVCContext in
hls_slice_header().
---
libavcodec/hevc/hevcdec.c | 2 +-
libavcodec/hevc/hevcdec.h | 2 +-
libavcodec/hevc/refs.c| 8
It is only done once per frame. Also, rename the variable to poc_tid0 to
be consistent with our naming conventions.
---
libavcodec/hevc/hevcdec.c | 26 +-
libavcodec/hevc/hevcdec.h | 2 +-
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git
Not once per each slice header, as it makes no sense and may cause races
with frame threading.
---
libavcodec/hevc/hevcdec.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index dd3c188418..bf6e93ba1b 100644
---
All other errors should cause a failure, regardless of the value of
err_recognition. Also, print a warning message when skipping invalid NAL
units.
---
libavcodec/hevc/hevcdec.c | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c
Instead, accept PPS/SPS as function arguments.
Makes the code shorter and significantly reduces diff in future commits.
---
libavcodec/hevc/hevcdec.c | 876 --
1 file changed, 469 insertions(+), 407 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c
They are useless duplicates of corresponding AVCodecContext fields.
---
libavcodec/hevc/filter.c | 6 +++---
libavcodec/hevc/hevcdec.c | 36 +---
libavcodec/hevc/hevcdec.h | 3 ---
libavcodec/hevc/mvs.c | 4 ++--
libavcodec/hevc/refs.c| 2 +-
5 files
Instead, accept PPS/SPS as function arguments.
Makes the code shorter and significantly reduces diff in future commits.
---
libavcodec/hevc/hevcdec.c | 26 +--
libavcodec/hevc/pred.h | 4 +-
libavcodec/hevc/pred_template.c | 74
libavcodec/mips/hevcpred_mips.h | 4
And replace the HEVCContext* parameter by void *logctx.
Makes it clear that only SliceHeader is modified by this function.
---
libavcodec/hevc/hevcdec.c | 75 ---
1 file changed, 38 insertions(+), 37 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c
Instead, accept PPS as a function argument and retrieve SPS through it.
Makes the code shorter and significantly reduces diff in future commits.
---
libavcodec/hevc/hevcdec.c | 28 +
libavcodec/hevc/hevcdec.h | 8 ++-
libavcodec/hevc/mvs.c | 126
The exact same code is executed at the beginning of decode_nal_units()
---
libavcodec/hevc/hevcdec.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 43cbc45062..46db7923fe 100644
--- a/libavcodec/hevc/hevcdec.c
+++
---
libavcodec/hevc/hevcdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index d317c1471a..43cbc45062 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@ -3115,7 +3115,7 @@ static int
PPS depends on, and is parsed for, specific SPS data.
This will be useful in following commits.
---
libavcodec/hevc/hevcdec.c | 4 ++--
libavcodec/hevc/parser.c | 8 ++--
libavcodec/hevc/ps.c | 4
libavcodec/hevc/ps.h | 2 ++
4 files changed, 10 insertions(+), 8 deletions(-)
SliceHeader.{entry_point_offset,size,offset} are not derived from frame
size and do not need to be freed here.
---
libavcodec/hevc/hevcdec.c | 4
1 file changed, 4 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 4e0df4d033..d317c1471a 100644
---
or buts
> > here; libavfilter simply can't require that from the calling application or
> > upper-layer framework and therefore it also can't warrant it to SDL.
>
> We can require anything from an API that we are able to change and extend
> Of course we can decide not to allow
ticket #11016.
I'm ambivalent about this. On one hand it probably doesn't hurt, for now
at least, on the other it seems quite ad-hoc. Previously it worked this
way mostly by accident, whereas if we now restore this behaviour
deliberately we'll be committing to supporting it for the foreseea
le changed, 430 insertions(+)
> create mode 100644 doc/context.md
430 lines to say "context is a struct storing an object's state"?
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-
ibavutil/hwcontext_vaapi.h | 6 ++
> libavutil/hwcontext_vdpau.h | 3 +++
> libavutil/hwcontext_vulkan.h | 6 ++
> libavutil/lfg.h | 3 +++
> 24 files changed, 98 insertions(+), 1 deletion(-)
IMO this is pointless churn.
--
Anton Khirnov
__
Quoting Ronald S. Bultje (2024-06-05 01:32:12)
> Steven Liu as next runner-up
We are using a proportional system, which does not work this way.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listi
ss stats", OFFSET(stats),
> AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, VE},
These option names conflict with ffmpeg CLI options.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-d
to migrate to a new API every year.
IME smaller and more frequent changes are both easier to manage and have
a lower risk of bugs than a massive all-breaking API migration once in
five years.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel
leave this for later.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
It is merely a pointer to local_ctx[0], which we can just as well use
directly.
---
libavcodec/hevcdec.c | 24 ++--
libavcodec/hevcdec.h | 2 --
2 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index
Since it stores a pointer to the current frame.
---
libavcodec/dxva2_hevc.c| 12 +++---
libavcodec/hevc_filter.c | 34 -
libavcodec/hevc_mvs.c | 20 +-
libavcodec/hevc_refs.c | 18 -
libavcodec/hevcdec.c | 68
---
libavcodec/hevc/hevcdec.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.h b/libavcodec/hevc/hevcdec.h
index 8208268460..33ad4ac0aa 100644
--- a/libavcodec/hevc/hevcdec.h
+++ b/libavcodec/hevc/hevcdec.h
@@ -456,9 +456,6 @@ typedef struct HEVCContext {
---
libavcodec/Makefile | 12 ++-
libavcodec/aarch64/hevcdsp_init_aarch64.c | 2 +-
libavcodec/arm/hevcdsp_arm.h | 2 +-
libavcodec/arm/hevcdsp_init_arm.c | 2 +-
libavcodec/arm/hevcdsp_init_neon.c| 2 +-
---
libavcodec/hevc/hevcdec.c | 36
1 file changed, 12 insertions(+), 24 deletions(-)
diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c
index 4a07fa6612..4e0df4d033 100644
--- a/libavcodec/hevc/hevcdec.c
+++ b/libavcodec/hevc/hevcdec.c
@@
It is merely a redundant pointer to cur_frame->f
---
libavcodec/hevc_cabac.c| 4 +--
libavcodec/hevc_filter.c | 39 +++--
libavcodec/hevc_refs.c | 3 +-
libavcodec/hevcdec.c | 53 +-
libavcodec/hevcdec.h
This is shorter, loses no information, and is consistent with other
similar structs.
---
libavcodec/dxva2_hevc.c | 8 +++
libavcodec/hevc_refs.c | 34 +--
libavcodec/hevcdec.c | 50
libavcodec/hevcdec.h | 2 +-
hls_slice_data_wpp() is only called when num_entry_point_offsets>0
---
libavcodec/hevcdec.c | 15 +++
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index ad2cbd7ece..d3715f9de7 100644
--- a/libavcodec/hevcdec.c
+++
Will be useful in the following commit.
---
libavcodec/hevcdec.c | 19 +++
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index d3715f9de7..42fd33961b 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -975,8
In all HEVCLocalContext instances except the first one, the bitreader is
never used for actually reading bits, but merely for passing the buffer
to ff_init_cabac_decoder(), which is better done directly.
The instance that actually is used for bitreading gets moved to stack in
decode_nal_unit(),
Do it in hls_slice_header() rather than cabac_init_decoder() - the
former is a more logical place as according the spec the byte alignment
is a part of the slice header, not slice data. Avoids a second instance
of alignment handling in vaapi_hevc.
Also, check that alignment_bit_equal_to_one is,
Quoting James Almer (2024-05-27 16:11:13)
> On 5/27/2024 5:15 AM, Anton Khirnov wrote:
> > Quoting Michael Niedermayer (2024-04-27 02:36:23)
> >> This allows detecting issues in side data related code, same as what
> >> framecrc does for before already for packet data i
Quoting Michael Niedermayer (2024-05-27 20:11:05)
> If you block this solution without providing another solution
> then i will bring this to the technical committee, to seek its guidance
> on the way forward.
The solution is to use a tool appropriate for the purpose, like ffprobe.
It is currently an array of 32 uint8_t, each storing a single flag. A
single uint32_t is sufficient.
Reduces sizeof(HEVCSPS) by 1792 bytes.
---
libavcodec/hevc_ps.c | 33 +++--
libavcodec/hevc_ps.h | 2 +-
libavcodec/hevc_refs.c | 6 +++---
It is more efficient and easier to manage.
---
libavcodec/hevcdec.c | 57 +---
libavcodec/hevcdec.h | 6 -
2 files changed, 37 insertions(+), 26 deletions(-)
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index e84f45e3f8..88a481c043 100644
Quoting Lynne via ffmpeg-devel (2024-05-27 10:54:40)
> On 27/05/2024 10:40, Anton Khirnov wrote:
> > Quoting Lynne via ffmpeg-devel (2024-05-26 23:42:41)
> >> ...its an enum entry. Do you want a design document and a proposal?
> >> You could talk to the person who did
s of
developers pushing code immediately upon seeing an LGTM, without giving
other people the opportunity to look at it.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscr
a fundamentally wrong
thing to do.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
---
> 1 file changed, 24 insertions(+), 3 deletions(-)
Looks ok
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Quoting Anton Khirnov (2024-05-27 09:51:49)
> I don't like modifying OptionsContext in its consumers (it's const for a
> reason), and it's probably not even necessary - if the semantics of the
> option is "override demuxer-reported channel layout", then you can just
> overrid
val, AV_DICT_DONT_STRDUP_KEY);
I don't like modifying OptionsContext in its consumers (it's const for a
reason), and it's probably not even necessary - if the semantics of the
option is "override demuxer-reported channel layout", then you can just
override the demuxer-report
> specified.
> >
> > Fixes ticket #11016.
>
> Will apply the series.
Could you please wait a few days?
I'm just freshly back from a vacation and didn't have time to look at
this in detail yet.
--
Anton Khirnov
___
ffmpeg-devel
Quoting Andrey Turkin (2024-05-24 13:39:15)
> Have to say, this issue has been a long grievance of mine. There is no
> reason to delay frames when the decoder is set up to ignore B frames
> as there is no reordering to be done;
This only holds for pre-h264 codecs.
--
Anto
unsigned int delta_rps_sign:1; /* 136:16 4 */
unsigned int rps_predict:1;/* 136:17 4 */
unsigned int use_delta:1; /* 136:18 4 */
/* size: 140, cachelines: 3, members: 10 */
/* bit_padding: 13 bits
Quoting James Almer (2024-04-10 15:42:51)
>
>
> On 4/10/2024 10:31 AM, Anton Khirnov wrote:
> > diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c
> > index 5d7c6b1b64..c2b65fc201 100644
> > --- a/libavcodec/vulkan_hevc.c
> > +++ b/libavcodec/vul
Quoting Andreas Rheinhardt (2024-04-11 13:55:05)
> Anton Khirnov:
> > Reduces sizeof(HEVCSPS) by 96 bytes.
> >
> > Also improve flag names: drop redundant suffixes and prefixes, and
> > consistently use disabled/enabled.
> > ---
> > libavcodec/dxva2_hevc.
Quoting Andreas Rheinhardt (2024-04-17 11:29:18)
> Anton Khirnov:
> > It is more efficient and easier to manage.
> > ---
>
> Allocating structures used by slice contexts jointly has the potential
> downside of false sharing if the structures are not sufficiently
> a
Share the code between encoding and decoding. Instead of checking every
stream's options dictionary (which is also used for other purposes),
track all used options in a dedicated dictionary.
---
fftools/cmdutils.c| 17
fftools/cmdutils.h| 4 ++-
fftools/ffmpeg.c
It is no longer needed after this function returns.
---
fftools/ffmpeg.h | 2 --
fftools/ffmpeg_mux.c | 1 -
fftools/ffmpeg_mux_init.c | 71 ++-
3 files changed, 40 insertions(+), 34 deletions(-)
diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
Do not pass an options dictionary to the avcodec_open2() in enc_open().
This is cleaner and more robust, as previously various bits of code
would try to interpret the contents of the options dictionary, with
varying degrees of correctness. Now they can just access the encoder
AVCodecContext
It conflicts with the AVCodecContext option of the same name.
---
libavcodec/qsvenc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h
index e3eb083746..d69dd19049 100644
--- a/libavcodec/qsvenc.h
+++ b/libavcodec/qsvenc.h
@@ -139,7
par->width * sar.num,
> - par->height * sar.den,
> + (int64_t) par->width * sar.num,
> + (int64_t) par->height * sar.den,
Aren't we supposed to avoid assumptions that int is always strictly
smaller than 64bit?
--
Ant
d by
> decoders.
As I remember, the original intent behind lavfi get_buffer functions
was:
1) Allow a downstream filter like pad to allocate a larger frame in
order to avoid copying.
2) Allow direct rendering into caller-provided buffers (currently not
supported).
ce threading and slice threads should not allocate frames.
In your example it seems to happen because of frame threading in the
movie source, but that should ideally be handled inside that filter.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-de
get_ambisonic_order(const AVChannelLayout
> *channel_layout)
IMO the _get_ in the name is just making it unnecessarily longer.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To un
o work, next.
While I agree that it would be nice, using duplicate link labels
currently does not break, and I've seen multiple people using those. So
we'll probably need to deprecate this behaviour first.
--
Anton Khirnov
___
ffmpeg-devel mailing list
Quoting Andrew Sayers (2024-04-23 11:51:00)
> On Tue, Apr 23, 2024 at 11:21:27AM +0200, Anton Khirnov wrote:
> > > lavu/opt: Clarify that AVOptions is not indended for general use
> >
> > They _are_ intended for general use though.
>
> In that case I'm confused...
&
> lavu/opt: Clarify that AVOptions is not indended for general use
They _are_ intended for general use though.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscr
data key 'id'
>
> This allows using -map_metadata and -metadata to copy/set streamids (PIDs).
I dislike this patch, metadata is the wrong place for such information.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmp
Hi all,
I am hereby resigning from my position as a CC member, since I do not
want to be associated with the CC's utter lack of initiative and
meaningful action.
--
Anton Khirnov
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org
Reduces sizeof(HEVCSPS) by 96 bytes.
Also improve flag names: drop redundant suffixes and prefixes, and
consistently use disabled/enabled.
---
libavcodec/dxva2_hevc.c| 24 -
libavcodec/hevc_cabac.c| 36 ++---
libavcodec/hevc_filter.c | 8 +--
Do not use larger fields than needed, use size-1 bitfields for flags.
Reduces sizeof(HEVCSPS) by 1280 bytes.
---
libavcodec/hevc_ps.c | 6 +++---
libavcodec/hevc_ps.h | 19 +++
libavcodec/vulkan_hevc.c | 2 +-
3 files changed, 15 insertions(+), 12 deletions(-)
diff
It is currently an array of 32 uint8_t, each storing a single flag. A
single uint32_t is sufficient.
Reduces sizeof(HEVCSPS) by 1792 bytes.
---
libavcodec/hevc_ps.c | 33 +++--
libavcodec/hevc_ps.h | 2 +-
libavcodec/hevc_refs.c | 6 +++---
They are only used in vulkan_hevc and are not actually needed, as they
can be computed from delta_poc.
Reduces sizeof(HEVCSPS) by 16kB.
---
libavcodec/hevc_ps.c | 4 ++--
libavcodec/hevc_ps.h | 2 --
libavcodec/vulkan_hevc.c | 7 +--
3 files changed, 7 insertions(+), 6 deletions(-)
It is actually supposed to go negative in the loop over num_negative
pics, but underflow does not break anything as the result is then
assigned to a signed int.
---
libavcodec/hevc_ps.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/libavcodec/hevc_ps.c
It is currently an array of 32 uint8_t, each storing a single flag. A
single uint32_t is sufficient.
---
libavcodec/hevc_ps.c | 4 +++-
libavcodec/hevc_ps.h | 2 +-
libavcodec/hevcdec.c | 2 +-
libavcodec/vulkan_hevc.c | 3 +--
4 files changed, 6 insertions(+), 5 deletions(-)
diff
It is more efficient and easier to manage.
---
libavcodec/hevcdec.c | 57 +---
libavcodec/hevcdec.h | 2 +-
2 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index 55f72af972..47226ef0ab 100644
---
---
libavcodec/hevcdec.c | 12 ++--
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index 47226ef0ab..6b2c0b75ee 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -2526,9 +2526,8 @@ static void
1 - 100 of 4242 matches
Mail list logo