OLD | NEW |
1 /* | 1 /* |
2 * Provide registration of all codecs, parsers and bitstream filters for libavco
dec. | 2 * Provide registration of all codecs, parsers and bitstream filters for libavco
dec. |
3 * Copyright (c) 2002 Fabrice Bellard | 3 * Copyright (c) 2002 Fabrice Bellard |
4 * | 4 * |
5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
6 * | 6 * |
7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
(...skipping 27 matching lines...) Expand all Loading... |
38 if(CONFIG_##X##_DECODER) avcodec_register(&ff_##x##_decoder); } | 38 if(CONFIG_##X##_DECODER) avcodec_register(&ff_##x##_decoder); } |
39 #define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x) | 39 #define REGISTER_ENCDEC(X,x) REGISTER_ENCODER(X,x); REGISTER_DECODER(X,x) |
40 | 40 |
41 #define REGISTER_PARSER(X,x) { \ | 41 #define REGISTER_PARSER(X,x) { \ |
42 extern AVCodecParser ff_##x##_parser; \ | 42 extern AVCodecParser ff_##x##_parser; \ |
43 if(CONFIG_##X##_PARSER) av_register_codec_parser(&ff_##x##_parser); } | 43 if(CONFIG_##X##_PARSER) av_register_codec_parser(&ff_##x##_parser); } |
44 #define REGISTER_BSF(X,x) { \ | 44 #define REGISTER_BSF(X,x) { \ |
45 extern AVBitStreamFilter ff_##x##_bsf; \ | 45 extern AVBitStreamFilter ff_##x##_bsf; \ |
46 if(CONFIG_##X##_BSF) av_register_bitstream_filter(&ff_##x##_bsf);
} | 46 if(CONFIG_##X##_BSF) av_register_bitstream_filter(&ff_##x##_bsf);
} |
47 | 47 |
| 48 #ifdef PTW32_STATIC_LIB |
| 49 #include "pthread.h" |
| 50 static void detach_ptw32(void) |
| 51 { |
| 52 pthread_win32_thread_detach_np(); |
| 53 pthread_win32_process_detach_np(); |
| 54 } |
| 55 #endif |
| 56 |
48 void avcodec_register_all(void) | 57 void avcodec_register_all(void) |
49 { | 58 { |
50 static int initialized; | 59 static int initialized; |
51 | 60 |
52 if (initialized) | 61 if (initialized) |
53 return; | 62 return; |
54 initialized = 1; | 63 initialized = 1; |
55 | 64 |
| 65 #ifdef PTW32_STATIC_LIB |
| 66 pthread_win32_process_attach_np(); |
| 67 pthread_win32_thread_attach_np(); |
| 68 atexit(detach_ptw32); |
| 69 #endif |
56 /* hardware accelerators */ | 70 /* hardware accelerators */ |
57 REGISTER_HWACCEL (H263_VAAPI, h263_vaapi); | 71 REGISTER_HWACCEL (H263_VAAPI, h263_vaapi); |
58 REGISTER_HWACCEL (H264_DXVA2, h264_dxva2); | 72 REGISTER_HWACCEL (H264_DXVA2, h264_dxva2); |
59 REGISTER_HWACCEL (H264_VAAPI, h264_vaapi); | 73 REGISTER_HWACCEL (H264_VAAPI, h264_vaapi); |
60 REGISTER_HWACCEL (H264_VDA, h264_vda); | 74 REGISTER_HWACCEL (H264_VDA, h264_vda); |
61 REGISTER_HWACCEL (MPEG1_VDPAU, mpeg1_vdpau); | 75 REGISTER_HWACCEL (MPEG1_VDPAU, mpeg1_vdpau); |
62 REGISTER_HWACCEL (MPEG2_DXVA2, mpeg2_dxva2); | 76 REGISTER_HWACCEL (MPEG2_DXVA2, mpeg2_dxva2); |
63 REGISTER_HWACCEL (MPEG2_VAAPI, mpeg2_vaapi); | 77 REGISTER_HWACCEL (MPEG2_VAAPI, mpeg2_vaapi); |
64 REGISTER_HWACCEL (MPEG2_VDPAU, mpeg2_vdpau); | 78 REGISTER_HWACCEL (MPEG2_VDPAU, mpeg2_vdpau); |
65 REGISTER_HWACCEL (MPEG4_VAAPI, mpeg4_vaapi); | 79 REGISTER_HWACCEL (MPEG4_VAAPI, mpeg4_vaapi); |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
458 REGISTER_BSF (IMX_DUMP_HEADER, imx_dump_header); | 472 REGISTER_BSF (IMX_DUMP_HEADER, imx_dump_header); |
459 REGISTER_BSF (MJPEG2JPEG, mjpeg2jpeg); | 473 REGISTER_BSF (MJPEG2JPEG, mjpeg2jpeg); |
460 REGISTER_BSF (MJPEGA_DUMP_HEADER, mjpega_dump_header); | 474 REGISTER_BSF (MJPEGA_DUMP_HEADER, mjpega_dump_header); |
461 REGISTER_BSF (MP3_HEADER_COMPRESS, mp3_header_compress); | 475 REGISTER_BSF (MP3_HEADER_COMPRESS, mp3_header_compress); |
462 REGISTER_BSF (MP3_HEADER_DECOMPRESS, mp3_header_decompress); | 476 REGISTER_BSF (MP3_HEADER_DECOMPRESS, mp3_header_decompress); |
463 REGISTER_BSF (MOV2TEXTSUB, mov2textsub); | 477 REGISTER_BSF (MOV2TEXTSUB, mov2textsub); |
464 REGISTER_BSF (NOISE, noise); | 478 REGISTER_BSF (NOISE, noise); |
465 REGISTER_BSF (REMOVE_EXTRADATA, remove_extradata); | 479 REGISTER_BSF (REMOVE_EXTRADATA, remove_extradata); |
466 REGISTER_BSF (TEXT2MOVSUB, text2movsub); | 480 REGISTER_BSF (TEXT2MOVSUB, text2movsub); |
467 } | 481 } |
OLD | NEW |