Navigation Menu

Skip to content

Commit

Permalink
* mediainfo 18.12
Browse files Browse the repository at this point in the history
  • Loading branch information
pavel-pimenov committed Feb 3, 2019
1 parent 49f2dc3 commit e0dd525
Show file tree
Hide file tree
Showing 33 changed files with 317 additions and 520 deletions.
4 changes: 2 additions & 2 deletions MediaInfoLib/Source/MediaInfo/Audio/File_Aac_GeneralAudio.cpp
Expand Up @@ -245,8 +245,8 @@ void File_Aac::program_config_element()
{
case 0 : break;
case 1 : Channels_Positions+=__T(", Back: C"); ChannelLayout+=__T("Cs "); break;
case 2 : Channels_Positions+=__T(", Back: L R"); ChannelLayout+=__T("Rls Rrs "); break;
case 3 : Channels_Positions+=__T(", Back: L C R"); ChannelLayout+=__T("Rls Cs Rrs "); break;
case 2 : Channels_Positions+=__T(", Back: L R"); ChannelLayout+=__T("Lrs Rrs "); break;
case 3 : Channels_Positions+=__T(", Back: L C R"); ChannelLayout+=__T("Lrs Rrs Cs "); break;
default : Channels_Positions+=__T(", Back: "); Channels_Positions+=Ztring::ToZtring(Channels_Back); ChannelLayout+=__T("? "); //Which config?
}
switch (Channels_LFE)
Expand Down
4 changes: 2 additions & 2 deletions MediaInfoLib/Source/MediaInfo/Audio/File_DolbyE.cpp
Expand Up @@ -48,11 +48,11 @@ namespace MediaInfoLib
//***************************************************************************

//---------------------------------------------------------------------------
const int8u DolbyE_Programs[64]=
static const int8u DolbyE_Programs[64]=
{2, 3, 2, 3, 4, 5, 4, 5, 6, 7, 8, 1, 2, 3, 3, 4, 5, 6, 1, 2, 3, 4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

//---------------------------------------------------------------------------
const int8u DolbyE_Channels[64]=
static const int8u DolbyE_Channels[64]=
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

//---------------------------------------------------------------------------
Expand Down
5 changes: 1 addition & 4 deletions MediaInfoLib/Source/MediaInfo/Audio/File_Mpega.cpp
Expand Up @@ -1034,7 +1034,7 @@ void File_Mpega::Data_Parse()
}

//error_check
if (protection_bit)
if (!protection_bit)
{
Element_Begin1("error_check");
Skip_B2( "crc_check");
Expand Down Expand Up @@ -1297,9 +1297,6 @@ bool File_Mpega::Header_Xing()
if (Lame || Lib=="LAME" || Lib=="GOGO" || Lib=="L3.9")
Header_Encoders_Lame();

if (CC4(Xing_Header)==CC4("Info"))
VBR_Frames=0; //This is not a VBR file

//Clearing Error detection
sampling_frequency_Count.clear();
mode_Count.clear();
Expand Down
10 changes: 5 additions & 5 deletions MediaInfoLib/Source/MediaInfo/File__Analyze.cpp
Expand Up @@ -2229,15 +2229,15 @@ bool File__Analyze::Header_Manage()
}
else
{
if (Element_Level<2)
return false;
//Can not synchronize anymore in this block
if(Element_Level<2)
return false;
//Can not synchronize anymore in this block
Element_Offset=Element[Element_Level-2].Next-(File_Offset+Buffer_Offset);
Header_Fill_Size(Element_Offset);
}
}
if (Element_Level<1)
return false;
if(Element_Level<1)
return false;
if (Element_IsWaitingForMoreData() || ((DataMustAlwaysBeComplete && Element[Element_Level-1].Next>File_Offset+Buffer_Size) || File_GoTo!=(int64u)-1) //Wait or want to have a comple data chunk
#if MEDIAINFO_DEMUX
|| (Config->Demux_EventWasSent)
Expand Down
12 changes: 11 additions & 1 deletion MediaInfoLib/Source/MediaInfo/File__Analyze.h
Expand Up @@ -63,6 +63,16 @@ struct buffer_data
}
};

static inline int8u ReverseBits(int8u c)
{
// Input: bit order is 76543210
//Output: bit order is 01234567
c = (c & 0x0F) << 4 | (c & 0xF0) >> 4;
c = (c & 0x33) << 2 | (c & 0xCC) >> 2;
c = (c & 0x55) << 1 | (c & 0xAA) >> 1;
return c;
}

#if !MEDIAINFO_TRACE
#include "MediaInfo/File__Analyze_MinimizeSize.h"
#else
Expand Down Expand Up @@ -791,7 +801,7 @@ public :
};
#define VLC_END \
{(int32u)-1, (int8u)-1, 0, 0, 0}
void Get_VL_Prepare(vlc_fast &Vlc);
static void Get_VL_Prepare(vlc_fast &Vlc);
void Get_VL (const vlc Vlc[], size_t &Info, const char* Name);
void Get_VL (vlc_fast &Vlc, size_t &Info, const char* Name);
void Skip_VL(const vlc Vlc[], const char* Name);
Expand Down
Expand Up @@ -1064,30 +1064,7 @@ void File__Analyze::Get_VL_(const vlc Vlc[], size_t &Info)
void File__Analyze::Skip_VL_(const vlc Vlc[])
{
size_t Info=0;
int32u Value=0;

for(;;)
{
switch (Vlc[Info].bit_increment)
{
case 255 :
Trusted_IsNot();
return;
default : ;
Value<<=Vlc[Info].bit_increment;
Value|=BS->Get1(Vlc[Info].bit_increment);
break;
case 1 :
Value<<=1;
if (BS->GetB())
Value++;
case 0 : ;
}

if (Value==Vlc[Info].value)
return;
Info++;
}
Get_VL_(Vlc, Info);
}

//---------------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion MediaInfoLib/Source/MediaInfo/File__Analyze_MinimizeSize.h
Expand Up @@ -669,7 +669,7 @@ public :
};
#define VLC_END \
{(int32u)-1, (int8u)-1, 0, 0, 0}
void Get_VL_Prepare(vlc_fast &Vlc);
static void Get_VL_Prepare(vlc_fast &Vlc);
void Get_VL_ (const vlc Vlc[], size_t &Info);
void Get_VL_ (const vlc_fast &Vlc, size_t &Info);
#define Get_VL(Vlc, Info, Name) Get_VL_(Vlc, Info);
Expand Down
80 changes: 15 additions & 65 deletions MediaInfoLib/Source/MediaInfo/MediaInfo_Config.cpp
Expand Up @@ -2580,11 +2580,9 @@ const Ztring MediaInfo_Config::Iso639_Translate (const Ztring& Value)
}

