Commit Graph

19 Commits

Author SHA1 Message Date
hunterk 2a36245e0c
make ffmpeg core compile separately again and silence a couple of unused variable warnings (#15108) 2023-03-19 02:38:18 +01:00
Vladimir Serbinenko 1fcdddf579 Remove manual MSB_FIRST definitions and switch to retro_endianness.h 2020-04-21 04:16:55 +02:00
Nils Hasenbanck 1e54379141 Implemented the packet buffer.
Simply use two packet_buffers that are double-linked lists of
AVPacket structs. This way we can control which packets to feed
to the decoders at the right time.

This solves the playback problem with the MP4 files.
2020-01-08 20:44:00 +01:00
Nils Hasenbanck c6309d963d Remove video fifo in ffmpeg core.
The video fifo can be removed, since we have a ring buffer in it's
place. This removes unneeded copy operations and as a positive side
improves overall decoding speed.

Makes 8k60p SW and 4k60p HW decoding possible on my system.

For now the ring buffer is 32 images deep. This limitation will
be removed, once audio and video decoder have their own
packet handling.
2019-12-23 16:07:34 +01:00
twinaphex 60b182b821 Promote tpool as libretro-common component 2019-12-18 18:21:03 +01:00
Nils Hasenbanck 417d1b7de7 Color space conversion using frame based MT.
Using a ordered ring buffer and a thread pool, the color space
conversion is not multi-threaded based on frames. I tried
to implement slice based threading, but libswscale did produced
highly distorted pictures without obvious reason.

This approach introduces some more "lag" when decoding and skipping,
but shouldn't be affect the user negatively, since movie
watching is not lag sensitive, as long as the A/V is synchronized.

Change default to software decoding.

SW decoding is the most robust and fasted method of decoding right now.
Users should enable hw based decoding if their system requires it
and it's actually beneficial for them.

Fix deadlocks when seeking and decrease RAM usage.

Decrease memory allocation by reusing AVFrames.
2019-12-18 11:46:49 +01:00
twinaphex fbdc53f926 Update ffmpeg Makefile.common - see if it changes anything 2019-11-19 08:54:19 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
orbea bfc366decc Squeeze extra blank lines with cat(1).
Example:

find . -type f -iname '*.c' | while read -r i; do
  cat -s "$i" > "$i.new"
  mv "$i.new" "$i"
done
2019-01-08 11:04:58 -08:00
twinaphex 8defa3b924 Update libretro-ffmpeg 2017-04-22 20:56:59 +02:00
twinaphex 2945605b61 Update ffmpeg 2016-09-07 13:19:28 +02:00
twinaphex 1b94fd2fce Update libretro-ffmpeg 2016-09-05 20:48:27 +02:00
twinaphex a9d021cbfd (ffmpeg core) Update 2016-09-05 02:45:10 +02:00
twinaphex bc7db98faf (ffmpeg core) Update 2016-09-05 00:36:04 +02:00
twinaphex 459acfe47d Update 2016-09-03 23:02:10 +02:00
twinaphex e5eab961f2 (ffmpeg core) Add HAVE_LIBGSM ifdefs 2016-09-03 22:25:05 +02:00
twinaphex 63d1a30cf2 (ffmpeg core) Update 2016-09-03 22:19:20 +02:00
twinaphex 4dc0ed54d8 (ffmpeg core) Updates 2016-09-03 22:15:13 +02:00
twinaphex 249733b06d Update Makefiles / ffmpeg core 2016-09-03 21:59:52 +02:00