Re: [FFmpeg-devel] [PATCH v2 2/2] avcodec/libvpxenc: add a way to explicitly set temporal layer id

2019-12-31 Thread Moritz Barsnick
On Tue, Dec 17, 2019 at 14:42:21 -0800, Wonkap Jang wrote:
> +memset(&layer_id, 0, sizeof(vpx_svc_layer_id_t));

ffmpeg coding tends to prefer sizeof(variable) over sizeof(type).

Cheers,
Moritz
___
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".

Re: [FFmpeg-devel] [PATCH v2 2/2] avcodec/libvpxenc: add a way to explicitly set temporal layer id

2019-12-18 Thread Wonkap Jang
Hi Michael,

On Wed, Dec 18, 2019 at 2:59 PM Michael Niedermayer 
wrote:

> On Tue, Dec 17, 2019 at 02:42:21PM -0800, Wonkap Jang wrote:
> > In order for rate control to correctly allocate bitrate to each temporal
> > layer, correct temporal layer id has to be set to each frame. This
> > commit provides the ability to set correct temporal layer id for each
> > frame.
> > ---
> >  libavcodec/libvpxenc.c | 11 ++-
> >  1 file changed, 10 insertions(+), 1 deletion(-)
>
> these 2 patches together fail to build
>
> CC  libavcodec/libvpxenc.o
> libavcodec/libvpxenc.c: In function ‘vpx_encode’:
> libavcodec/libvpxenc.c:1541:25: error: ‘vpx_svc_layer_id_t’ has no member
> named ‘temporal_layer_id_per_spatial’
>  layer_id.temporal_layer_id_per_spatial[0] =
> layer_id.temporal_layer_id;
>  ^
> libavcodec/libvpxenc.c:1572:17: error: ‘vpx_svc_layer_id_t’ has no member
> named ‘temporal_layer_id_per_spatial’
>  layer_id.temporal_layer_id_per_spatial[0] =
> layer_id.temporal_layer_id;
>  ^
> make: *** [libavcodec/libvpxenc.o] Error 1
>
> Looks like I missed guarding it with version number. I'll make the change.

Thanks,

Wonkap


> [...]
>
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> Freedom in capitalist society always remains about the same as it was in
> ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin
> ___
> 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".
___
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".

Re: [FFmpeg-devel] [PATCH v2 2/2] avcodec/libvpxenc: add a way to explicitly set temporal layer id

2019-12-18 Thread Michael Niedermayer
On Tue, Dec 17, 2019 at 02:42:21PM -0800, Wonkap Jang wrote:
> In order for rate control to correctly allocate bitrate to each temporal
> layer, correct temporal layer id has to be set to each frame. This
> commit provides the ability to set correct temporal layer id for each
> frame.
> ---
>  libavcodec/libvpxenc.c | 11 ++-
>  1 file changed, 10 insertions(+), 1 deletion(-)

these 2 patches together fail to build

CC  libavcodec/libvpxenc.o
libavcodec/libvpxenc.c: In function ‘vpx_encode’:
libavcodec/libvpxenc.c:1541:25: error: ‘vpx_svc_layer_id_t’ has no member named 
‘temporal_layer_id_per_spatial’
 layer_id.temporal_layer_id_per_spatial[0] = 
layer_id.temporal_layer_id;
 ^
libavcodec/libvpxenc.c:1572:17: error: ‘vpx_svc_layer_id_t’ has no member named 
‘temporal_layer_id_per_spatial’
 layer_id.temporal_layer_id_per_spatial[0] = layer_id.temporal_layer_id;
 ^
make: *** [libavcodec/libvpxenc.o] Error 1

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin


signature.asc
Description: PGP signature
___
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".

[FFmpeg-devel] [PATCH v2 2/2] avcodec/libvpxenc: add a way to explicitly set temporal layer id

2019-12-17 Thread Wonkap Jang
In order for rate control to correctly allocate bitrate to each temporal
layer, correct temporal layer id has to be set to each frame. This
commit provides the ability to set correct temporal layer id for each
frame.
---
 libavcodec/libvpxenc.c | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
index 7612551a56..c225447515 100644
--- a/libavcodec/libvpxenc.c
+++ b/libavcodec/libvpxenc.c
@@ -1527,11 +1527,20 @@ static int vpx_encode(AVCodecContext *avctx, AVPacket 
*pkt,
 #endif
 if (frame->pict_type == AV_PICTURE_TYPE_I)
 flags |= VPX_EFLAG_FORCE_KF;
-if (CONFIG_LIBVPX_VP8_ENCODER && avctx->codec_id == AV_CODEC_ID_VP8 && 
frame->metadata) {
+if (frame->metadata) {
 AVDictionaryEntry* en = av_dict_get(frame->metadata, "vp8-flags", 
NULL, 0);
 if (en) {
 flags |= strtoul(en->value, NULL, 10);
 }
+
+memset(&layer_id, 0, sizeof(vpx_svc_layer_id_t));
+
+en = av_dict_get(frame->metadata, "temporal_id", NULL, 0);
+if (en) {
+layer_id.temporal_layer_id = strtoul(en->value, NULL, 10);
+layer_id.temporal_layer_id_per_spatial[0] = 
layer_id.temporal_layer_id;
+layer_id_valid = 1;
+}
 }
 
 if (sd) {
-- 
2.24.1.735.g03f4e72817-goog

___
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".