//---------------------------------------------------------------------------
const Ztring &MediaInfo_Config::Info_Get (stream_t KindOfStream, const Ztring &Value, info_t KindOfInfo)
void MediaInfo_Config::Language_Set_Internal(stream_t KindOfStream)
{
//Loading codec table if not yet done
{
CriticalSectionLocker CSL(CS);
if (Info[KindOfStream].empty())
switch (KindOfStream)
{
Expand All @@ -2595,9 +2593,14 @@ const Ztring &MediaInfo_Config::Info_Get (stream_t KindOfStream, const Ztring &V
case Stream_Other : MediaInfo_Config_Other(Info[Stream_Other]); Language_Set(Stream_Other); break;
case Stream_Image : MediaInfo_Config_Image(Info[Stream_Image]); Language_Set(Stream_Image); break;
case Stream_Menu : MediaInfo_Config_Menu(Info[Stream_Menu]); Language_Set(Stream_Menu); break;
default:;
default:;
}
}
}

//---------------------------------------------------------------------------
const Ztring &MediaInfo_Config::Info_Get (stream_t KindOfStream, const Ztring &Value, info_t KindOfInfo)
{
Language_Set_All(KindOfStream);
if (KindOfStream>=Stream_Max)
return EmptyString_Get();
size_t Pos=Info[KindOfStream].Find(Value);
Expand All @@ -2608,22 +2611,8 @@ const Ztring &MediaInfo_Config::Info_Get (stream_t KindOfStream, const Ztring &V

const Ztring &MediaInfo_Config::Info_Get (stream_t KindOfStream, size_t Pos, info_t KindOfInfo)
{
//Loading codec table if not yet done
{
CriticalSectionLocker CSL(CS);
if (Info[KindOfStream].empty())
switch (KindOfStream)
{
case Stream_General : MediaInfo_Config_General(Info[Stream_General]); Language_Set(Stream_General); break;
case Stream_Video : MediaInfo_Config_Video(Info[Stream_Video]); Language_Set(Stream_Video); break;
case Stream_Audio : MediaInfo_Config_Audio(Info[Stream_Audio]); Language_Set(Stream_Audio); break;
case Stream_Text : MediaInfo_Config_Text(Info[Stream_Text]); Language_Set(Stream_Text); break;
case Stream_Other : MediaInfo_Config_Other(Info[Stream_Other]); Language_Set(Stream_Other); break;
case Stream_Image : MediaInfo_Config_Image(Info[Stream_Image]); Language_Set(Stream_Image); break;
case Stream_Menu : MediaInfo_Config_Menu(Info[Stream_Menu]); Language_Set(Stream_Menu); break;
default:;
}
}
Language_Set_All(KindOfStream);

if (KindOfStream>=Stream_Max)
return EmptyString_Get();
if (Pos>=Info[KindOfStream].size() || (size_t)KindOfInfo>=Info[KindOfStream][Pos].size())
Expand All @@ -2636,22 +2625,8 @@ const ZtringListList &MediaInfo_Config::Info_Get(stream_t KindOfStream)
if (KindOfStream>=Stream_Max)
return EmptyStringListList_Get();

//Loading codec table if not yet done
{
CriticalSectionLocker CSL(CS);
if (Info[KindOfStream].empty())
switch (KindOfStream)
{
case Stream_General : MediaInfo_Config_General(Info[Stream_General]); Language_Set(Stream_General); break;
case Stream_Video : MediaInfo_Config_Video(Info[Stream_Video]); Language_Set(Stream_Video); break;
case Stream_Audio : MediaInfo_Config_Audio(Info[Stream_Audio]); Language_Set(Stream_Audio); break;
case Stream_Text : MediaInfo_Config_Text(Info[Stream_Text]); Language_Set(Stream_Text); break;
case Stream_Other : MediaInfo_Config_Other(Info[Stream_Other]); Language_Set(Stream_Other); break;
case Stream_Image : MediaInfo_Config_Image(Info[Stream_Image]); Language_Set(Stream_Image); break;
case Stream_Menu : MediaInfo_Config_Menu(Info[Stream_Menu]); Language_Set(Stream_Menu); break;
default:;
}
}
Language_Set_All(KindOfStream);

return Info[KindOfStream];
}

Expand Down Expand Up @@ -3034,20 +3009,7 @@ Ztring MediaInfo_Config::MAXML_StreamKinds_Get ()
CriticalSectionLocker CSL(CS);
for (size_t StreamKind=0; StreamKind<Stream_Max; StreamKind++)
{
if (Info[StreamKind].empty())
{
switch (StreamKind)
{
case Stream_General : MediaInfo_Config_General(Info[Stream_General]); Language_Set(Stream_General); break;
case Stream_Video : MediaInfo_Config_Video(Info[Stream_Video]); Language_Set(Stream_Video); break;
case Stream_Audio : MediaInfo_Config_Audio(Info[Stream_Audio]); Language_Set(Stream_Audio); break;
case Stream_Text : MediaInfo_Config_Text(Info[Stream_Text]); Language_Set(Stream_Text); break;
case Stream_Other : MediaInfo_Config_Other(Info[Stream_Other]); Language_Set(Stream_Other); break;
case Stream_Image : MediaInfo_Config_Image(Info[Stream_Image]); Language_Set(Stream_Image); break;
case Stream_Menu : MediaInfo_Config_Menu(Info[Stream_Menu]); Language_Set(Stream_Menu); break;
default:;
}
}
Language_Set_Internal(stream_t(StreamKind));
List.push_back(Info[StreamKind](__T("StreamKind"), Info_Name, Info_Text));
}

Expand All @@ -3065,20 +3027,8 @@ Ztring MediaInfo_Config::MAXML_Fields_Get (const Ztring &StreamKind_String)
size_t StreamKind=Stream_General;
for (; StreamKind<Stream_Max; StreamKind++)
{
if (Info[StreamKind].empty())
{
switch (StreamKind)
{
case Stream_General : MediaInfo_Config_General(Info[Stream_General]); Language_Set(Stream_General); break;
case Stream_Video : MediaInfo_Config_Video(Info[Stream_Video]); Language_Set(Stream_Video); break;
case Stream_Audio : MediaInfo_Config_Audio(Info[Stream_Audio]); Language_Set(Stream_Audio); break;
case Stream_Text : MediaInfo_Config_Text(Info[Stream_Text]); Language_Set(Stream_Text); break;
case Stream_Other : MediaInfo_Config_Other(Info[Stream_Other]); Language_Set(Stream_Other); break;
case Stream_Image : MediaInfo_Config_Image(Info[Stream_Image]); Language_Set(Stream_Image); break;
case Stream_Menu : MediaInfo_Config_Menu(Info[Stream_Menu]); Language_Set(Stream_Menu); break;
default:;
}
}
Language_Set_Internal(stream_t(StreamKind));

if (StreamKind_String==Info[StreamKind](__T("StreamKind"), Info_Name, Info_Text))
break;
}
Expand Down
7 changes: 6 additions & 1 deletion MediaInfoLib/Source/MediaInfo/MediaInfo_Config.h
Expand Up @@ -451,7 +451,12 @@ private :
ZenLib::CriticalSection CS;

void Language_Set (stream_t StreamKind);

void Language_Set_Internal(stream_t KindOfStream);
void Language_Set_All(stream_t KindOfStream)
{
CriticalSectionLocker CSL(CS);
Language_Set_Internal(KindOfStream);
}
//Event
#if MEDIAINFO_EVENTS
MediaInfo_Event_CallBackFunction* Event_CallBackFunction; //void Event_Handler(unsigned char* Data_Content, size_t Data_Size, void* UserHandler)
Expand Down
13 changes: 0 additions & 13 deletions MediaInfoLib/Source/MediaInfo/Multiple/File_Mk.cpp
Expand Up @@ -548,19 +548,6 @@ static const char* Mk_StereoMode(int64u StereoMode)
}
}

//---------------------------------------------------------------------------
static const char* Mk_OldStereoMode(int64u StereoMode)
{
switch (StereoMode)
{
case 0x00 : return ""; //Mono (default)
case 0x01 : return "Right Eye";
case 0x02 : return "Left Eye";
case 0x03 : return "Both Eye";
default : return "";
}
}

//---------------------------------------------------------------------------
static const char* Mk_OriginalSourceMedium_From_Source_ID (const Ztring &Value)
{
Expand Down
31 changes: 1 addition & 30 deletions MediaInfoLib/Source/MediaInfo/Multiple/File_Mpeg_Descriptors.cpp
Expand Up @@ -28,6 +28,7 @@
#if defined(MEDIAINFO_EIA608_YES) || defined(MEDIAINFO_EIA708_YES)
#include "MediaInfo/MediaInfo_Config_MediaInfo.h"
#endif //defined(MEDIAINFO_EIA608_YES) || defined(MEDIAINFO_EIA708_YES)
#include "MediaInfo/TimeCode.h"
#include <cmath>
using namespace std;
using namespace ZenLib;
Expand Down Expand Up @@ -3606,36 +3607,6 @@ void File_Mpeg_Descriptors::Get_DVB_Text(int64u Size, Ztring &Value, const char*
Get_Local(Size, Value, Info);
}

//---------------------------------------------------------------------------
//Modified Julian Date
Ztring File_Mpeg_Descriptors::Date_MJD(int16u Date_)
{
//Calculating
float64 Date=Date_;
int Y2=(int)((Date-15078.2)/365.25);
int M2=(int)(((Date-14956.1) - ((int)(Y2*365.25))) /30.6001);
int D =(int)(Date-14956 - ((int)(Y2*365.25)) - ((int)(M2*30.6001)));
int K=0;
if (M2==14 || M2==15)
K=1;
int Y =Y2+K;
int M =M2-1-K*12;

//Formating
return Ztring::ToZtring(1900+Y)+__T("-")
+ (M<10?__T("0"):__T(""))+Ztring::ToZtring( M)+__T("-")
+ (D<10?__T("0"):__T(""))+Ztring::ToZtring( D);
}

//---------------------------------------------------------------------------
//Form: HHMMSS, BCD
Ztring File_Mpeg_Descriptors::Time_BCD(int32u Time)
{
return (((Time>>16)&0xFF)<10?__T("0"):__T("")) + Ztring::ToZtring((Time>>16)&0xFF, 16)+__T(":") //BCD
+ (((Time>> 8)&0xFF)<10?__T("0"):__T("")) + Ztring::ToZtring((Time>> 8)&0xFF, 16)+__T(":") //BCD
+ (((Time )&0xFF)<10?__T("0"):__T("")) + Ztring::ToZtring((Time )&0xFF, 16); //BCD
}

//---------------------------------------------------------------------------
//Form: HHMM, BCD
Ztring File_Mpeg_Descriptors::TimeHHMM_BCD(int16u Time)
Expand Down
Expand Up @@ -859,11 +859,9 @@ private :
void ATSC_multiple_string_structure(Ztring &Value, const char* Info);
void Get_DVB_Text(int64u Size, Ztring &Value, const char* Info);
void Skip_DVB_Text(int64u Size, const char* Info) {Ztring Temp; Get_DVB_Text(Size, Temp, Info);};
Ztring Date_MJD(int16u Date);
Ztring Time_BCD(int32u Time);
Ztring TimeHHMM_BCD(int16u Time);
Ztring Frequency_DVB__BCD(int32u Frequency);
Ztring OrbitalPosition_DVB__BCD(int32u OrbitalPosition);
static Ztring TimeHHMM_BCD(int16u Time);
static Ztring Frequency_DVB__BCD(int32u Frequency);
static Ztring OrbitalPosition_DVB__BCD(int32u OrbitalPosition);
};

} //NameSpace
Expand Down
31 changes: 1 addition & 30 deletions MediaInfoLib/Source/MediaInfo/Multiple/File_Mpeg_Psi.cpp
Expand Up @@ -25,6 +25,7 @@
#include "MediaInfo/Multiple/File_Mpeg_Descriptors.h"
#include "MediaInfo/MediaInfo_Config_MediaInfo.h"
#include "MediaInfo/MediaInfo_Internal.h"
#include "MediaInfo/TimeCode.h"
#if defined(MEDIAINFO_DIRECTORY_YES)
#include "ZenLib/Dir.h"
#endif //defined(MEDIAINFO_DIRECTORY_YES)
Expand Down Expand Up @@ -2402,36 +2403,6 @@ void File_Mpeg_Psi::SCTE_multilingual_text_string(int8u Size, Ztring &Value, con
Element_End0();
}

