Re: [libav-devel] [PATCH] NVENC Input Surface Optimization

2017-06-23 Thread Ben Chang
Thanks Lu. I will go through the submitted changes to understand what the 
styling issues are. 

-Original Message-
From: libav-devel [mailto:libav-devel-boun...@libav.org] On Behalf Of Luca 
Barbato
Sent: Thursday, June 22, 2017 5:39 PM
To: libav-devel@libav.org
Subject: Re: [libav-devel] [PATCH] NVENC Input Surface Optimization

On 6/23/17 1:47 AM, Ben Chang wrote:
> Hi,
> 
> Please help review this nvenc patch for input surface optimization.
> 
> This patch aims to reduce the number of input/output surfaces NVENC 
> allocates per session. Previous default sets allocated surfaces to 32 
> (unless there is user specified param or lookahead involved). Having 
> large number of surfaces consumes extra video memory (esp for higher 
> resolution encoding). The patch changes the surfaces calculation for 
> default, B-frames, lookahead scenario respectively.
> 
> Change in location of surfaces and async_depth determination. Putting 
> it prior to rate control setup. Current code limits lookahead depth to 
> be 27 (default surface (32) - P interval (1) - 4).
> 
> The other change involves surface selection. Previously, if a session 
> allocates x surfaces, only x-1 surfaces are used (due to combination 
> of output delay and lock toggle logic). To prevent unused surfaces, 
> changing surface rotation to using predefined fifo.
> 
> Miscellaneous -  add "auto" option in level. (was approved in a 
> previous patch that never propagated into the repository)

There are some style issue, beside that the logic seems fine.

I'll amend and split the patch in a set of 3, please ping me if it doesn't land 
during the weekend.

lu
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

---
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
---
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

[libav-devel] [PATCH] NVENC Input Surface Optimization

2017-06-22 Thread Ben Chang
Hi,

Please help review this nvenc patch for input surface optimization.

This patch aims to reduce the number of input/output surfaces NVENC allocates 
per session. Previous default sets allocated surfaces to 32 (unless there is 
user specified param or lookahead involved). Having large number of surfaces 
consumes extra video memory (esp for higher resolution encoding). The patch 
changes the surfaces calculation for default, B-frames, lookahead scenario 
respectively.

Change in location of surfaces and async_depth determination. Putting it prior 
to rate control setup. Current code limits lookahead depth to be 27 (default 
surface (32) - P interval (1) - 4).

The other change involves surface selection. Previously, if a session allocates 
x surfaces, only x-1 surfaces are used (due to combination of output delay and 
lock toggle logic). To prevent unused surfaces, changing surface rotation to 
using predefined fifo.

Miscellaneous -  add "auto" option in level. (was approved in a previous patch 
that never propagated into the repository)

This patch is currently present in ffmpeg: 
https://github.com/FFmpeg/FFmpeg/commit/8de3458a07376b0a96772e586b6dba5e93432f52

Thanks,
Ben

---
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
---


NVENC_Input_Surface_Reduction_Optimization.patch
Description: NVENC_Input_Surface_Reduction_Optimization.patch
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Re: [libav-devel] [PATCH] Adding / Changing some NVENC options Naming

2017-03-29 Thread Ben Chang
Hi Lu,

>> The change would break working scripts, you may add compatibility aliases, 
>> but not remove the current ones.

Thanks for the review. I have scratched the renaming alias. New patch has 
addition of "auto" in -level for both hevc and h264 in nvenc.

Thanks,
Ben

---
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
---


nvenc_option.patch
Description: nvenc_option.patch
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

[libav-devel] [PATCH] Adding / Changing some NVENC options Naming

2017-03-28 Thread Ben Chang
Change profile option high_444 to high444p. And add auto option in level. This 
is to keep consistent naming between libav and ffmpeg and avoid confusion for 
users.

Thanks,
Ben

---
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
---


libav_nvenc_option.patch
Description: libav_nvenc_option.patch
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

[libav-devel] [PATCH] Fix Not Being Able Enable to Encode with NVENC + HP Preset

2017-02-28 Thread Ben Chang
Avconv is unable to create NVENC device with HP preset due to invalid GUID 
passed during initialization.

The GUID of HP preset is overwritten by the zero entry during array 
initialization. (for gcc; not msvc compiling).

This is bug I accidentally filed (but has detailed description). 
https://bugzilla.libav.org/show_bug.cgi?id=1029

Thanks,
Ben

---
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
---


NVENC-HP-preset-fix.patch
Description: NVENC-HP-preset-fix.patch
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel