From cdb8b00f2f7ecf0b4910a40e1d90a87540d2891d Mon Sep 17 00:00:00 2001 From: Good Guy Date: Thu, 5 Sep 2019 18:27:29 -0600 Subject: [PATCH] repair vaapi encode_frame, fix segv on unreadable asset, update crop resource icon, update info text, i386 patch for dav1d --- cinelerra-5.1/cinelerra/awindowgui.C | 3 +- cinelerra-5.1/cinelerra/ffmpeg.C | 20 +++++++++++ cinelerra-5.1/configure.ac | 4 --- cinelerra-5.1/info/plugins.txt | 29 ++++++++++++---- cinelerra-5.1/picon/cinfinity/crop.png | Bin 0 -> 13184 bytes cinelerra-5.1/picon/cinfinity2/crop.png | Bin 0 -> 10118 bytes .../thirdparty/src/dav1d-0.4.0.patch1 | 32 +++++++++++++----- 7 files changed, 68 insertions(+), 20 deletions(-) create mode 100644 cinelerra-5.1/picon/cinfinity/crop.png create mode 100644 cinelerra-5.1/picon/cinfinity2/crop.png diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index 091fd140..66e69c3b 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -121,8 +121,7 @@ VFrame *AssetVIcon::frame() { AssetVIconThread *avt = picon->gui->vicon_thread; Asset *asset = (Asset *)picon->indexable; - if( !asset ) - return *images[0]; + if( !asset ) return vframes()>0 ? (VFrame*)*images[0] : 0; if( !asset->video_data && audio_data && audio_size && length > 0 ) { if( !temp ) temp = new VFrame(0, -1, w, h, BC_RGB888, -1); temp->clear_frame(); diff --git a/cinelerra-5.1/cinelerra/ffmpeg.C b/cinelerra-5.1/cinelerra/ffmpeg.C index 6d1f535b..70098ca1 100644 --- a/cinelerra-5.1/cinelerra/ffmpeg.C +++ b/cinelerra-5.1/cinelerra/ffmpeg.C @@ -1252,6 +1252,26 @@ int FFVideoStream::encode_frame(AVFrame *frame) frame->interlaced_frame = interlaced; frame->top_field_first = top_field_first; } + if( frame && frame->format == AV_PIX_FMT_VAAPI ) { // ugly + int ret = avcodec_send_frame(avctx, frame); + for( int retry=MAX_RETRY; !ret && --retry>=0; ) { + FFPacket pkt; av_init_packet(pkt); + pkt->data = NULL; pkt->size = 0; + if( (ret=avcodec_receive_packet(avctx, pkt)) < 0 ) { + if( ret == AVERROR(EAGAIN) ) ret = 0; // weird + break; + } + ret = write_packet(pkt); + pkt->stream_index = 0; + av_packet_unref(pkt); + } + if( ret < 0 ) { + ff_err(ret, "FFStream::encode_frame: vaapi encode failed.\nfile: %s\n", + ffmpeg->fmt_ctx->url); + return -1; + } + return 0; + } return FFStream::encode_frame(frame); } diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac index 14e03257..20b82948 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac @@ -473,10 +473,6 @@ if test "x$I86$X86" != "x00" ; then rm -f conftest.asm conftest.o REQUIRE_PROG(YASM, [yasm]) fi -if test "x$X86" = "x0" ; then - # incompatible instruction set - PKG_dav1d=no -fi ## end arch dep tests diff --git a/cinelerra-5.1/info/plugins.txt b/cinelerra-5.1/info/plugins.txt index f19a16de..acd422f8 100644 --- a/cinelerra-5.1/info/plugins.txt +++ b/cinelerra-5.1/info/plugins.txt @@ -58,6 +58,7 @@ CriKey: Regionally based chroma key with interpolation; . Alpha - matching pixels replaced with see-thru. . Edge to just outline the edges of the region. . Mask - matching color pixels replaced by black. +Crop & Position: Allows for cropping and positioning the input video. Decimate: Drop frames from a track which are most similar in order to reduce frame rate. Deinterlace: Several selections of line replication to eliminate @@ -110,6 +111,7 @@ Linear Blur: Blur with parameters of length, angle, # of steps, Live Video: Reads video directly from the capture card input and replaces any video on the track. Loop video: Loop video by specifying the length of the region to loop. +Mandelbrot: Render a Mandelbrot fractal using Cuda. Motion: Tracks translation and rotation motion to stabilize shaky video. Motion 2 Point: Motion stabilization using 2 pass tracking. @@ -135,6 +137,9 @@ MotionCV: Motion tracking/stabilization from the community MotionHV: Motion tracking/stabilization from the original author of cinelerra. MoveObj: Move and stabilize object using OpenCV 3rd party pkg. +N_Body: Simulation that numerically approximates the evolution of a + system of bodies in which each body continuously interacts + with every other body using Cuda. Oil Painting: Makes video tracks appear as a painting. Overlay: Combine tracks via an overlayer that puts images on top of a bottom layer. @@ -233,12 +238,13 @@ F_bwdif: Deinterlaces the input image. F_chromahold: Turns a certain color range into gray. F_chromakey: Turns a certain color into transparency. Operates on YUV colors. +F_chromashift: Shift chroma. F_ciescope: Video CIE scope. F_color: Provide an uniformly colored input. F_colorbalance: Adjusts the color balance. F_colorchannelmixer: Adjusts colors by mixing color channels. -F_colorkey: Turns a certain color into - transparency. Operates on RGB colors. +F_colorhold: Turns a certain color range into gray. Operates on RGB. +F_colorkey: Turns a certain color into transparency. Operates on RGB. F_colorlevels: Adjusts the color levels. F_colormatrix: Converts color matrix. F_cover_rect: Find and cover a user specified object. @@ -249,6 +255,7 @@ F_datascope: Video data analysis. F_dctdnoiz: Denoise frames using 2D DCT. F_deband: Debands video. F_deblock: Deblock video. +F_dedot: Reduce cross-luminance and cross-color. F_deflate: Applies deflate effect. F_deflicker: Remove temporal frame luminance variations. F_dejudder: Removes judder produced by pullup. @@ -278,8 +285,8 @@ F_drawgrid: Draws a colored grid on the input video. thickness of the lines. F_edgedetect: Detects and draws edge. F_elbg: Apply posterize effect, using the ELBG algorithm. -F_eq: Adjusts brightness, contrast, gamma and saturation. F_entropy: Measure video frames entropy. +F_eq: Adjusts brightness, contrast, gamma and saturation. F_erosion: Applies erosion effect. F_fade: Fade in/out input video. F_fftdnoiz: Denoise frames using 3D FFT. @@ -310,6 +317,7 @@ F_il: Deinterleaves or interleaves fields. F_inflate: Applies inflate effect. F_interlace: Convert progressive video into interlaced. F_kerndeint: Applies kernel deinterlacing to the input. +F_lagfun: Slowly update darker pixels. F_lenscorrection: Rectifies the image by correcting for lens distortion. F_life: Generate a life pattern. F_limiter: Limit pixels components to the specified range. @@ -322,6 +330,7 @@ F_lut3d: Apply a 3D LUT (look up table) to an input video. F_lutrgb: Compute and apply a lookup table to the RGB input video. F_lutyuv: Compute and apply a lookup table to the YUV input video. F_mandelbrot: Render a Mandelbrot fractal. +F_maskfun: Create Mask. F_mcdeint: Applies motion compensating deinterlacing. F_mestimate: Generate motion vectors. F_metadata: Manipulate video frame metadata. @@ -335,10 +344,9 @@ F_noise: Adds noise to the video. select the variables of the noise (strength, flag and seed). F_normalize: Normalize RGB video. -F_owdenoise: Denoises using wavelets. F_oscilloscope: 2D video oscilloscope. Useful to measure spatial impulse, step responses, and chroma delays. -F_owndenoise: Denoises using wavelets. +F_owdenoise: Denoises using wavelets. F_pad: Add paddings to the input image, and place the original input at the provided x, y coordinates. F_pal100bars: Generate PAL 100% color bars. This only works with RGB 8-bit. @@ -352,7 +360,6 @@ F_pp: Filters video using libpostproc. F_pp7: Applies Postprocessing 7 filter. F_prewitt: Apply prewitt operator. F_pseudocolor: Make pseudocolored video frames. -F_rgbtestsrc: Generate RGB test pattern. F_readeia608: Read EIA-608 Closed Caption codes from input video and write them to frame metadata. F_readvitc: Reads vertical interval @@ -360,6 +367,8 @@ F_readvitc: Reads vertical interval F_realtime: Slows down filtering to match realtime. F_removegrain: Removes grain. F_repeatfields: Hard repeat fields based on MPEG repeat field flag. +F_rgbashift: Shift RGBA. +F_rgbtestsrc: Generate RGB test pattern. F_roberts: Apply roberts cross operator which performs a simple/quick 2-D spatial gradient measurement on the video (usually a grayscale image). It highlights regions of high spatial frequency which @@ -367,6 +376,7 @@ F_roberts: Apply roberts cross operator which performs a simple/quick 2-D F_rotate: Rotates the input image. F_sab: Applies shape adaptive blur. F_scale: Scale the input video size and/or convert the image format. +F_scale_cuda: GPU accelerated video resizer. F_separatefields: Split input video frames into fields. F_setparams: Force field, or color property for the output video frame. F_setrange: Force color range for the output video frame. @@ -388,6 +398,7 @@ F_super2xsai: Scales the input by 2x using the Super2xSal pixel art algorithm. F_swaprect: Swaps 2 rectangular objects in video. F_swapuv: Swaps U and V components. +F_tpad: Temporarily pad video frames. F_tblend: Blend successive frames. F_testsrc: Generate test pattern. F_testsrc2: Generate another test pattern. @@ -412,6 +423,7 @@ F_waveform: Video waveform monitor. F_weave: Weaves input video fields into frames. F_xbr: Scales the input using xBR algorithm. F_yadif: Deinterlaces the input image. +F_yadif_cuda: Deinterlace CUDA frames. F_yuvtestsrc: Generate YUV test pattern. F_zoompan: Applies Zoom & Pan effect. # @@ -436,12 +448,15 @@ F_aintegral: Compute integral of input audio. F_allpass: Applies a two-pole all-pass filter. F_aloop: Loops audio samples. F_ametadata: Manipulate audio frame metadata. +F_anlmdn: Reduce broadband noise from stream using Non-Local Means. F_anoisesrc: Generates a noise audio signal. F_aperms: Set permissions for the output audio frame. F_aphaser: Adds a phasing effect to the audio. F_arealtime: Slows down filtering to match realtime. F_aresample: Resamples audio data. F_asetrate: Change the sample rate without altering the data. +F_asoftclip: Apply audio soft clipping - a type of distortion effect + where signal amplitude is saturated along a smooth curve. F_astats: Shows time domain statistics about audio frames F_atempo: Adjusts audio tempo. F_atrim: Pick one continuous section from the input, drop the rest. @@ -458,6 +473,7 @@ F_crossfeed: Apply headphone crossfeed which blends the left and right order to produce more speaker like sound. F_crystalizer: Simple Expand Audio Dynamic Range filter. F_dcshift: Applies a DC shift to the audio. +F_deesser: Apply de-essing to the audio. F_drmeter: Measure audio dynamic range where setting window length in seconds is used to split audio into segments of equal length. F_dyaudnorm: Dynamic Audio Normalizer. When using this plugin, @@ -507,6 +523,7 @@ F_treble: Boosts or cuts upper frequencies. F_tremolo: Applies tremolo effect. F_vibrato: Applies vibrato effect. F_volume: Change input volume. +F_volumedetect: Detect audio volume. # # audio plugins # diff --git a/cinelerra-5.1/picon/cinfinity/crop.png b/cinelerra-5.1/picon/cinfinity/crop.png new file mode 100644 index 0000000000000000000000000000000000000000..8c67bb5847895d82371e110dae711a143012b154 GIT binary patch literal 13184 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�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 N($zH7C{nWx{y($LB6a`( literal 0 HcmV?d00001 diff --git a/cinelerra-5.1/thirdparty/src/dav1d-0.4.0.patch1 b/cinelerra-5.1/thirdparty/src/dav1d-0.4.0.patch1 index 05396f33..94c9d7b1 100644 --- a/cinelerra-5.1/thirdparty/src/dav1d-0.4.0.patch1 +++ b/cinelerra-5.1/thirdparty/src/dav1d-0.4.0.patch1 @@ -1,7 +1,23 @@ diff -uN dav1d-0.4.0.orig/Makefile dav1d-0.4.0/Makefile --- dav1d-0.4.0.orig/Makefile 1969-12-31 17:00:00.000000000 -0700 -+++ dav1d-0.4.0/Makefile 2019-08-30 10:30:39.846512952 -0600 -@@ -0,0 +1,342 @@ ++++ dav1d-0.4.0/Makefile 2019-09-05 16:38:01.820636946 -0600 +@@ -0,0 +1,358 @@ ++ ++_ARCH := $(shell uname -m) ++ARCH_I32 := $(shell expr "x$(_ARCH)" : 'xi[346]86.*') ++ARCH_X64 := $(shell expr "x$(_ARCH)" : 'x..._64*') ++ ++ifneq ($(ARCH_I32),0) ++ASM_ARCH := elf32 ++ARCH_X86_32 := 1 ++ARCH_X86_64 := 0 ++endif ++ifneq ($(ARCH_X64),0) ++ASM_ARCH := elf64 ++ARCH_X86_32 := 0 ++ARCH_X86_64 := 1 ++endif ++ +BUILD=build +DESTDIR=/ +PREFIX=usr/local @@ -96,7 +112,7 @@ diff -uN dav1d-0.4.0.orig/Makefile dav1d-0.4.0/Makefile + mc_ssse3.obj \ + msac.obj) +$(NASM_BLD)/%.obj: src/x86/%.asm -+ $(NASM) -f elf64 \ ++ $(NASM) -f $(ASM_ARCH) \ + -I src/ -I $(BUILD)/ -MQ $@ -MF $@.ndep \ + $< -o $@ + @@ -174,8 +190,8 @@ diff -uN dav1d-0.4.0.orig/Makefile dav1d-0.4.0/Makefile + echo >> $@ "#define ARCH_ARM 0" + echo >> $@ "#define ARCH_PPC64LE 0" + echo >> $@ "#define ARCH_X86 1" -+ echo >> $@ "#define ARCH_X86_32 0" -+ echo >> $@ "#define ARCH_X86_64 1" ++ echo >> $@ "#define ARCH_X86_32 $(ARCH_X86_32)" ++ echo >> $@ "#define ARCH_X86_64 $(ARCH_X86_64)" + echo >> $@ "#define CONFIG_16BPC 1" + echo >> $@ "#define CONFIG_8BPC 1" + echo >> $@ "#define CONFIG_LOG 1" @@ -186,8 +202,8 @@ diff -uN dav1d-0.4.0.orig/Makefile dav1d-0.4.0/Makefile + echo >> $@ "#define STACK_ALIGNMENT 32" + +$(BUILD)/config.asm: -+ echo > $@ "%define ARCH_X86_32 0" -+ echo >> $@ "%define ARCH_X86_64 1" ++ echo > $@ "%define ARCH_X86_32 $(ARCH_X86_32)" ++ echo >> $@ "%define ARCH_X86_64 $(ARCH_X86_64)" + echo >> $@ "%define PIC 1" + echo >> $@ "%define STACK_ALIGNMENT 32" + @@ -297,7 +313,7 @@ diff -uN dav1d-0.4.0.orig/Makefile dav1d-0.4.0/Makefile +$(CHKASM_BIT16)/%.o: $(TESTS_CHKASM)/%.c + $(CC_CC) $(BLD_INCL) -DBITDEPTH=16 -o $@ -c $< +$(TESTS_CHKASM_BLD)/x86/%.obj: $(TESTS_CHKASM)/x86/%.asm -+ @$(NASM) -f elf64 \ ++ @$(NASM) -f $(ASM_ARCH) \ + -I src/ -I $(BUILD)/ -MQ $@ -MF $@.ndep \ + $< -o $@ + -- 2.26.2