рд╕рдВрдХрд▓рдХ рдХреЛ рджреЛрд╖ рджреЗрдирд╛ рд╣реИ

рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╡рд┐рднрд┐рдиреНрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдХреЛ рджреЛрд╖ рджреЗрдиреЗ рдХреЗ рдмрд╣реБрдд рд╢реМрдХреАрди рд╣реИрдВред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХреЛрдИ рд▓рдбрд╝рдХрд╛ рдерд╛?


рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ, рддреЛ 99% рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдЭреВрда рд╣реИред рдЬрдм рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд╛рд░рдг рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ:

рдХрдИ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕реБрдзрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓реЗ рдЧрдПред рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдкрдврд╝реЗрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд░реБрдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдирд╢реНрд╡рд░ рдкрд╛рдкреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдХреЛ рджреЛрд╖ рджреЗрддрд╛ рд╣реИред рд╣рд░ рдмрд╛рд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдпрд╣ рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рджреЛрд╖ рджреЗрдирд╛ рд╣реИред

рдмреЗрд╢рдХ, рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рджреЗрд╢реА рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдмрд╣реБрдд рдХрдо рд╣реИред рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реА ++ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рджреЗрдЦрд╛ рдЬрдм рдпрд╣ рдЧрд▓рдд рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

рдЫреЛрдЯреА рд╕рд┐рдлрд╛рд░рд┐рд╢


рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рд╕рдВрдХрд▓рдХ рдХреЛ рджреЛрд╖ рджреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдб рдореЗрдВ рдпрд╛ рдордВрдЪ рдкрд░ рд▓рд┐рдЦреЗрдВ, рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рддреЗрдЬреА рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдВрдЧреЗред рджреВрд╕рд░реЗ, рдЖрдк рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдЖрдБрдЦреЛрдВ рдореЗрдВ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЗ рджреЛрд╖ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВрдЧреЗред

рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕ рдиреЛрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛


рдЖрдЬ рдореИрдВ ffdshow рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рд╕реЗ рдмреЗрд╣рдж рдЪрдХрд┐рдд рдерд╛ред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:
TprintPrefs::TprintPrefs(IffdshowBase *Ideci, const TfontSettings *IfontSettings) { memset(this, 0, sizeof(this)); // This doesn't seem to // help after optimization. dx = dy = 0; isOSD = false; xpos = ypos = 0; align = 0; linespacing = 0; sizeDx = 0; sizeDy = 0; ... } 

рдЯрд┐рдкреНрдкрдгреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреИрд╕реЗ рдирд╛рд░рд╛рдЬ рдерд╛ред рдЖрд╣, рдпрд╣ рдЕрдкреНрд░рд┐рдп рд╕рдВрдХрд▓рдХ! рдбреАрдмрдЧ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╕рднреА рдЪрд░ 0. рд╣реИрдВред рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЯреВрдЯреЗ рд╣реБрдП рдЕрдиреБрдХреВрд▓рди рдХреЗ рдХрд╛рд░рдг, рдЙрдирдХреЗ рдкрд╛рд╕ рдХрдЪрд░рд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрдкрдорд╛рди рд╣реИ! рдмреБрд░рд╛, рдмреБрд░рд╛ рд╕рдВрдХрд▓рдХ!

рд╕рдВрдХрд▓рдХ рдХреЛ рдбрд╛рдВрдЯрддреЗ рд╣реБрдП, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдПрдХ рджреЛрд╖рдкреВрд░реНрдг рдЯрд┐рдкреНрдкрдгреА рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдФрд░ рд╡рд╣ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрдХреНрд╖рд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рджрд╕реНрдп рдХреЛ рдЕрд╢рдХреНрдд рдХрд░рддрд╛ рд╣реИред рдмреБрд░рд╛рдИ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдкрд░ рд╕рд╛рд╣рд╕ рдХреА рдЬреАрддред

рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрдХреНрддрд┐ рдЖрд╢реНрд╡рд╕реНрдд рд░рд╣реЗрдЧрд╛ рдХрд┐ рдЙрд╕реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рдмрдЧ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдФрд░ рд╡рд╣ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЙрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ рдЙрд╕реЗ рдХреИрд╕рд╛ рдиреБрдХрд╕рд╛рди рдЙрдард╛рдирд╛ рдкрдбрд╝рд╛ред

рдпрджрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рднреА рд╣рд╛рд╕реНрдп рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдореЗрдорд╕реЗрдЯ () рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддреАрд╕рд░рд╛ рддрд░реНрдХ рд╕реВрдЪрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рд╕рдВрд░рдЪрдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред рд╕рд╣реА рдХреЙрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП: "рдореЗрдорд╕реЗрдЯ (рдпрд╣, 0, рдЖрдХрд╛рд░ рдХрд╛ (* рдпрд╣));"ред

рд╡реИрд╕реЗ, рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдмрдЧрд▓ рдореЗрдВ, рдореЗрдорд╕реАрдкреА () рдлрд╝рдВрдХреНрд╢рди рднреА рдЦрд░рд╛рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡рд╣ рд╕рдВрдХрд▓рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреБрдЯрд┐рд▓ рд╣рд╛рде рдорд╛рдирддрд╛ рд╣реИред
 void Assign(const AVSValue* src, bool init) { if (src->IsClip() && src->clip) src->clip->AddRef(); if (!init && IsClip() && clip) clip->Release(); // make sure this copies the whole struct! //((__int32*)this)[0] = ((__int32*)src)[0]; //((__int32*)this)[1] = ((__int32*)src)[1]; memcpy(this,src,sizeof(this)); } 

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рддрдм рдЙрдиреНрд╣реЛрдВрдиреЗ 'рдореЗрдорд╕реАрдкреА (') рдлрдВрдХреНрд╢рди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рд╢рд╛рдпрдж рдЙрд╕рдиреЗ 64-рдмрд┐рдЯ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рд╡рд╣рд╛рдВ, рд╕реВрдЪрдХ рдХрд╛ рдЖрдХрд╛рд░ 8 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдЕрд░реНрдерд╛рддреН 8 рдмрд╛рдЗрдЯреНрд╕, рд╡рд╣ рдХреЙрдкреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

рддреНрд░реБрдЯрд┐ рдлрд┐рд░ рддреАрд╕рд░реЗ рддрд░реНрдХ рдореЗрдВ рд╣реИред рдЗрд╕реЗ "рд╕рд╛рдЗрдЬрд╝реЛрдлрд╝ (* рдпрд╣)" рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдФрд░ рдЗрд╕рд▓рд┐рдП рдмрдЧреНрдЧреА рд╕рдВрдХрд▓рдХ рдФрд░ рдмрд╣рд╛рджреБрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рдВрд╡рджрдВрддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рд╕рд╛рде рд▓рдбрд╝рддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЕрдЧрд░ рдХреБрдЫ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рджреЗрдЦреЗрдВред

Source: https://habr.com/ru/post/In150970/


All Articles