//---------------------------------------------------------------------------
//Modified Julian Date
Ztring File_Mpeg_Psi::Date_MJD(int16u Date_)
{
//Calculating
float64 Date=Date_;
int Y2=(int)((Date-15078.2)/365.25);
int M2=(int)(((Date-14956.1) - ((int)(Y2*365.25))) /30.6001);
int D =(int)(Date-14956 - ((int)(Y2*365.25)) - ((int)(M2*30.6001)));
int K=0;
if (M2==14 || M2==15)
K=1;
int Y =Y2+K;
int M =M2-1-K*12;

//Formating
return Ztring::ToZtring(1900+Y)+__T("-")
+ (M<10?__T("0"):__T(""))+Ztring::ToZtring( M)+__T("-")
+ (D<10?__T("0"):__T(""))+Ztring::ToZtring( D);
}

//---------------------------------------------------------------------------
//Form: HHMMSS, BCD
Ztring File_Mpeg_Psi::Time_BCD(int32u Time)
{
return (((Time>>16)&0xFF)<10?__T("0"):__T("")) + Ztring::ToZtring((Time>>16)&0xFF, 16)+__T(":") //BCD
+ (((Time>> 8)&0xFF)<10?__T("0"):__T("")) + Ztring::ToZtring((Time>> 8)&0xFF, 16)+__T(":") //BCD
+ (((Time )&0xFF)<10?__T("0"):__T("")) + Ztring::ToZtring((Time )&0xFF, 16); //BCD
}

//***************************************************************************
// Helpers
//***************************************************************************
Expand Down

0 comments on commit e0dd525

Please sign in to comment.