Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 907285 Details for
Bug 917591
media-video/handbrake-1.7.0 version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
/etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
0002-avcodec-libdav1d-parse-DV-profile-10-T.35-OBU.patch (text/plain), 2.95 KB, created by
mehw
on 2024-10-29 23:44:13 UTC
(
hide
)
Description:
/etc/portage/patches/media-video/ffmpeg-6.1.2/ to compile handbrake-1.8.2
Filename:
MIME Type:
Creator:
mehw
Created:
2024-10-29 23:44:13 UTC
Size:
2.95 KB
patch
obsolete
>From a5d1e69b3bd0ff6fea2086ba2bfb67f5c4184b49 Mon Sep 17 00:00:00 2001 >From: Niklas Haas <git@haasn.dev> >Date: Fri, 23 Feb 2024 21:16:58 +0100 >Subject: [PATCH] avcodec/libdav1d: parse DV profile 10 T.35 OBU > >This is thankfully passed through verbatim by libdav1d, so we can parse >it in our own code. > >In theory, taking the DV profile from the packet-level configuration >struct is redundant since there is currently only one possible DV level >for AV1 (and all others would fail parsing), but this marginally >future-proofs it against possible new AV1-specific profiles being added >in the future. >--- > libavcodec/libdav1d.c | 25 +++++++++++++++++++++++++ > 1 file changed, 25 insertions(+) > >diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c >index 5c4c643696..1aa2d1f343 100644 >--- a/libavcodec/libdav1d.c >+++ b/libavcodec/libdav1d.c >@@ -35,6 +35,7 @@ > #include "bytestream.h" > #include "codec_internal.h" > #include "decode.h" >+#include "dovi_rpu.h" > #include "internal.h" > > #define FF_DAV1D_VERSION_AT_LEAST(x,y) \ >@@ -44,6 +45,7 @@ typedef struct Libdav1dContext { > AVClass *class; > Dav1dContext *c; > AVBufferPool *pool; >+ DOVIContext dovi; > int pool_size; > > Dav1dData data; >@@ -213,6 +215,7 @@ static av_cold int libdav1d_init(AVCodecContext *c) > #else > int threads = (c->thread_count ? c->thread_count : av_cpu_count()) * 3 / 2; > #endif >+ const AVPacketSideData *sd; > int res; > > av_log(c, AV_LOG_VERBOSE, "libdav1d %s\n", dav1d_version()); >@@ -285,6 +288,11 @@ static av_cold int libdav1d_init(AVCodecContext *c) > c->delay = res > 1 ? res : 0; > #endif > >+ dav1d->dovi.logctx = c; >+ dav1d->dovi.dv_profile = 10; // default for AV1 >+ sd = ff_get_coded_side_data(c, AV_PKT_DATA_DOVI_CONF); >+ if (sd && sd->size > 0) >+ ff_dovi_update_cfg(&dav1d->dovi, (AVDOVIDecoderConfigurationRecord *) sd->data); > return 0; > } > >@@ -579,6 +587,22 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame) > goto fail; > break; > } >+ case 0x3B: { // dolby_provider_code >+ int provider_oriented_code = bytestream2_get_be32(&gb); >+ if (itut_t35->country_code != 0xB5 || provider_oriented_code != 0x800) >+ break; >+ >+ res = ff_dovi_rpu_parse(&dav1d->dovi, gb.buffer, gb.buffer_end - gb.buffer); >+ if (res < 0) { >+ av_log(c, AV_LOG_WARNING, "Error parsing DOVI OBU.\n"); >+ break; // ignore >+ } >+ >+ res = ff_dovi_attach_side_data(&dav1d->dovi, frame); >+ if (res < 0) >+ goto fail; >+ break; >+ } > default: // ignore unsupported provider codes > break; > } >@@ -638,6 +662,7 @@ static av_cold int libdav1d_close(AVCodecContext *c) > Libdav1dContext *dav1d = c->priv_data; > > av_buffer_pool_uninit(&dav1d->pool); >+ ff_dovi_ctx_unref(&dav1d->dovi); > dav1d_data_unref(&dav1d->data); > dav1d_close(&dav1d->c); > >-- >2.45.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 917591
:
875262
|
875263
|
886545
|
887851
|
887852
|
887875
|
887876
|
887877
|
887878
|
887993
|
889164
|
907281
|
907282
|
907283
|
907284
| 907285 |
907286
|
907287
|
907288
|
907289
|
907290
|
907291
|
907292
|
907293
|
907294
|
907295
|
907296
|
907297
|
907298