On 13/04/16 09:14, nablet developer wrote:
> 
>> On 13 Apr 2016, at 14:08, wm4 <nfx...@googlemail.com> wrote:
>>
>> On Thu,  7 Apr 2016 11:44:20 -0400
>> nablet developer <s...@nablet.com <mailto:s...@nablet.com>> wrote:
>>
>>> Signed-off-by: nablet developer <s...@nablet.com>
>>> ---
>>> libavcodec/qsv.c          | 64 
>>> +++++++++++++++++++++--------------------------
>>> libavcodec/qsv.h          | 53 +++++++++++++++++++++++++++++++++++++++
>>> libavcodec/qsv_api.c      | 26 +++++++++++++++++++
>>> libavcodec/qsv_internal.h | 15 +----------
>>> libavcodec/qsvdec.c       | 13 +++++-----
>>> libavcodec/qsvdec.h       |  3 ++-
>>> libavcodec/qsvenc.c       | 16 ++++++------
>>> libavcodec/qsvenc.h       |  2 +-
>>> 8 files changed, 125 insertions(+), 67 deletions(-)
>>
>> Why would this API need to be exported?
> 
> previously QuickSync was used only by libavcodec and its components - e.g. 
> there are QSV encoder and decoders for AVC and MPEG-2. so it was OK that 
> QuickSync initialisation and cleanup functions were local for libavcodec.
> 
> but right now we're adding QuickSync VPP component to libavfilter, so 
> mentioned functions now become shared at least between libavcodec and 
> libavfilter.
> therefore, patch to add QSV VPP filter was rejected because it accessed 
> libavcodec functions which were local, and it was suggested that such 
> functions are need to be exported from libavcodec, so libavfilter can use 
> them.
> 

This is precisely one of the problems that the hwcontext code was designed to
solve.  I suggest using that rather than adding new ad-hoc codec-specific API
calls - make libavutil/hwcontext_qsv.c; it should not require any new API calls
at all.  As a bonus, it also solves the context propagation problem which you
will run into later when combining multiple filter and codec components.

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to