10

संपादित करें:एंड्रॉयड MediaCodec एनकोडर - सैमसंग डिवाइस के लिए अजीब परिणाम

लगता है इस मुद्दे को इस डिवाइस 16 आयामों के कई नहीं की जरूरत है ... लेकिन 32. बात के कई है, मैं अभी भी पता नहीं कैसे है एक समस्याग्रस्त डिवाइस के रूप में क्या निर्धारित करता है यह निर्धारित करने के लिए। यह qcom का उपयोग करने के लिए प्रतीत होता है (जिसे मैंने एंड्रॉइड 4.X पर समस्याग्रस्त माना है, लेकिन यह एंड्रॉइड 5.1.1 है)।


अपने Android एप्लिकेशन में एक वीडियो एन्कोडिंग कर रहा हूँ। मैं ऐसा करने के लिए एंड्रॉइड मीडियाकोडेक का उपयोग कर रहा हूं, प्रत्येक फ्रेम के आरजीबी को वाईयूवी में परिवर्तित कर रहा हूं और पिक्सेल में गुजर रहा हूं।

मैं जिस कोड का उपयोग करता हूं वह थोड़ी देर के लिए जगह पर है, और किसी भी डिवाइस पर काम करता है जो मैंने पार किया है।

एक उपयोगकर्ता मुझे एक बग रिपोर्ट के साथ आया कि उनके एमपी 4 अजीब बाहर आ रहे थे। डिवाइस सैमसंग T337A (गैलेक्सी टैब 4) है।

यहाँ MP4 निर्यात की तरह लग रहे हैं:

enter image description here

नोट - जो कुछ भी अजीब कारण से, यह सभी प्रस्तावों पर नहीं होता है। यह 768x432 और 1280x720 पर होने की पुष्टि है लेकिन उदाहरण के लिए 640x352 पर नहीं होता है (मेरा ऐप यह सुनिश्चित करता है कि सभी संकल्प डिफ़ॉल्ट रूप से 16 तक विभाजित हो जाएं)।

पर नेक्सस 5X (जो समान सेमी-प्लानर वाईयूवी प्रारूप का उपयोग करता है) आउटपुट सभी संकल्पों पर काम करता है।

तो यह इस डिवाइस के साथ कुछ है, और शायद अन्य डिवाइस जिन्हें मैं नहीं जानता?


मैं सभी उत्पादन देखा है, और यह सामान्य और Nexus 5X मैं उपर्युक्त (जो समय की 100% काम करता है) के समान लगता है।

मीडियाकोडसीइन्फो का उपयोग किया जा रहा है OMX.qcom.video.encoder.avc, रंग प्रारूप का उपयोग 2135033992 है (जो COLOR_FormatYUV420Flexible है)। तो मूल रूप से, अजीब कुछ भी नहीं।

कोड थोड़ा विस्तारक है, यदि आवश्यक हो तो मैं पोस्ट करूंगा, लेकिन यह क्यों होता है इसके सामान्य विचारों की तलाश में। अगर यह अधिक आम था मुझे समझ में चाहते हैं, लेकिन एक ही कोड अन्य उपकरणों की एक विशाल सरणी के लिए काम करता है, तो कुछ अजीब हो रहा है ...

उत्तर

2

करें कि आप सही प्रगति और बफर ऑफसेट महत्व देता

का उपयोग करें कि
+0

वैसे मैं 'छवि' ऑब्जेक्ट से 'प्लान []' को 'इनपुट इमेज.जेटप्लानेस()' में प्रत्येक व्यक्ति वाई, यू, वी प्लेन को पकड़कर पीछा करता हूं। मैं फिर यू-प्लेन 'विमानों [1] से निकलता हूं .getPixelStride' जो या तो 1 या 2 (प्लानर या सेमीप्लानर) है और दोनों को सभी प्रकार के उपकरणों के लिए जिम्मेदार और सटीक रूप से काम किया जाता है। यह 2 का पीछा करता है, लेकिन सिर्फ दूसरों की तरह काम नहीं करता है? ** बफर ऑफसेट मान ** का मतलब क्या है, यदि आप मेरा विस्तार नहीं करते हैं? मुझे जो चाहिए वह हो सकता है, धन्यवाद! – FTLRalph

+0

समस्या यह है कि इस डिवाइस को 16 आयामों की शक्ति की आवश्यकता नहीं है ... लेकिन 32 की शक्ति। बात यह है कि मुझे अभी भी पता नहीं है कि समस्याग्रस्त डिवाइस के रूप में क्या मात्रा निर्धारित होती है। यह qcom का उपयोग करने के लिए प्रतीत होता है (जिसे मैंने एंड्रॉइड 4.X पर समस्याग्रस्त माना है, लेकिन यह एंड्रॉइड 5.1.1 है)। – FTLRalph

संबंधित मुद्दे