History log of /haiku/src/add-ons/media/plugins/ffmpeg/gfx_util.cpp
Revision Date Author Comments
# 2f719499 29-Dec-2023 PulkoMandy <pulkomandy@pulkomandy.tk>

ffmpeg: update dump_ffframe_video for ffmpeg6

- coded_picture_number, display_picture_number and key_frame are deprecated
- dump all of the frame flags
- add missing entries in the picture type list

Change-Id: I64f0f20833f9cf3f31f77b26b464b36f68a67998
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7251
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 90e87426 22-Dec-2022 PulkoMandy <pulkomandy@pulkomandy.tk>

ffmpeg: enable Werror and fix all warnings

Warnings fixed include usage of various deprecated functions, structures
and fields of ffmpeg.

Change-Id: I8d6338ad282f214a805b8d746ce22e2f0895fb25
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5954
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# 61c919f2 14-May-2020 RudolfC <rudolf.cornelissen@gmail.com>

ffmpeg: fixed error in pixfmt-colorspace conversion and added our Y_CbCr422 for overlay


# 1fb7ddbb 23-Sep-2018 Augustin Cavalier <waddlesplash@gmail.com>

add-ons/media/ffmpeg: Use SWS for color-space conversion universally.

It seems to be as if not faster than the built-in method now as far
as I can tell, and this means one less arch-specific difference.
I haven't ripped all of it out yet, though.


# 334b8f3f 03-Aug-2018 Barrett17 <b.vitruvio@gmail.com>

ffmpeg: Remove obsolete code


# 361f980f 12-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

More "missing space after macro; invalid in C++11" error fixes.


# 982fc0c2 29-May-2017 Adrien Destugues <pulkomandy@pulkomandy.tk>

ffmpeg: implement conversion for the GBRP pixel format

ffmpeg decodes some videos in this format: separate planes for G, R and
B values of the pixels. It does not manage to perform the conversion on
its own (we would need to use swscale for that), so provide our own
converter (the code is trivial anyways).


# f97f2394 19-Feb-2016 Jérôme Duval <jerome.duval@gmail.com>

ffmpeg: update build with version 3.0.

* untested.


# e3686c1b 11-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

ffmpeg add-on: fix typo.


# 9a83a303 11-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

Add colorspace converter for YUV420P10LE to RGB32.

Fixes #9141.


# d7d0a028 11-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

ffmpeg: get pixel format names from libavutil.

No need to reimplement this when ffmpeg already provides it. Moreover,
our version was outdated and did not handle all color spaces.


# 7f485803 21-Aug-2014 Colin Günther <coling@gmx.de>

FFMPEG Plugin: Print debug output for audio frames, too

- Also change what is printed for video frames. Currently both
debug_fframe_[audio|video] are used in AVCodecDecoder only and thus are
streamlined for their usage there. For example we print the AVFrame.pkt_dts
field instead of the AVFrame.pkt field because the later one is never touched
by AVCodecDecoders usage of the FFMPEG library.
Note: AVFrame.pkt being never touched means that it always contains the value
AV_NOPTS_VALUE making it less useful for debug purposes.


# 179c6ec2 23-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove some traces sent to application stdout.

* This may be fine in media server where it lands in logs, but certainly
not when the code is run in applications.
* Helps with all media-related webkit tests.


# 1a37a812 04-Dec-2013 Jerome Duval <jerome.duval@gmail.com>

ffmpeg: fix x86_64 build, remove libbz2

* AVCodecDecoder: for x86_64, use libswscale, asm is only for x86.
* CpuCapabilities: init capabilities to zero, fixes style.
* gfx_util.cpp: protect x86 specific code, fallback to C.
* x86_64: don't include unneeded x86 stuff.
* all arch: libbz2 is a build feature.


# 0df942b6 01-Mar-2011 David McPaul <dlmcpaul@gmail.com>

Use multiplication instead of shifts and adds. Include SSSE3 routine

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51d9b4fe 21-Dec-2010 David McPaul <dlmcpaul@gmail.com>

correct yuv422 planar conversion. Seperate sse, sse2 and ssse3 asm code. Add packed convertor

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39913 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d5bc298 20-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

* Removed a big chunk of dead or outdated code. It was really
hard to see the big picture and tell what actually works
in the higher levels of the code.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39033 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c143ae9 15-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Long overdue coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38974 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50ff266e 25-Jan-2010 David McPaul <dlmcpaul@gmail.com>

Add SSE versions of YUV2RGB converters for earlier x86 cpus

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35290 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7789e74c 08-Jan-2010 David McPaul <dlmcpaul@gmail.com>

Cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34959 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96f1b483 08-Jan-2010 David McPaul <dlmcpaul@gmail.com>

use width and height when deciding on which conversion routine to select. Remove some checks per frame from sse2 conversion routines. Hopefully it still handles misaligned buffers ok. Too many tests were hurting performance

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34945 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a0cb284 06-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Added utility function colorspace_to_pixfmt().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34926 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bfbea62 19-Sep-2009 David McPaul <dlmcpaul@gmail.com>

Added SSE2 yuv to rgb conversion code. This code needs to move into the media kit though

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33200 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f0bdc769 21-Aug-2009 Jérôme Duval <korli@users.berlios.de>

* synced with ffmpeg-r19678, keeping gcc2 compiler #ifdef we introduced, build only tested on Haiku gcc2
* activated ac3 audio file format support
* uses format metadata to keep the codec context extra data (now needed for flac)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 827faf77 03-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* Fleshed out some more of the format detection.
* Moved stuff from testing in Sniff() into class members.
* Added function to gfx_utils() that converts an FFmpeg pix_fmt to color_space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 27f6fb6c 01-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* Renamed avcodec folder to ffmpeg.
* Cleaned up plugins Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31359 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e3686c1bd28758ccccba4cb1bf297613b829ac6e 11-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

ffmpeg add-on: fix typo.


# 9a83a303b4cc039e6a673604af282c62b793a9ac 11-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

Add colorspace converter for YUV420P10LE to RGB32.

Fixes #9141.


# d7d0a0284b7635e0e51acc23a7ce3655e8f8debf 11-Dec-2014 Adrien Destugues <pulkomandy@gmail.com>

ffmpeg: get pixel format names from libavutil.

No need to reimplement this when ffmpeg already provides it. Moreover,
our version was outdated and did not handle all color spaces.


# 7f485803cd06f395f61a378fe6c2a986eb8966e9 21-Aug-2014 Colin Günther <coling@gmx.de>

FFMPEG Plugin: Print debug output for audio frames, too

- Also change what is printed for video frames. Currently both
debug_fframe_[audio|video] are used in AVCodecDecoder only and thus are
streamlined for their usage there. For example we print the AVFrame.pkt_dts
field instead of the AVFrame.pkt field because the later one is never touched
by AVCodecDecoders usage of the FFMPEG library.
Note: AVFrame.pkt being never touched means that it always contains the value
AV_NOPTS_VALUE making it less useful for debug purposes.


# 179c6ec2fd0886dc6560f6c79f77e109e2ce13d7 23-Apr-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Remove some traces sent to application stdout.

* This may be fine in media server where it lands in logs, but certainly
not when the code is run in applications.
* Helps with all media-related webkit tests.


# 1a37a812a4ba34aa61b1965209a5682941ac11ef 04-Dec-2013 Jerome Duval <jerome.duval@gmail.com>

ffmpeg: fix x86_64 build, remove libbz2

* AVCodecDecoder: for x86_64, use libswscale, asm is only for x86.
* CpuCapabilities: init capabilities to zero, fixes style.
* gfx_util.cpp: protect x86 specific code, fallback to C.
* x86_64: don't include unneeded x86 stuff.
* all arch: libbz2 is a build feature.


# 0df942b65c16297096fc1f6fa8ace300647da917 01-Mar-2011 David McPaul <dlmcpaul@gmail.com>

Use multiplication instead of shifts and adds. Include SSSE3 routine

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 51d9b4fe14bec902662f90f9ff7dca5df5622527 21-Dec-2010 David McPaul <dlmcpaul@gmail.com>

correct yuv422 planar conversion. Seperate sse, sse2 and ssse3 asm code. Add packed convertor

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39913 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d5bc29832badda51f85aed32a8efdd91fa19b3e 20-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

* Removed a big chunk of dead or outdated code. It was really
hard to see the big picture and tell what actually works
in the higher levels of the code.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39033 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c143ae93e847e83cfdb9cb7c24458c460ece3e5 15-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

Long overdue coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38974 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50ff266ef29cffbf57565fad9c5f75426a8aba97 25-Jan-2010 David McPaul <dlmcpaul@gmail.com>

Add SSE versions of YUV2RGB converters for earlier x86 cpus

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35290 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7789e74c3281ef84aac5a547239074016ee904ea 08-Jan-2010 David McPaul <dlmcpaul@gmail.com>

Cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34959 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96f1b483e4423a8a8505d630dfbfd1d78a739987 08-Jan-2010 David McPaul <dlmcpaul@gmail.com>

use width and height when deciding on which conversion routine to select. Remove some checks per frame from sse2 conversion routines. Hopefully it still handles misaligned buffers ok. Too many tests were hurting performance

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34945 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2a0cb284c47d337e35706c929c369efede8be3e0 06-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Added utility function colorspace_to_pixfmt().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34926 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bfbea62cd2e70f2ce97101d038c803ea8027393 19-Sep-2009 David McPaul <dlmcpaul@gmail.com>

Added SSE2 yuv to rgb conversion code. This code needs to move into the media kit though

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33200 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f0bdc7699c590eb99f05b6eb5a048bee73966335 21-Aug-2009 Jérôme Duval <korli@users.berlios.de>

* synced with ffmpeg-r19678, keeping gcc2 compiler #ifdef we introduced, build only tested on Haiku gcc2
* activated ac3 audio file format support
* uses format metadata to keep the codec context extra data (now needed for flac)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 827faf77a469d9bbefec9a0618bd22daa38aec6c 03-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* Fleshed out some more of the format detection.
* Moved stuff from testing in Sniff() into class members.
* Added function to gfx_utils() that converts an FFmpeg pix_fmt to color_space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 27f6fb6ce7c1050d845a500e26018ff97c5d573e 01-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* Renamed avcodec folder to ffmpeg.
* Cleaned up plugins Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31359 a95241bf-73f2-0310-859d-f6bbb57e9c96