Skip to content

Commit dbfdcac

Browse files
committed
AMF v.1.4.21 release
1 parent 6898a97 commit dbfdcac

File tree

156 files changed

+52213
-612
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

156 files changed

+52213
-612
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ AMF is a light-weight, portable multimedia framework that abstracts away most of
1010
* Windows® 7 (SP1 with the [Platform Update](https://msdn.microsoft.com/en-us/library/windows/desktop/jj863687.aspx)), Windows® 8.1, or Windows® 10
1111
* Visual Studio® 2017 or Visual Studio® 2019
1212
* AMF SDK is backward compatible with all previous driver versions.
13+
* Version 1.4.21: AMD Radeon Software Adrenalin Edition 21.6.1 (21.20.01.14) or newer. Added PSNR/SSIM score feedback, new QVBR rate control mode and LTR mode for encoders, added HDR support for HEVC encoder and color converter, new EncoderLatency sample app.
1314
* Version 1.4.18: AMD Radeon Software Adrenalin Edition 20.11.2 or newer. Added Pre-Encode filter within Pre-Processing component in 1.4.18.
1415
* Version 1.4.9 or later requires Vulkan SDK for some samples: https://vulkan.lunarg.com/ and AMD Radeon Software Adrenalin Edition 18.8.1 (18.30.01.01) or newer. This version supports Linux (see amd.com for driver support)
1516
* Version 1.4.4 or later requires OCL_SDK_Light: https://github.com/GPUOpen-LibrariesAndSDKs/OCL-SDK/releases. Previous versions of AMF require the AMD APP SDK (Version 3.0 or later), Windows 10 SDK (Version 10586). This version requires AMD Radeon Software Crimson Edition 17.7.2 (17.30.1041) or newer
106 KB
Binary file not shown.

amf/doc/AMF_Video_Encode_API.pdf

-6.75 KB
Binary file not shown.
-3.91 KB
Binary file not shown.

amf/doc/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ AMF is a light-weight, portable multimedia framework that abstracts away most of
1010
* Windows® 7 (SP1 with the [Platform Update](https://msdn.microsoft.com/en-us/library/windows/desktop/jj863687.aspx)), Windows® 8.1, or Windows® 10
1111
* Visual Studio® 2017 or Visual Studio® 2019
1212
* AMF SDK is backward compatible with all previous driver versions.
13-
* Version 1.4.18: AMD Radeon Software Adrenalin Edition 20.11.2 or newer. Added the Pre-Analysis component to improve perceptual quality of encoded video.
14-
* Version 1.4.14: AMD Radeon Software Adrenalin Edition 19.7.1 or newer
13+
* Version 1.4.21: AMD Radeon Software Adrenalin Edition 21.6.1 (21.20.01.14) or newer. Added PSNR/SSIM score feedback, new QVBR rate control mode and LTR mode for encoders, added HDR support for HEVC encoder and color converter, new EncoderLatency sample app.
14+
* Version 1.4.18: AMD Radeon Software Adrenalin Edition 20.11.2 or newer. Added Pre-Encode filter within Pre-Processing component in 1.4.18.
1515
* Version 1.4.9 or later requires Vulkan SDK for some samples: https://vulkan.lunarg.com/ and AMD Radeon Software Adrenalin Edition 18.8.1 (18.30.01.01) or newer. This version supports Linux (see amd.com for driver support)
1616
* Version 1.4.4 or later requires OCL_SDK_Light: https://github.com/GPUOpen-LibrariesAndSDKs/OCL-SDK/releases. Previous versions of AMF require the AMD APP SDK (Version 3.0 or later), Windows 10 SDK (Version 10586). This version requires AMD Radeon Software Crimson Edition 17.7.2 (17.30.1041) or newer
1717
* Version 1.4: AMD Radeon Software Crimson Edition 17.1.1 (16.50.2611) or newer

amf/doc/Readme.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@
3030
New features are available in
3131
Driver: Radeon Software Adrenalin 2019 Edition; 19.7.1 Software: 19.30 and later
3232

33+
1.4.21.0 (07.05.2021) version
34+
--------------------------
35+
- HDR color conversion updated
36+
- HDR color conversion in encoder
37+
- QVBR rate control mode in encoder
38+
- Extended statistic and quality metrics in encoder
39+
- Frame rate parameter became dynamic
40+
- new LTR encoder mode
41+
3342
1.4.18.0 (16.09.2020) version
3443
--------------------------
3544
- AV1 decoding

amf/public/common/AMFFactory.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,16 @@
3333
#include "AMFFactory.h"
3434
#include "Thread.h"
3535

36+
#ifdef __clang__
37+
#pragma clang diagnostic push
38+
#pragma clang diagnostic ignored "-Wexit-time-destructors"
39+
#pragma clang diagnostic ignored "-Wglobal-constructors"
40+
#endif
41+
3642
AMFFactoryHelper g_AMFFactory;
43+
#ifdef __clang__
44+
#pragma clang diagnostic pop
45+
#endif
3746

3847
#ifdef AMF_CORE_STATIC
3948
extern "C"
@@ -66,7 +75,11 @@ AMF_RESULT AMFFactoryHelper::Init()
6675
amf_atomic_inc(&m_iRefCount);
6776
return AMF_OK;
6877
}
78+
#ifdef _WIN32
6979
m_hDLLHandle = amf_load_library(AMF_DLL_NAME);
80+
#else
81+
m_hDLLHandle = amf_load_library1(AMF_DLL_NAME, false); //load with local flags
82+
#endif
7083
if(m_hDLLHandle == NULL)
7184
{
7285
return AMF_FAIL;
@@ -183,7 +196,11 @@ AMF_RESULT AMFFactoryHelper::LoadExternalComponent(amf::AMFContext* pContext, c
183196
component.m_hDLLHandle = NULL;
184197
component.m_DLL = dll;
185198

199+
#ifdef _WIN32
186200
hDll = amf_load_library(dll);
201+
#else
202+
hDll = amf_load_library1(dll, false); //global flag set to true
203+
#endif
187204
if (hDll == NULL)
188205
return AMF_FAIL;
189206

amf/public/common/AMFSTL.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,20 @@ extern "C"
6565

6666
using namespace amf;
6767

68+
#ifdef __clang__
69+
#pragma clang diagnostic push
70+
#pragma clang diagnostic ignored "-Wexit-time-destructors"
71+
#pragma clang diagnostic ignored "-Wglobal-constructors"
72+
#endif
73+
6874
static const amf_string AMF_FORBIDDEN_SYMBOLS = ":? %,;@&=+$<>#\"";
6975
static const amf_string AMF_FORBIDDEN_SYMBOLS_QUERY = ":? %,;@+$<>#\"";
7076

77+
#ifdef __clang__
78+
#pragma clang diagnostic pop
79+
#endif
80+
81+
7182
//MM: in question: unwise = "{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"
7283

7384
//----------------------------------------------------------------------------------------

amf/public/common/CurrentTimeImpl.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
#ifndef AMF_CurrentTimeImpl_h
2424
#define AMF_CurrentTimeImpl_h
2525

26-
#include "public/include/core/CurrentTime.h"
27-
#include "public/common/InterfaceImpl.h"
28-
#include "public/common/Thread.h"
26+
#include "../include/core/CurrentTime.h"
27+
#include "InterfaceImpl.h"
28+
#include "Thread.h"
2929

3030
namespace amf
3131
{

amf/public/common/Linux/ThreadLinux.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,6 +626,27 @@ amf_handle AMF_STD_CALL amf_load_library(const wchar_t* filename)
626626
return ret;
627627
}
628628

629+
amf_handle AMF_STD_CALL amf_load_library1(const wchar_t* filename, bool bGlobal)
630+
{
631+
void *ret;
632+
if (bGlobal) {
633+
ret = dlopen(amf_from_unicode_to_multibyte(filename).c_str(), RTLD_NOW | RTLD_GLOBAL);
634+
} else {
635+
#if defined(__ANDROID__)
636+
ret = dlopen(amf_from_unicode_to_multibyte(filename).c_str(), RTLD_NOW | RTLD_LOCAL);
637+
#else
638+
ret = dlopen(amf_from_unicode_to_multibyte(filename).c_str(), RTLD_NOW | RTLD_LOCAL| RTLD_DEEPBIND);
639+
#endif
640+
}
641+
642+
if(ret == 0)
643+
{
644+
const char *err = dlerror();
645+
int a=1;
646+
}
647+
return ret;
648+
}
649+
629650
void* AMF_STD_CALL amf_get_proc_address(amf_handle module, const char* procName)
630651
{
631652
return dlsym(module, procName);

0 commit comments

Comments
 (0)