كيفية التفاف معلمة مكتبة ج?(إنشاء س 264. صافي المجمع)

StackOverflow https://stackoverflow.com/questions/3223107

سؤال

حتى في دلل لدينا x264_param_t هيكل \ كائن وظيفة لإعداد لها x264_param_apply_profile.في ج نستخدم هذا الرمز لإعداده

x264_param_t param;
x264_param_default_preset(&param, "veryfast", "zerolatency");
param.i_threads = 1;
param.i_width = width;
param.i_height = height;
param.i_fps_num = fps;
param.i_fps_den = 1;
// Intra refres:
param.i_keyint_max = fps;
param.b_intra_refresh = 1;
//Rate control:
param.rc.i_rc_method = X264_RC_CRF;
param.rc.f_rf_constant = 25;
param.rc.f_rf_constant_max = 35;
//For streaming:
param.b_repeat_headers = 1;
param.b_annexb = 1;
x264_param_apply_profile(&param, "baseline");

أريد إنشاء المجمع لمثل هذا..شيء.لذلك لدي ليبكس 264.دلل وفيسوال ستوديو 2010 برو.

صافي ج # المجمع لذلك?

أنا مبتدئ في ف \ استدعاء الاشياء لذلك أنا لا تحصل على الكثير من ذلك...

ما أريد تحقيقه هو الإطار حسب مستوى إطار العمل مع س 264...الآن أنا بحاجة فقط ترميز أجزاء...وجميع التعليمات البرمجية عينة اللازمة للقيام بذلك في ج في كيف واحد ترميز سلسلة من الصور إلى ح264 باستخدام اكس264 ج أبي? .لذلك أنا بحاجة إلى كتابة المجمع فقط للأشياء المذكورة هناك...لذلك أنا أسأل-كيفية إنشاء المجمع على المعلمة وعلى وظيفة أن يضع ثاب بارام.وأود أن أرى كيفية استدعاء هذا المجمع مرة أخرى من ج#.حتى إذا كنت يمكن أن توفر أي رمز في دعم سأكون سعيدا لرؤيتها.

هل كانت مفيدة؟

المحلول

بدلا من محاولة هذا (و زيليونات رموز أخرى) نفسك ، قد أقترح عليك محاولة ممتاز ميجوي?تم تطويره في ج # ويدعم كل من س 264 ، وعلى استعداد لاستخدامها في ج# أو مشروع صافي آخر.لا حاجة إلى أغلفة ، لقد فعلوا كل ذلك من أجلك بالفعل.

في حين أنه لن يكون من الصعب بشكل رهيب لاستدعاء وظيفة مكتبة ج باستخدام ج# ، إذا كنت ترغب في أن تفعل كل شيء بنفسك ، أود أن أقترح عليك إلقاء نظرة على http://pinvoke.net, ، والتي تمنحك العديد من الأمثلة حول كيفية القيام بذلك بنفسك.

نصائح أخرى

والمثير للدهشة، في كل هذه السنوات ، يبدو أن لا أحد قد بنيت وتقاسمت حتى أبسط المجمع نيت ل ليبكس 264.لذلك أنا بنيت مؤخرا واحد الذي أسميه "س 264 نت" ووضعه على جيثب ، هنا: https://github.com/bp2008/x264net

المجمع هو التبسيط جدا في هذا الوقت ، مما يجعلها مثالا جيدا على كيفية الوصول إلى مكتبات ج من لغات صافي.لم أكن استخدام ص / استدعاء ، لأنني أجد صعوبة في العمل مع.بدلا من ذلك ، استخدمت لغة تسمى "ج/ / كلي" لإنشاء طبقة التشغيل البيني.ج/ / كلي هي لغة تقوم على ج which التي يمكن الوصول إلى الأصلي ج / ج libraries المكتبات ، في حين أن نفسها يمكن الوصول إليها من قبل التعليمات البرمجية.لذلك يسد الفجوة بين التعليمات البرمجية المدارة والأصلية مثل الكثير من ف/استدعاء يفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top