Just some quick testing code.
---
 avconv.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/avconv.c b/avconv.c
index 908a0c7..778f487 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1074,6 +1074,27 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, 
int *got_output)
         return ret;
     }
 
+    /* log AVmatrixEncoding side data for the first frame */
+    static int dirty_counter = 0;
+    if (!dirty_counter) {
+        AVFrameSideData *side_data;
+        enum AVMatrixEncoding matrix_encoding;
+        if ((side_data = av_frame_get_side_data(decoded_frame,
+                                                
AV_FRAME_DATA_MATRIXENCODING))) {
+            matrix_encoding = *((enum AVMatrixEncoding*)side_data->data);
+            av_log(NULL, AV_LOG_FATAL, "Input Stream #%d.%d has matrix 
encoding: %s\n",
+                   ist->file_index, ist->st->index,
+                   matrix_encoding == AV_MATRIX_ENCODING_NONE           ? 
"None"                :
+                   matrix_encoding == AV_MATRIX_ENCODING_DOLBY          ? 
"Lt/Rt"               :
+                   matrix_encoding == AV_MATRIX_ENCODING_DPLII          ? 
"Dolby Pro Logic II"  :
+                   matrix_encoding == AV_MATRIX_ENCODING_DPLIIX         ? 
"Dolby Pro Logic IIx" :
+                   matrix_encoding == AV_MATRIX_ENCODING_DPLIIZ         ? 
"Dolby Pro Logic IIz" :
+                   matrix_encoding == AV_MATRIX_ENCODING_DOLBYEX        ? 
"Dolby EX"            :
+                   matrix_encoding == AV_MATRIX_ENCODING_DOLBYHEADPHONE ? 
"Dolby Headphone"     : "INVALID");
+        }
+        dirty_counter = 1;
+    }
+
     /* if the decoder provides a pts, use it instead of the last packet pts.
        the decoder could be delaying output by a packet or more. */
     if (decoded_frame->pts != AV_NOPTS_VALUE)
-- 
1.8.3.4 (Apple Git-47)

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to