Mercurial > libavcodec.hg
comparison avcodec.h @ 803:08423289ec57 libavcodec
exporting the internal qscale table, this allso fixes the ordering
| author | michaelni |
|---|---|
| date | Wed, 30 Oct 2002 20:41:40 +0000 |
| parents | b6eefd714bf3 |
| children | 770578c6c300 |
comparison
equal
deleted
inserted
replaced
| 802:99db75050d38 | 803:08423289ec57 |
|---|---|
| 3 | 3 |
| 4 #include "common.h" | 4 #include "common.h" |
| 5 | 5 |
| 6 #define LIBAVCODEC_VERSION_INT 0x000406 | 6 #define LIBAVCODEC_VERSION_INT 0x000406 |
| 7 #define LIBAVCODEC_VERSION "0.4.6" | 7 #define LIBAVCODEC_VERSION "0.4.6" |
| 8 #define LIBAVCODEC_BUILD 4632 | 8 #define LIBAVCODEC_BUILD 4633 |
| 9 #define LIBAVCODEC_BUILD_STR "4632" | 9 #define LIBAVCODEC_BUILD_STR "4633" |
| 10 | 10 |
| 11 enum CodecID { | 11 enum CodecID { |
| 12 CODEC_ID_NONE, | 12 CODEC_ID_NONE, |
| 13 CODEC_ID_MPEG1VIDEO, | 13 CODEC_ID_MPEG1VIDEO, |
| 14 CODEC_ID_H263, | 14 CODEC_ID_H263, |
| 465 * encoding: unused | 465 * encoding: unused |
| 466 * decoding: set by user | 466 * decoding: set by user |
| 467 */ | 467 */ |
| 468 int error_resilience; | 468 int error_resilience; |
| 469 | 469 |
| 470 #ifndef MBC | 470 /** |
| 471 #define MBC 128 | 471 * obsolete, just here to keep ABI compatible (should be removed perhaps, dunno) |
| 472 #define MBR 96 | 472 */ |
| 473 #endif | 473 int *quant_store; |
| 474 #define QP_TYPE int //FIXME note xxx this might be changed to int8_t | 474 |
| 475 | 475 /** |
| 476 QP_TYPE *quant_store; /* field for communicating with external postprocessing */ | 476 * QP store stride |
| 477 | 477 * encoding: unused |
| 478 unsigned qstride; | 478 * decoding: set by lavc |
| 479 */ | |
| 480 int qstride; | |
| 479 | 481 |
| 480 /** | 482 /** |
| 481 * buffer, where the next picture should be decoded into | 483 * buffer, where the next picture should be decoded into |
| 482 * encoding: unused | 484 * encoding: unused |
| 483 * decoding: set by user in get_buffer_callback to a buffer into which the next part | 485 * decoding: set by user in get_buffer_callback to a buffer into which the next part |
| 733 */ | 735 */ |
| 734 int error_concealment; | 736 int error_concealment; |
| 735 #define FF_EC_GUESS_MVS 1 | 737 #define FF_EC_GUESS_MVS 1 |
| 736 #define FF_EC_DEBLOCK 2 | 738 #define FF_EC_DEBLOCK 2 |
| 737 | 739 |
| 738 //FIXME this should be reordered after kabis API is finished ... | 740 /** |
| 739 //TODO kill kabi | 741 * QP table of the currently decoded frame |
| 740 /* | 742 * encoding; unused |
| 741 Note: Below are located reserved fields for further usage | 743 * decoding: set by lavc |
| 742 It requires for ABI !!! | 744 */ |
| 743 If you'll perform some changes then borrow new space from these fields | 745 int8_t *current_qscale_table; |
| 744 (void * can be safety replaced with struct * ;) | 746 /** |
| 745 P L E A S E ! ! ! | 747 * QP table of the currently displayed frame |
| 746 Note: use avcodec_alloc_context instead of malloc to allocate this, | 748 * encoding; unused |
| 747 otherwise the ABI compatibility will be broken between versions | 749 * decoding: set by lavc |
| 748 IMPORTANT: Never change order of already declared fields!!! | 750 */ |
| 749 */ | 751 int8_t *display_qscale_table; |
| 750 //TODO: remove mess below | |
| 751 unsigned long long int | |
| 752 ull_res0,ull_res1,ull_res2,ull_res3,ull_res4,ull_res5, | |
| 753 ull_res6,ull_res7,ull_res8,ull_res9,ull_res10,ull_res11; | |
| 754 float | |
| 755 flt_res0,flt_res1,flt_res2,flt_res3,flt_res4,flt_res5, | |
| 756 flt_res6,flt_res7,flt_res8,flt_res9,flt_res10,flt_res11,flt_res12; | |
| 757 void | |
| 758 *ptr_res0,*ptr_res1,*ptr_res2,*ptr_res3,*ptr_res4,*ptr_res5, | |
| 759 *ptr_res6,*ptr_res7,*ptr_res8,*ptr_res9,*ptr_res10,*ptr_res11,*ptr_res12; | |
| 760 unsigned long int | |
| 761 ul_res0,ul_res1,ul_res2,ul_res3,ul_res4,ul_res5, | |
| 762 ul_res6,ul_res7,ul_res8,ul_res9,ul_res10,ul_res11,ul_res12; | |
| 763 unsigned short int | |
| 764 us_res0,us_res1,us_res2,us_res3,us_res4,us_res5, | |
| 765 us_res6,us_res7,us_res8,us_res9,us_res10,us_res11,us_res12; | |
| 766 unsigned char | |
| 767 uc_res0,uc_res1,uc_res2,uc_res3,uc_res4,uc_res5, | |
| 768 uc_res6,uc_res7,uc_res8,uc_res9,uc_res10,uc_res11,uc_res12; | |
| 769 unsigned int | |
| 770 ui_res0,ui_res1,ui_res2,ui_res3,ui_res4,ui_res5,ui_res6,ui_res7,ui_res8,ui_res9, | |
| 771 ui_res10,ui_res11,ui_res12,ui_res13,ui_res14,ui_res15,ui_res16; | |
| 772 } AVCodecContext; | 752 } AVCodecContext; |
| 773 | 753 |
| 774 typedef struct AVCodec { | 754 typedef struct AVCodec { |
| 775 char *name; | 755 char *name; |
| 776 int type; | 756 int type; |
| 781 int (*close)(AVCodecContext *); | 761 int (*close)(AVCodecContext *); |
| 782 int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, | 762 int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, |
| 783 UINT8 *buf, int buf_size); | 763 UINT8 *buf, int buf_size); |
| 784 int capabilities; | 764 int capabilities; |
| 785 struct AVCodec *next; | 765 struct AVCodec *next; |
| 786 /* | |
| 787 Note: Below are located reserved fields for further usage | |
| 788 It requires for ABI !!! | |
| 789 If you'll perform some changes then borrow new space from these fields | |
| 790 (void * can be safety replaced with struct * ;) | |
| 791 P L E A S E ! ! ! | |
| 792 IMPORTANT: Never change order of already declared fields!!! | |
| 793 */ | |
| 794 unsigned long long int | |
| 795 ull_res0,ull_res1,ull_res2,ull_res3,ull_res4,ull_res5, | |
| 796 ull_res6,ull_res7,ull_res8,ull_res9,ull_res10,ull_res11,ull_res12; | |
| 797 float | |
| 798 flt_res0,flt_res1,flt_res2,flt_res3,flt_res4,flt_res5, | |
| 799 flt_res6,flt_res7,flt_res8,flt_res9,flt_res10,flt_res11,flt_res12; | |
| 800 void | |
| 801 *ptr_res0,*ptr_res1,*ptr_res2,*ptr_res3,*ptr_res4,*ptr_res5, | |
| 802 *ptr_res6,*ptr_res7,*ptr_res8,*ptr_res9,*ptr_res10,*ptr_res11,*ptr_res12; | |
| 803 } AVCodec; | 766 } AVCodec; |
| 804 | 767 |
| 805 /* three components are given, that's all */ | 768 /* three components are given, that's all */ |
| 806 typedef struct AVPicture { | 769 typedef struct AVPicture { |
| 807 UINT8 *data[3]; | 770 UINT8 *data[3]; |
| 953 | 916 |
| 954 void avcodec_register_all(void); | 917 void avcodec_register_all(void); |
| 955 | 918 |
| 956 void avcodec_flush_buffers(AVCodecContext *avctx); | 919 void avcodec_flush_buffers(AVCodecContext *avctx); |
| 957 | 920 |
| 958 #ifdef FF_POSTPROCESS | 921 // deprecated / obsolete stuff, WILL be removed |
| 959 extern int quant_store[MBR+1][MBC+1]; // [Review] | 922 #ifndef MBC |
| 923 #define MBC 128 | |
| 924 #define MBR 96 | |
| 960 #endif | 925 #endif |
| 961 | 926 #define QP_TYPE int |
| 962 | 927 |
| 963 /** | 928 /** |
| 964 * Interface for 0.5.0 version | 929 * Interface for 0.5.0 version |
| 965 * | 930 * |
| 966 * do not even think about it's usage for this moment | 931 * do not even think about it's usage for this moment |
