mirror of
				https://github.com/jojo61/vdr-plugin-softhdcuvid.git
				synced 2025-03-01 10:39:28 +00:00 
			
		
		
		
	fix for compilerwarnings
This commit is contained in:
		
							
								
								
									
										19
									
								
								codec.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								codec.c
									
									
									
									
									
								
							| @@ -59,6 +59,7 @@ | ||||
| #define _N(str) str			///< gettext_noop shortcut | ||||
|  | ||||
| #include <libavcodec/avcodec.h> | ||||
| #include <libavutil/opt.h> | ||||
| #include <libavutil/mem.h> | ||||
| // support old ffmpeg versions <1.0 | ||||
| #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,18,102) | ||||
| @@ -395,9 +396,6 @@ void CodecVideoOpen(VideoDecoder * decoder, int codec_id) | ||||
| */ | ||||
| void CodecVideoClose(VideoDecoder *video_decoder) | ||||
| { | ||||
| 	AVCodecContext *video_ctx = video_decoder->VideoCtx;; | ||||
| 	int ret; | ||||
| 	AVFrame *frame; | ||||
| 		 | ||||
|     // FIXME: play buffered data | ||||
| 	av_frame_free(&video_decoder->Frame);	// callee does checks | ||||
| @@ -465,12 +463,10 @@ void CodecVideoDecode(VideoDecoder * decoder, const AVPacket * avpkt) | ||||
| { | ||||
|     AVCodecContext *video_ctx; | ||||
|     AVFrame *frame; | ||||
|     int used,ret,ret1; | ||||
|     int ret,ret1; | ||||
|     int got_frame; | ||||
|     int consumed = 0; | ||||
|     AVPacket *pkt;  | ||||
| 	static uint64_t last_time = 0; | ||||
| 	static uint64_t lastpts = 0; | ||||
|     const AVPacket *pkt; | ||||
| 	 | ||||
| next_part: | ||||
|     video_ctx = decoder->VideoCtx; | ||||
| @@ -529,10 +525,6 @@ next_part: | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| /** | ||||
| **	Flush the video decoder. | ||||
| ** | ||||
| @@ -540,9 +532,6 @@ next_part: | ||||
| */ | ||||
| void CodecVideoFlushBuffers(VideoDecoder * decoder) | ||||
| { | ||||
| 	AVFrame *frame; | ||||
| 	frame = decoder->Frame; | ||||
| 	 | ||||
|     if (decoder->VideoCtx) { | ||||
| 		avcodec_flush_buffers(decoder->VideoCtx); | ||||
|     } | ||||
| @@ -1841,7 +1830,9 @@ void CodecInit(void) | ||||
| #else | ||||
|     (void)CodecNoopCallback; | ||||
| #endif | ||||
| #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(58,9,100) | ||||
|     avcodec_register_all();		// register all formats and codecs | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /** | ||||
|   | ||||
							
								
								
									
										169
									
								
								po/de_DE.po
									
									
									
									
									
								
							
							
						
						
									
										169
									
								
								po/de_DE.po
									
									
									
									
									
								
							| @@ -7,7 +7,7 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: VDR \n" | ||||
| "Report-Msgid-Bugs-To: <see README>\n" | ||||
| "POT-Creation-Date: 2018-08-18 15:05+0200\n" | ||||
| "POT-Creation-Date: 2019-01-04 09:19+0100\n" | ||||
| "PO-Revision-Date: blabla\n" | ||||
| "Last-Translator: blabla\n" | ||||
| "Language-Team: blabla\n" | ||||
| @@ -260,14 +260,22 @@ msgstr "" | ||||
| msgid "codec: missing close\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "codec: codec ID %#06x not found\n" | ||||
| msgid " No decoder found" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "codec: can't allocate video codec context\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "codec: can't set options to video codec!\n" | ||||
| msgid "codec: can't set option deint to video codec!\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "codec: can't set option surfces to video codec!\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "codec: can't set option drop 2.field to video codec!\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "codec: can't set option drop 2.field  to video codec!\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "codec: can't open video codec!\n" | ||||
| @@ -282,6 +290,10 @@ msgstr "" | ||||
| msgid "codec: can't allocate audio decoder frame buffer\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "codec: codec ID %#06x not found\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "codec: can't allocate audio codec context\n" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -327,8 +339,8 @@ msgstr "" | ||||
| msgid "codec/audio: no frame\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "A software and GPU emulated UHD device" | ||||
| msgstr "" | ||||
| msgid "A software and GPU emulated HD device" | ||||
| msgstr "Ein Software und GPU emulieres HD-Gerät" | ||||
|  | ||||
| msgid "SoftUHD" | ||||
| msgstr "" | ||||
| @@ -360,6 +372,9 @@ msgstr "OSD Breite" | ||||
| msgid "Osd height" | ||||
| msgstr "OSD Höhe" | ||||
|  | ||||
| msgid "GPU mem used for image caching (MB)" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Suspend" | ||||
| msgstr "Unterbrechen" | ||||
|  | ||||
| @@ -384,8 +399,8 @@ msgstr "Video Hintergrundfrabe (RGB)" | ||||
| msgid "Video background color (Alpha)" | ||||
| msgstr "Video Hintergrundfarbe (Alpha)" | ||||
|  | ||||
| msgid "Use studio levels (vdpau only)" | ||||
| msgstr "Benutze Studio Levels (nur vdpau)" | ||||
| msgid "Use studio levels" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "60hz display mode" | ||||
| msgstr "60Hz Anzeigemodus" | ||||
| @@ -399,8 +414,11 @@ msgstr "Schwarz während Kanalwechsel" | ||||
| msgid "Clear decoder on channel switch" | ||||
| msgstr "Decoder bei Kanalwechsel leeren" | ||||
|  | ||||
| msgid "Brightness (-1000..1000) (vdpau)" | ||||
| msgstr "Helligkeit (-1000..1000) (vdpau)" | ||||
| msgid "Scaler Test" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Brightness (-100..100)" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "min" | ||||
| msgstr "min" | ||||
| @@ -408,14 +426,26 @@ msgstr "min" | ||||
| msgid "max" | ||||
| msgstr "max" | ||||
|  | ||||
| msgid "Contrast (0..10000) (vdpau)" | ||||
| msgstr "Kontrast (0..10000) (vdpau)" | ||||
| msgid "Contrast (0..100)" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Saturation (0..10000) (vdpau)" | ||||
| msgstr "Sättigung (0..10000) (vdpau)" | ||||
| msgid "Saturation (0..100)" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Hue (-3141..3141) (vdpau)" | ||||
| msgstr "Farbton (-3141..3141) (vdpau)" | ||||
| msgid "Gamma (0..100)" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Hue (-314..314) " | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Monitor Colorspace" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Color Blindness" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Color Correction (-100..100) " | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Scaling" | ||||
| msgstr "Skalierung" | ||||
| @@ -474,6 +504,15 @@ msgstr "Audio Driftkorrektur" | ||||
| msgid "Pass-through default" | ||||
| msgstr "Pass-Through-Standard" | ||||
|  | ||||
| msgid "  PCM pass-through" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "  AC-3 pass-through" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "  E-AC-3 pass-through" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Enable (E-)AC-3 (decoder) downmix" | ||||
| msgstr "Aktiviere (E-)AC-3 (decoder) downmix" | ||||
|  | ||||
| @@ -611,6 +650,10 @@ msgstr "PIP schließen" | ||||
| msgid " Frames missed(%d) duped(%d) dropped(%d) total(%d)" | ||||
| msgstr " Frames verloren(%d) verdoppelt(%d) übersprungen(%d) Gesamt(%d)" | ||||
|  | ||||
| #, c-format | ||||
| msgid " Frame Process time %2.2fms" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "pass-through disabled" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -690,10 +733,6 @@ msgstr "" | ||||
| msgid "[softhddev] out of memory\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video: packet buffer too small for %d\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video: no empty slot in packet ringbuffer\n" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -714,10 +753,6 @@ msgstr "" | ||||
| msgid "[softhddev] invalid video packet %d/%d bytes\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "[softhddev] empty video packet %d bytes\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "softhddev: %s called without hw decoder\n" | ||||
| msgstr "" | ||||
| @@ -815,10 +850,6 @@ msgstr "" | ||||
| msgid "video/glx: SGI v-sync enabled\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "checkCudaErrors() Driver API error = %04d" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/cuvid: surface needed not set\n" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -832,9 +863,6 @@ msgstr "" | ||||
| msgid "video/cuvid: out of memory\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/cuvid: need 1 future, 1 current, 1 back and 1 work surface\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/cuvid: decoder not in decoder list.\n" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -842,47 +870,31 @@ msgid "video/glx: glx error\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/cuvid: SDL error %d: %d\n" | ||||
| msgid "video/cuvid: SDL error %d\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/vdpau: no valid vdpau pixfmt found\n" | ||||
| msgid "Unable to create placebo textures" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/vdpau: no valid profile found\n" | ||||
| msgid "video: no valid pixfmt found\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "CUVID Init failed\n" | ||||
| msgid "video: no valid profile found\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "CUVID Not found\n" | ||||
| msgid "NO Format valid" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/vdpau: can't get output surface parameters: %s\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/vdpau: can't render output surface: %s\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/vdpau: video surface size mismatch\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/vdpau: out of memory\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/vdpau: unsupported rgba format %d\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/vdpau: can't get video surface bits native: %s\n" | ||||
| msgid "Failed rendering frame!\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/vdpau: can't get video surface parameters: %s\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video/vdpau: out of memory\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/vdpau: unsupported chroma type %d\n" | ||||
| msgstr "" | ||||
| @@ -902,18 +914,16 @@ msgstr "" | ||||
| msgid "Kein Cuda device gefunden" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/cuvid: can't block queue: %s\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video/cuvid: missed frame (%d/%d)\n" | ||||
| msgid "Failed to submit swapchain buffer\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video: decoder buffer empty, duping frame (%d/%d) %d v-buf\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Failed creating vulkan swapchain!" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video: fatal i/o error\n" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -927,6 +937,21 @@ msgstr "" | ||||
| msgid "video: can't unlock thread\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Cant get memory for PLACEBO struct" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Failed initializing libplacebo\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Failed to create XCB Surface\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Failed to create Vulkan Device" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "Failed initializing libplacebo renderer\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video: can't queue cancel video display thread\n" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -944,11 +969,11 @@ msgid "softhddev: grab unsupported\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video: Can't connect to X11 server on '%s'\n" | ||||
| msgid "video: Can't initialize X11 thread support on '%s'\n" | ||||
| msgstr "" | ||||
|  | ||||
| #, c-format | ||||
| msgid "video: Can't initialize X11 thread support on '%s'\n" | ||||
| msgid "video: Can't connect to X11 server on '%s'\n" | ||||
| msgstr "" | ||||
|  | ||||
| msgid "video: Can't convert XLIB display to XCB connection\n" | ||||
| @@ -961,8 +986,20 @@ msgstr "" | ||||
| msgid "video: error closing display\n" | ||||
| msgstr "" | ||||
|  | ||||
| #~ msgid "A software and GPU emulated HD device" | ||||
| #~ msgstr "Ein Software und GPU emulieres HD-Gerät" | ||||
| #~ msgid "Use studio levels (vdpau only)" | ||||
| #~ msgstr "Benutze Studio Levels (nur vdpau)" | ||||
|  | ||||
| #~ msgid "Brightness (-1000..1000) (vdpau)" | ||||
| #~ msgstr "Helligkeit (-1000..1000) (vdpau)" | ||||
|  | ||||
| #~ msgid "Contrast (0..10000) (vdpau)" | ||||
| #~ msgstr "Kontrast (0..10000) (vdpau)" | ||||
|  | ||||
| #~ msgid "Saturation (0..10000) (vdpau)" | ||||
| #~ msgstr "Sättigung (0..10000) (vdpau)" | ||||
|  | ||||
| #~ msgid "Hue (-3141..3141) (vdpau)" | ||||
| #~ msgstr "Farbton (-3141..3141) (vdpau)" | ||||
|  | ||||
| #~ msgid "SoftHdDevice" | ||||
| #~ msgstr "SoftHdDevice" | ||||
|   | ||||
| @@ -992,6 +992,7 @@ void cMenuSetupSoft::Create(void) | ||||
|     static const char *const video_display_formats_16_9[] = { | ||||
| 	"pan&scan", "pillarbox", "center cut-out", | ||||
|     }; | ||||
| #if 0 | ||||
|     static const char *const deinterlace[] = { | ||||
| 	"Bob", "Weave/None", "Temporal", "TemporalSpatial", "Software Bob", | ||||
| 	"Software Spatial", | ||||
| @@ -999,14 +1000,8 @@ void cMenuSetupSoft::Create(void) | ||||
|     static const char *const deinterlace_short[] = { | ||||
| 	"B", "W", "T", "T+S", "S+B", "S+S", | ||||
|     }; | ||||
| #ifndef PLACEBO | ||||
|     static const char *const scaling[] = { | ||||
| 	"Normal", "Fast", "HQ", "Anamorphic" | ||||
|     }; | ||||
| #endif | ||||
|     static const char *const scaling_short[] = { | ||||
| 	"N", "F", "HQ", "A" | ||||
|     }; | ||||
|  | ||||
|     static const char *const audiodrift[] = { | ||||
| 	"None", "PCM", "AC-3", "PCM + AC-3" | ||||
|     }; | ||||
|   | ||||
| @@ -661,7 +661,7 @@ static void PesParse(PesDemux * pesdx, const uint8_t * data, int size, | ||||
| 		n = pesdx->Index - pesdx->Skip; | ||||
| 		while (n >= 5) { | ||||
| 		    int r; | ||||
| 		    unsigned codec_id; | ||||
| 		    unsigned codec_id = AV_CODEC_ID_NONE; | ||||
|  | ||||
| 		    // 4 bytes 0xFFExxxxx Mpeg audio | ||||
| 		    // 5 bytes 0x0B77xxxxxx AC-3 audio | ||||
| @@ -1687,6 +1687,8 @@ static void VideoMpegEnqueue(VideoStream * stream, int64_t pts, int64_t dts, | ||||
| ** | ||||
| **	@param avpkt	ffmpeg a/v packet | ||||
| */ | ||||
|  | ||||
| #ifndef USE_PIP | ||||
| static void FixPacketForFFMpeg(VideoDecoder * vdecoder, AVPacket * avpkt) | ||||
| { | ||||
|     uint8_t *p; | ||||
| @@ -1746,7 +1748,7 @@ static void FixPacketForFFMpeg(VideoDecoder * vdecoder, AVPacket * avpkt) | ||||
| #endif | ||||
|     CodecVideoDecode(vdecoder, tmp); | ||||
| } | ||||
|  | ||||
| #endif | ||||
|  | ||||
|  | ||||
| /** | ||||
| @@ -2676,7 +2678,6 @@ void StillPicture(const uint8_t * data, int size) | ||||
|     // H265 NAL End of Sequence | ||||
|     static uint8_t seq_end_h265[] = { 0x00, 0x00, 0x00, 0x01, 0x48, 0x01 }; //0x48 = end of seq   0x4a = end of stream | ||||
|     int i; | ||||
|     int old_video_hardware_decoder; | ||||
|  | ||||
|     // might be called in Suspended Mode | ||||
|     if (!MyVideoStream->Decoder || MyVideoStream->SkipStream) { | ||||
|   | ||||
							
								
								
									
										119
									
								
								video.c
									
									
									
									
									
								
							
							
						
						
									
										119
									
								
								video.c
									
									
									
									
									
								
							| @@ -393,12 +393,6 @@ static int VideoCutTopBottom[VideoResolutionMax]; | ||||
|     /// Default cut left and right in pixels | ||||
| static int VideoCutLeftRight[VideoResolutionMax]; | ||||
|  | ||||
|     /// Color space ITU-R BT.601, ITU-R BT.709, ... | ||||
| static const VideoColorSpace VideoColorSpaces[VideoResolutionMax] = { | ||||
|     VideoColorSpaceBt601, VideoColorSpaceBt709, VideoColorSpaceBt709, | ||||
|     VideoColorSpaceBt709,VideoColorSpaceBt709 | ||||
| }; | ||||
|  | ||||
|     /// Default scaling mode | ||||
| static VideoScalingModes VideoScaling[VideoResolutionMax]; | ||||
|  | ||||
| @@ -891,10 +885,8 @@ static void GlxUploadOsdTexture(int x, int y, int width, int height, | ||||
| ///	@param width	osd width | ||||
| ///	@param height	osd height | ||||
| /// | ||||
| static void GlxOsdInit(int width, int height) | ||||
| static void GlxOsdInit(__attribute__((unused))int width, __attribute__((unused))int height) | ||||
| { | ||||
|     int i; | ||||
|  | ||||
| #ifdef DEBUG | ||||
|     if (!GlxEnabled) { | ||||
| 		Debug(3, "video/glx: %s called without glx enabled\n", __FUNCTION__); | ||||
| @@ -1666,7 +1658,7 @@ typedef struct _cuvid_decoder_ | ||||
| 	CUcontext cuda_ctx; | ||||
| 	 | ||||
| #ifdef PLACEBO | ||||
| 	struct pl_image     	  pl_images[CODEC_SURFACES_MAX+1];    // images f<>r Placebo chain | ||||
| 	struct pl_image     	  pl_images[CODEC_SURFACES_MAX+1];    // images f<>r Placebo chain | ||||
| 	const struct pl_tex		 *pl_tex_in[CODEC_SURFACES_MAX+1][2];  // Textures in image | ||||
| 	const struct pl_buf		 *pl_buf_Y,*pl_buf_UV;				 // buffer for Texture upload | ||||
| 	struct ext_buf			 ebuf[2];							 // for managing vk buffer | ||||
| @@ -1854,8 +1846,6 @@ static void CuvidCreateSurfaces(CuvidDecoder * decoder, int width, int height,en | ||||
| static void CuvidDestroySurfaces(CuvidDecoder * decoder) | ||||
| { | ||||
|     int i,j; | ||||
| 	CUcontext dummy; | ||||
|     CUdeviceptr d; | ||||
|  | ||||
|     Debug(3, "video/cuvid: %s\n", __FUNCTION__); | ||||
| 	 | ||||
| @@ -2003,7 +1993,7 @@ static CuvidDecoder *CuvidNewHwDecoder(VideoStream * stream) | ||||
| 		return NULL; | ||||
|     } | ||||
| 	 | ||||
|     if (i = av_hwdevice_ctx_create(&hw_device_ctx, AV_HWDEVICE_TYPE_CUDA, X11DisplayName, NULL, 0)) { | ||||
|     if ((i = av_hwdevice_ctx_create(&hw_device_ctx, AV_HWDEVICE_TYPE_CUDA, X11DisplayName, NULL, 0)) != 0) { | ||||
| 		Fatal("codec: can't allocate HW video codec context err %04x",i); | ||||
|     } | ||||
|     HwDeviceContext = av_buffer_ref(hw_device_ctx); | ||||
| @@ -2061,7 +2051,7 @@ static CuvidDecoder *CuvidNewHwDecoder(VideoStream * stream) | ||||
| /// | ||||
| static void CuvidCleanup(CuvidDecoder * decoder) | ||||
| { | ||||
|     int i,n=0; | ||||
|     int i; | ||||
|  | ||||
| Debug(3,"Cuvid Clean up\n"); | ||||
| 	 | ||||
| @@ -2096,7 +2086,7 @@ Debug(3,"Cuvid Clean up\n"); | ||||
| /// | ||||
| static void CuvidDelHwDecoder(CuvidDecoder * decoder) | ||||
| { | ||||
|     int i,n; | ||||
|     int i; | ||||
| Debug(3,"cuvid del hw decoder \n"); | ||||
| 	if (decoder == CuvidDecoders[0]) | ||||
|   		pthread_mutex_lock(&VideoLockMutex); | ||||
| @@ -2130,7 +2120,7 @@ Debug(3,"cuvid del hw decoder \n"); | ||||
|     Error(_("video/cuvid: decoder not in decoder list.\n")); | ||||
| } | ||||
|  | ||||
| static int CuvidGlxInit(const char *display_name) | ||||
| static int CuvidGlxInit(__attribute__((unused))const char *display_name) | ||||
| { | ||||
| #ifndef PLACEBO | ||||
|     GlxEnabled = 1; | ||||
| @@ -2266,7 +2256,7 @@ createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned i | ||||
| 		img->num_overlays = 0; | ||||
| 	} | ||||
| 	 | ||||
| 	decoder->pl_buf_Y = pl_buf_create(p->gpu, &(struct pl_buf_params) {   // buffer f<>r Y texture upload | ||||
| 	decoder->pl_buf_Y = pl_buf_create(p->gpu, &(struct pl_buf_params) {   // buffer f<>r Y texture upload | ||||
| 		.type = PL_BUF_TEX_TRANSFER, | ||||
| 		.size = size_x * size_y * size, | ||||
| 		.host_mapped = false, | ||||
| @@ -2277,7 +2267,7 @@ createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned i | ||||
| 	decoder->ebuf[0].fd = dup(decoder->pl_buf_Y->shared_mem.handle.fd);		// dup fd | ||||
| //	printf("Y  Offset %d  Size  %d  FD %d\n",decoder->pl_buf_Y->handle_offset,decoder->pl_buf_Y->handles.size,decoder->pl_buf_Y->handles.fd); | ||||
|  | ||||
| 	decoder->pl_buf_UV = pl_buf_create(p->gpu, &(struct pl_buf_params) {   // buffer f<>r UV texture upload | ||||
| 	decoder->pl_buf_UV = pl_buf_create(p->gpu, &(struct pl_buf_params) {   // buffer f<>r UV texture upload | ||||
| 		.type = PL_BUF_TEX_TRANSFER, | ||||
| 		.size = size_x * size_y * size / 2, | ||||
| 		.host_mapped = false, | ||||
| @@ -2376,8 +2366,7 @@ void | ||||
| createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned int size_y, enum AVPixelFormat PixFmt) | ||||
| { | ||||
| 	 | ||||
|     int n,i,size; | ||||
|     CUcontext dummy; | ||||
|     int n,i; | ||||
|  | ||||
| 	glXMakeCurrent(XlibDisplay, VideoWindow, GlxContext); | ||||
| 	GlxCheck(); | ||||
| @@ -2422,8 +2411,7 @@ createTextureDst(CuvidDecoder * decoder,int anz, unsigned int size_x, unsigned i | ||||
| // copy image and process using CUDA | ||||
| void generateCUDAImage(CuvidDecoder * decoder,int index, const AVFrame *frame,int image_width , int image_height, int bytes) | ||||
| { | ||||
|     int n,version; | ||||
|     CUcontext dummy=NULL; | ||||
|     int n; | ||||
|  | ||||
|     for (n = 0; n < 2; n++) { //  | ||||
|         // widthInBytes must account for the chroma plane | ||||
| @@ -2452,9 +2440,6 @@ void generateCUDAImage(CuvidDecoder * decoder,int index, const AVFrame *frame,in | ||||
| /// | ||||
| static void CuvidSetupOutput(CuvidDecoder * decoder) | ||||
| { | ||||
|     uint32_t width; | ||||
|     uint32_t height; | ||||
|  | ||||
|     // FIXME: need only to create and destroy surfaces for size changes | ||||
|     //		or when number of needed surfaces changed! | ||||
|     decoder->Resolution = VideoResolutionGroup(decoder->InputWidth, decoder->InputHeight, decoder->Interlaced); | ||||
| @@ -2490,26 +2475,6 @@ typedef struct CUVIDContext { | ||||
|     AVFrame *tmp_frame; | ||||
| } CUVIDContext; | ||||
|  | ||||
|  | ||||
| static int cuvid_get_buffer(AVCodecContext *s, AVFrame *frame, int flags) | ||||
| { | ||||
|     VideoDecoder        *ist = s->opaque; | ||||
|     CUVIDContext        *ctx = ist->hwaccel_ctx; | ||||
|     int ret; | ||||
|  | ||||
|     if (!ctx->hw_frames_ctx) { | ||||
| 	Debug(3,"CUDA fail get buffer\n"); | ||||
|         exit(0); | ||||
|     } | ||||
|  | ||||
|     ret = av_hwframe_get_buffer(ctx->hw_frames_ctx, frame, 0); | ||||
|     //ret = avcodec_default_get_buffer2(s, frame, flags); | ||||
|  | ||||
|     Debug(3,"CUDA hwframe got buffer %d\n",ret); | ||||
|     return ret; | ||||
| } | ||||
|  | ||||
|  | ||||
| /// | ||||
| ///	Callback to negotiate the PixelFormat. | ||||
| /// | ||||
| @@ -2620,7 +2585,7 @@ int get_RGB(CuvidDecoder *decoder) { | ||||
| 	int width; | ||||
| 	int height; | ||||
| 	GLuint fb,texture; | ||||
| 	int current,i; | ||||
| 	int current; | ||||
| 	GLint texLoc; | ||||
| 	 | ||||
| 	base = decoder->grabbase; | ||||
| @@ -2770,10 +2735,8 @@ int get_RGB(CuvidDecoder *decoder) { | ||||
| 				}); | ||||
|  | ||||
| 	pl_tex_destroy(p->gpu,&target.fbo); | ||||
|  | ||||
| 	 | ||||
| #endif	 | ||||
|  | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| /// | ||||
| @@ -2785,17 +2748,11 @@ int get_RGB(CuvidDecoder *decoder) { | ||||
| /// | ||||
| static uint8_t *CuvidGrabOutputSurfaceLocked(int *ret_size, int *ret_width, int *ret_height, int mitosd) | ||||
| { | ||||
|     int surface,i; | ||||
|  | ||||
|     int rgba_format; | ||||
|     uint32_t size; | ||||
|     uint32_t width; | ||||
|     uint32_t height; | ||||
|     uint8_t *base; | ||||
|     void *data[1]; | ||||
|     uint32_t pitches[1]; | ||||
|     VdpRect source_rect; | ||||
|     VdpRect output_rect; | ||||
| 	CuvidDecoder *decoder; | ||||
|  | ||||
| 	decoder = CuvidDecoders[0]; | ||||
| @@ -2850,12 +2807,6 @@ static uint8_t *CuvidGrabOutputSurfaceLocked(int *ret_size, int *ret_width, int | ||||
| 			source_rect.x0, source_rect.y0, source_rect.x1, source_rect.y1, | ||||
| 			width, height); | ||||
|  | ||||
|  | ||||
| 		output_rect.x0 = 0; | ||||
| 		output_rect.y0 = 0; | ||||
| 		output_rect.x1 = width; | ||||
| 		output_rect.y1 = height; | ||||
| 		 | ||||
| 		size = width * height * sizeof(uint32_t); | ||||
| 		 | ||||
| 		base = malloc(size); | ||||
| @@ -3177,7 +3128,6 @@ static void CuvidRenderFrame(CuvidDecoder * decoder, | ||||
|     const AVCodecContext * video_ctx, const AVFrame * frame) | ||||
| { | ||||
|     int surface; | ||||
|     VideoDecoder        *ist = video_ctx->opaque; | ||||
| 	enum AVColorSpace color; | ||||
|  | ||||
|     // update aspect ratio changes | ||||
| @@ -3287,10 +3237,7 @@ Debug(3,"fmt %02d:%02d  width %d:%d hight %d:%d\n",decoder->ColorSpace,frame->co | ||||
| /// | ||||
| static void *CuvidGetHwAccelContext(CuvidDecoder * decoder) | ||||
| { | ||||
| 	 | ||||
| 	int ret,n; | ||||
|     unsigned int device_count,version; | ||||
|     CUdevice device; | ||||
|     unsigned int version; | ||||
|  | ||||
| 	Debug(3, "Initializing cuvid hwaccel thread ID:%ld\n",(long int)syscall(186)); | ||||
| //turn NULL; | ||||
| @@ -3328,11 +3275,9 @@ static void *CuvidGetHwAccelContext(CuvidDecoder * decoder) | ||||
| ///	@FIXME: render only video area, not fullscreen! | ||||
| ///	decoder->Output.. isn't correct setup for radio stations | ||||
| /// | ||||
| static void CuvidBlackSurface(CuvidDecoder * decoder) | ||||
| static void CuvidBlackSurface(__attribute__((unused))CuvidDecoder * decoder) | ||||
| { | ||||
| #ifndef PLACEBO | ||||
| 	VdpRect source_rect; | ||||
| 	VdpRect output_rect; | ||||
| 	glClear(GL_COLOR_BUFFER_BIT); | ||||
| #endif | ||||
| return; | ||||
| @@ -3382,7 +3327,7 @@ static void CuvidAdvanceDecoderFrame(CuvidDecoder * decoder) | ||||
| #ifdef PLACEBO | ||||
| static void CuvidMixVideo(CuvidDecoder * decoder, int level,struct pl_render_target *target, struct pl_overlay *ovl ) | ||||
| #else | ||||
| static void CuvidMixVideo(CuvidDecoder * decoder, int level) | ||||
| static void CuvidMixVideo(CuvidDecoder * decoder, __attribute__((unused))int level) | ||||
| #endif | ||||
| { | ||||
| #ifdef PLACEBO | ||||
| @@ -3395,26 +3340,23 @@ static void CuvidMixVideo(CuvidDecoder * decoder, int level) | ||||
| 	VkImage Image; | ||||
| 	struct pl_image *img; | ||||
| 	bool ok; | ||||
| #endif | ||||
| 	static int last; | ||||
| 	int current; | ||||
|  | ||||
| 	VdpRect video_src_rect; | ||||
| 	VdpRect dst_rect; | ||||
| 	VdpRect dst_video_rect; | ||||
| 	int w = decoder->InputWidth; | ||||
| 	int h = decoder->InputHeight; | ||||
| #endif | ||||
|  | ||||
| 	int current; | ||||
| 	int y; | ||||
| 	float xcropf, ycropf; | ||||
| 	GLint texLoc; | ||||
| 	 | ||||
| 	size_t nSize = 0; | ||||
| 	static uint32_t lasttime = 0; | ||||
| 		 | ||||
|  | ||||
| #ifdef USE_AUTOCROP | ||||
| 	// FIXME: can move to render frame | ||||
| 	CuvidCheckAutoCrop(decoder); | ||||
| #endif | ||||
|  | ||||
| #ifdef PLACEBO | ||||
| 	if (level) { | ||||
| 		dst_rect.x0 = decoder->VideoX;	// video window output (clip) | ||||
| 		dst_rect.y0 = decoder->VideoY; | ||||
| @@ -3431,15 +3373,17 @@ static void CuvidMixVideo(CuvidDecoder * decoder, int level) | ||||
| 	video_src_rect.y0 = decoder->CropY; | ||||
| 	video_src_rect.x1 = decoder->CropX + decoder->CropWidth; | ||||
| 	video_src_rect.y1 = decoder->CropY + decoder->CropHeight; | ||||
| #endif | ||||
|  | ||||
| 	xcropf = (float) decoder->CropX / (float) decoder->InputWidth; | ||||
| 	ycropf = (float) decoder->CropY / (float) decoder->InputHeight; | ||||
| 	 | ||||
| #ifdef PLACEBO | ||||
| 	dst_video_rect.x0 = decoder->OutputX;	// video output (scale) | ||||
| 	dst_video_rect.y0 = decoder->OutputY; | ||||
| 	dst_video_rect.x1 = decoder->OutputX + decoder->OutputWidth; | ||||
| 	dst_video_rect.y1 = decoder->OutputY + decoder->OutputHeight; | ||||
|  | ||||
| #endif | ||||
| 	current = decoder->SurfacesRb[decoder->SurfaceRead]; | ||||
|  | ||||
| 	// Render Progressive frame and simple interlaced | ||||
| @@ -3674,13 +3618,14 @@ void make_osd_overlay(int x, int y, int width, int height) { | ||||
| static void CuvidDisplayFrame(void) | ||||
| { | ||||
|  | ||||
| 	uint64_t first_time, diff, akt_time; | ||||
| 	uint64_t first_time; | ||||
| 	static uint64_t last_time = 0; | ||||
| 	int i; | ||||
| 	static unsigned int Count; | ||||
| 	int filled; | ||||
| 	CuvidDecoder *decoder; | ||||
| #ifdef PLACEBO | ||||
| 	uint64_t diff; | ||||
| 	struct pl_swapchain_frame frame; | ||||
| 	struct pl_render_target target; | ||||
| 	bool ok; | ||||
| @@ -3981,12 +3926,11 @@ void CuvidGetStats(CuvidDecoder * decoder, int *missed, int *duped, | ||||
| /// | ||||
| static void CuvidSyncDecoder(CuvidDecoder * decoder) | ||||
| { | ||||
| 	int err; | ||||
| 	int filled; | ||||
| 	int64_t audio_clock; | ||||
| 	int64_t video_clock; | ||||
| 	int err = 0; | ||||
|  | ||||
| 	err = 0; | ||||
| 	video_clock = CuvidGetClock(decoder); | ||||
| 	filled = atomic_read(&decoder->SurfacesFilled); | ||||
|  | ||||
| @@ -4357,9 +4301,6 @@ static void CuvidSetOutputPosition(CuvidDecoder * decoder, int x, int y, | ||||
| //	CUVID OSD | ||||
| //---------------------------------------------------------------------------- | ||||
|  | ||||
| static const uint8_t OsdZeros[4096 * 2160 * 4];	///< 0 for clear osd | ||||
|  | ||||
|  | ||||
| /// | ||||
| ///	CUVID module. | ||||
| /// | ||||
| @@ -4798,7 +4739,7 @@ static void VideoEvent(void) | ||||
|  | ||||
| 	case MapNotify: | ||||
| 	    Debug(3, "video/event: MapNotify\n"); | ||||
| 	    // <20>wm workaround | ||||
| 	    // <20>wm workaround | ||||
| 	    VideoThreadLock(); | ||||
| 	    xcb_change_window_attributes(Connection, VideoWindow, | ||||
| 		XCB_CW_CURSOR, &VideoBlankCursor); | ||||
| @@ -5041,9 +4982,7 @@ static void *VideoDisplayHandlerThread(void *dummy) | ||||
| { | ||||
|  | ||||
| 	CUcontext cuda_ctx; | ||||
| 	 unsigned int device_count,version; | ||||
|     CUdevice device; | ||||
| 	 | ||||
|  | ||||
| #ifdef PLACEBO_ | ||||
| 	InitPlacebo(); | ||||
| #endif | ||||
|   | ||||
		Reference in New Issue
	
	Block a user