LordSputnik

libav problem - minimal code snippet

Apr 18th, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.37 KB | None | 0 0
  1. #include "libavcodec/avcodec.h"
  2. #include "libavformat/avformat.h"
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.     av_register_all();
  7.     av_log_set_level(AV_LOG_DEBUG);
  8.  
  9.     AVFormatContext* format_context = NULL;
  10.  
  11.     avformat_open_input(&format_context, argv[1], NULL, NULL);
  12.  
  13.     avformat_find_stream_info(format_context, NULL);
  14.  
  15.     int stream_no = av_find_best_stream(format_context,AVMEDIA_TYPE_AUDIO,-1,-1,NULL,0);
  16.     AVStream* stream = format_context->streams[stream_no];
  17.  
  18.     AVCodec* codec = avcodec_find_decoder(stream->codec->codec_id);
  19.     avcodec_open2(stream->codec, codec, NULL);
  20.  
  21.     AVPacket input_packet;
  22.     av_init_packet(&input_packet);
  23.     input_packet.data = NULL;
  24.     input_packet.size = 0;
  25.  
  26.     av_read_frame(format_context, &input_packet);
  27.  
  28.     int decoded;
  29.     AVFrame* frame = avcodec_alloc_frame();
  30.  
  31.     AVCodecContext* codec_context = stream->codec;
  32.     avcodec_decode_audio4(codec_context, frame, &decoded, &input_packet);
  33. }
  34.  
  35.  
  36. ///////////////////////////////////////////////////////////////////////////////
  37. // OUTPUT
  38. ///////////////////////////////////////////////////////////////////////////////
  39. // [flac @ 0x991040] Probed with size=2048 and score=50
  40. // [mjpeg @ 0x994b80] marker=d8 avail_size_in_buf=43302
  41. // [mjpeg @ 0x994b80] marker parser used 0 bytes (0 bits)
  42. // [mjpeg @ 0x994b80] marker=e0 avail_size_in_buf=43300
  43. // [mjpeg @ 0x994b80] marker parser used 16 bytes (128 bits)
  44. // [mjpeg @ 0x994b80] marker=db avail_size_in_buf=43282
  45. // [mjpeg @ 0x994b80] index=0
  46. // [mjpeg @ 0x994b80] qscale[0]: 3
  47. // [mjpeg @ 0x994b80] marker parser used 67 bytes (536 bits)
  48. // [mjpeg @ 0x994b80] marker=db avail_size_in_buf=43213
  49. // [mjpeg @ 0x994b80] index=1
  50. // [mjpeg @ 0x994b80] qscale[1]: 6
  51. // [mjpeg @ 0x994b80] marker parser used 67 bytes (536 bits)
  52. // [mjpeg @ 0x994b80] marker=c0 avail_size_in_buf=43144
  53. // [mjpeg @ 0x994b80] sof0: picture: 500x494
  54. // [mjpeg @ 0x994b80] component 0 2:2 id: 0 quant:0
  55. // [mjpeg @ 0x994b80] component 1 1:1 id: 1 quant:1
  56. // [mjpeg @ 0x994b80] component 2 1:1 id: 2 quant:1
  57. // [mjpeg @ 0x994b80] pix fmt id 22111100
  58. // [mjpeg @ 0x994b80] marker parser used 17 bytes (136 bits)
  59. // [mjpeg @ 0x994b80] marker=c4 avail_size_in_buf=43125
  60. // [mjpeg @ 0x994b80] class=0 index=0 nb_codes=12
  61. // [mjpeg @ 0x994b80] marker parser used 31 bytes (248 bits)
  62. // [mjpeg @ 0x994b80] marker=c4 avail_size_in_buf=43092
  63. // [mjpeg @ 0x994b80] class=1 index=0 nb_codes=251
  64. // [mjpeg @ 0x994b80] marker parser used 181 bytes (1448 bits)
  65. // [mjpeg @ 0x994b80] marker=c4 avail_size_in_buf=42909
  66. // [mjpeg @ 0x994b80] class=0 index=1 nb_codes=12
  67. // [mjpeg @ 0x994b80] marker parser used 31 bytes (248 bits)
  68. // [mjpeg @ 0x994b80] marker=c4 avail_size_in_buf=42876
  69. // [mjpeg @ 0x994b80] class=1 index=1 nb_codes=251
  70. // [mjpeg @ 0x994b80] marker parser used 181 bytes (1448 bits)
  71. // [mjpeg @ 0x994b80] escaping removed 202 bytes
  72. // [mjpeg @ 0x994b80] marker=da avail_size_in_buf=42693
  73. // [mjpeg @ 0x994b80] component: 0
  74. // [mjpeg @ 0x994b80] component: 1
  75. // [mjpeg @ 0x994b80] component: 2
  76. // [mjpeg @ 0x994b80] marker parser used 42490 bytes (339914 bits)
  77. // [mjpeg @ 0x994b80] marker=d9 avail_size_in_buf=0
  78. // [mjpeg @ 0x994b80] mjpeg decode frame unused 0 bytes
  79. // [flac @ 0x991040] max_analyze_duration reached
  80. // [flac @ 0x992fc0] invalid sync code
  81. // [flac @ 0x992fc0] invalid frame header
  82. // [flac @ 0x992fc0] decode_frame() failed
Advertisement
Add Comment
Please, Sign In to add comment