Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
applied smime.p7s Description: S/MIME Cryptographic Signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
On Sun, Sep 09, 2018 at 01:07:57PM +0200, Timo Rothenpieler wrote: > From: Roman Arzumanyan > > Signed-off-by: Timo Rothenpieler > --- > configure | 5 +- > doc/filters.texi | 42 +++ > libavfilter/Makefile | 1 + > libavfilter/allfilters.c | 1 + > libavfilter/version.h | 2 +- > libavfilter/vf_transpose_npp.c | 487 + > 6 files changed, 535 insertions(+), 3 deletions(-) > create mode 100644 libavfilter/vf_transpose_npp.c build issues fixed, thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Into a blind darkness they enter who follow after the Ignorance, they as if into a greater darkness enter who devote themselves to the Knowledge alone. -- Isha Upanishad signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
On Sun, Sep 09, 2018 at 11:31:49AM +0200, Timo Rothenpieler wrote: > On 9/9/2018 2:12 AM, Michael Niedermayer wrote: > >On Sat, Sep 08, 2018 at 03:49:29PM +0200, Timo Rothenpieler wrote: > >>From: Roman Arzumanyan > >> > >>Signed-off-by: Timo Rothenpieler > >>--- > >>I'm not overly a fan of a rotate filter that only support 90° angles > >>either. > >>So here's my modified version of the original transpose filter, which > >>now behaves the exact same as the software transpose filter. > >> > >>Additionally, I removed the format conversion from the filter. That's > >>the job of the scale filter, and also saves you from doing pointless > >>double format conversion if you scale and transpose NV12 video. > >>Nvenc accepts yuv420p/444p input anyway, and if you really need to, one > >>can add another scale_npp after to get back nv12. > >> > >>A possible commandline for this is: > >>./ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i in.mkv -c copy -c:v > >>h264_nvenc -vf scale_npp=format=yuv420p,transpose_npp=cclock_flip out.mkv > >> > >> > >> configure | 5 +- > >> doc/filters.texi | 55 > >> libavfilter/Makefile | 1 + > >> libavfilter/allfilters.c | 1 + > >> libavfilter/version.h | 2 +- > >> libavfilter/vf_transpose_npp.c | 483 + > >> 6 files changed, 544 insertions(+), 3 deletions(-) > >> create mode 100644 libavfilter/vf_transpose_npp.c > > > >breaks build: > > > >HTML doc/ffmpeg-filters.html > >HTML doc/ffplay-all.html > >HTML doc/ffmpeg-all.html > >HTML doc/ffprobe-all.html > >doc/filters.texi:16290: @ref reference to nonexistent node `transpose' > >make: *** [doc/ffmpeg-filters.html] Error 1 > >doc/filters.texi:16290: @ref reference to nonexistent node `transpose' > >doc/filters.texi:16290: @ref reference to nonexistent node `transpose' > >make: *** [doc/ffplay-all.html] Error 1 > >make: *** [doc/ffprobe-all.html] Error 1 > >doc/filters.texi:16290: @ref reference to nonexistent node `transpose' > >make: *** [doc/ffmpeg-all.html] Error 1 > >make: Target `all' not remade because of errors. > > > > What's the correct way to link to another section? I have seen other parts > use the @ref syntax. i think this needs a @anchor{transpose} somewhere probably but i didnt read the "manual" for this stuff so i could be wrong [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The bravest are surely those who have the clearest vision of what is before them, glory and danger alike, and yet notwithstanding go out to meet it. -- Thucydides signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
On 9/9/2018 2:12 AM, Michael Niedermayer wrote: On Sat, Sep 08, 2018 at 03:49:29PM +0200, Timo Rothenpieler wrote: From: Roman Arzumanyan Signed-off-by: Timo Rothenpieler --- I'm not overly a fan of a rotate filter that only support 90° angles either. So here's my modified version of the original transpose filter, which now behaves the exact same as the software transpose filter. Additionally, I removed the format conversion from the filter. That's the job of the scale filter, and also saves you from doing pointless double format conversion if you scale and transpose NV12 video. Nvenc accepts yuv420p/444p input anyway, and if you really need to, one can add another scale_npp after to get back nv12. A possible commandline for this is: ./ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i in.mkv -c copy -c:v h264_nvenc -vf scale_npp=format=yuv420p,transpose_npp=cclock_flip out.mkv configure | 5 +- doc/filters.texi | 55 libavfilter/Makefile | 1 + libavfilter/allfilters.c | 1 + libavfilter/version.h | 2 +- libavfilter/vf_transpose_npp.c | 483 + 6 files changed, 544 insertions(+), 3 deletions(-) create mode 100644 libavfilter/vf_transpose_npp.c breaks build: HTMLdoc/ffmpeg-filters.html HTMLdoc/ffplay-all.html HTMLdoc/ffmpeg-all.html HTMLdoc/ffprobe-all.html doc/filters.texi:16290: @ref reference to nonexistent node `transpose' make: *** [doc/ffmpeg-filters.html] Error 1 doc/filters.texi:16290: @ref reference to nonexistent node `transpose' doc/filters.texi:16290: @ref reference to nonexistent node `transpose' make: *** [doc/ffplay-all.html] Error 1 make: *** [doc/ffprobe-all.html] Error 1 doc/filters.texi:16290: @ref reference to nonexistent node `transpose' make: *** [doc/ffmpeg-all.html] Error 1 make: Target `all' not remade because of errors. What's the correct way to link to another section? I have seen other parts use the @ref syntax. smime.p7s Description: S/MIME Cryptographic Signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
On Sat, Sep 08, 2018 at 03:49:29PM +0200, Timo Rothenpieler wrote: > From: Roman Arzumanyan > > Signed-off-by: Timo Rothenpieler > --- > I'm not overly a fan of a rotate filter that only support 90° angles > either. > So here's my modified version of the original transpose filter, which > now behaves the exact same as the software transpose filter. > > Additionally, I removed the format conversion from the filter. That's > the job of the scale filter, and also saves you from doing pointless > double format conversion if you scale and transpose NV12 video. > Nvenc accepts yuv420p/444p input anyway, and if you really need to, one > can add another scale_npp after to get back nv12. > > A possible commandline for this is: > ./ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i in.mkv -c copy -c:v h264_nvenc > -vf scale_npp=format=yuv420p,transpose_npp=cclock_flip out.mkv > > > configure | 5 +- > doc/filters.texi | 55 > libavfilter/Makefile | 1 + > libavfilter/allfilters.c | 1 + > libavfilter/version.h | 2 +- > libavfilter/vf_transpose_npp.c | 483 + > 6 files changed, 544 insertions(+), 3 deletions(-) > create mode 100644 libavfilter/vf_transpose_npp.c breaks build: HTMLdoc/ffmpeg-filters.html HTMLdoc/ffplay-all.html HTMLdoc/ffmpeg-all.html HTMLdoc/ffprobe-all.html doc/filters.texi:16290: @ref reference to nonexistent node `transpose' make: *** [doc/ffmpeg-filters.html] Error 1 doc/filters.texi:16290: @ref reference to nonexistent node `transpose' doc/filters.texi:16290: @ref reference to nonexistent node `transpose' make: *** [doc/ffplay-all.html] Error 1 make: *** [doc/ffprobe-all.html] Error 1 doc/filters.texi:16290: @ref reference to nonexistent node `transpose' make: *** [doc/ffmpeg-all.html] Error 1 make: Target `all' not remade because of errors. [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I do not agree with what you have to say, but I'll defend to the death your right to say it. -- Voltaire signature.asc Description: PGP signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
On 9/8/2018 5:38 PM, Paul B Mahol wrote: I'll probably remove the interp_algo from this before committing, hard coding it to nearest neighbor. I'm unable to see any difference between them for perfect 90DEG angles except that NN is easily 10 times faster than the current default Cubic. Perhaps interpolation is useful for other pixel format where vertical and horizontal subsampling are not same. This only supports yuv420p and yuv444p so I don't think it's an issue. It's impossible for such formats to end up in a CUDA frame to begin with, since nothing supports putting them in there. smime.p7s Description: S/MIME Cryptographic Signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
On 9/8/18, Timo Rothenpieler wrote: > On 9/8/2018 3:49 PM, Timo Rothenpieler wrote: >> From: Roman Arzumanyan >> >> Signed-off-by: Timo Rothenpieler >> --- >> I'm not overly a fan of a rotate filter that only support 90DEG angles >> either. >> So here's my modified version of the original transpose filter, which >> now behaves the exact same as the software transpose filter. >> >> Additionally, I removed the format conversion from the filter. That's >> the job of the scale filter, and also saves you from doing pointless >> double format conversion if you scale and transpose NV12 video. >> Nvenc accepts yuv420p/444p input anyway, and if you really need to, one >> can add another scale_npp after to get back nv12. >> >> A possible commandline for this is: >> ./ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i in.mkv -c copy -c:v >> h264_nvenc -vf scale_npp=format=yuv420p,transpose_npp=cclock_flip out.mkv > > I'll probably remove the interp_algo from this before committing, hard > coding it to nearest neighbor. I'm unable to see any difference between > them for perfect 90DEG angles except that NN is easily 10 times faster > than the current default Cubic. Perhaps interpolation is useful for other pixel format where vertical and horizontal subsampling are not same. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avfilter: add nvidia NPP based transpose filter
On 9/8/2018 3:49 PM, Timo Rothenpieler wrote: From: Roman Arzumanyan Signed-off-by: Timo Rothenpieler --- I'm not overly a fan of a rotate filter that only support 90° angles either. So here's my modified version of the original transpose filter, which now behaves the exact same as the software transpose filter. Additionally, I removed the format conversion from the filter. That's the job of the scale filter, and also saves you from doing pointless double format conversion if you scale and transpose NV12 video. Nvenc accepts yuv420p/444p input anyway, and if you really need to, one can add another scale_npp after to get back nv12. A possible commandline for this is: ./ffmpeg.exe -hwaccel cuvid -c:v h264_cuvid -i in.mkv -c copy -c:v h264_nvenc -vf scale_npp=format=yuv420p,transpose_npp=cclock_flip out.mkv I'll probably remove the interp_algo from this before committing, hard coding it to nearest neighbor. I'm unable to see any difference between them for perfect 90° angles except that NN is easily 10 times faster than the current default Cubic. smime.p7s Description: S/MIME Cryptographic Signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel