added hwcontext_qsv (Intel QuickSync video) it will handle MFX session initialization and deinitialization, and will allow to share that code between libavcodec and libavfilter without adding new API calls for QSV, and also using similar approach to CUDA & VAAPI (VPP filter patch is postponded with suggestion to implementa hwcontext_qsv)
nablet developer (5): avutil/qsv: move ff_qsv_error function from libavcodec into libavutil, because it's going to be shared between libavcodec (existing QSV encoders & decoders), libavfilter (upcoming QSV VPP filter) and libavutil itself (upcoming hwcontext_qsv implementation). prefix changed to avpriv since it's now shared between multiple libraries. avutil/qsv: add hwcontext_qsv (QuickSync Video) avcodec/qsvdec: use hwcontext_qsv instead of ff_qsv_init_internal_session avcodec/qsvenc: use hwcontext_qsv instead of ff_qsv_init_internal_session avcodec/qsv: remove no longer needed functions ff_qsv_init_internal_session & ff_qsv_close_internal_session, structure QSVSession, since they are now replaced by avutil/hwcontext_qsv libavcodec/qsv.c | 221 +---------------------------------- libavcodec/qsv_internal.h | 35 ------ libavcodec/qsvdec.c | 36 ++++-- libavcodec/qsvdec.h | 4 +- libavcodec/qsvenc.c | 40 +++++-- libavcodec/qsvenc.h | 3 +- libavutil/Makefile | 4 + libavutil/hwcontext.c | 3 + libavutil/hwcontext.h | 1 + libavutil/hwcontext_internal.h | 1 + libavutil/hwcontext_qsv.c | 255 +++++++++++++++++++++++++++++++++++++++++ libavutil/hwcontext_qsv.h | 45 ++++++++ libavutil/qsv_internal.c | 58 ++++++++++ libavutil/qsv_internal.h | 27 +++++ 14 files changed, 452 insertions(+), 281 deletions(-) create mode 100644 libavutil/hwcontext_qsv.c create mode 100644 libavutil/hwcontext_qsv.h create mode 100644 libavutil/qsv_internal.c create mode 100644 libavutil/qsv_internal.h -- 1.8.3.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel