Loading AviDecaps.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -9,14 +9,13 @@ * Authors: * * Marc Dukette **************************************************************************************/ #include "kos.h" #include "AVIDecaps.h" #include "inputmedia.h" #include <kos.h> #include "AviDecaps.h" #include "InputMedia.h" videoinfo thisvid; char data[256]; //#include "inputmedia.h" /* * Some useful functions */ Loading AviDecaps_index.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ #include "AviDecaps.h" #include "inputmedia.h" #include "InputMedia.h" int CacheSize; videoinfo thisvid; Loading DivxDecoder/mp4_recon.c +56 −66 Original line number Diff line number Diff line Loading @@ -234,72 +234,6 @@ static void CopyMBlockHorVerRound(unsigned char * Src, unsigned char * Dst, int } } /**/ void recon_comp (unsigned char *src, unsigned char *dst, int lx, int w, int x, int y, int dx, int dy); /**/ void reconstruct (int bx, int by, int mode) { int dx, dy, comp, sum; int x, y, px, py; x = bx + 1; y = by + 1; // Luma px = bx << 4; py = by << 4; if (mode == INTER4V) { for (comp = 0; comp < 4; comp++) { dx = MV[x][y][comp][0]; dy = MV[x][y][comp][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 8, px + ((comp & 1) << 3), py + ((comp & 2) << 2), dx, dy); } } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 16, px, py, dx, dy); } // Chr px = bx << 3; py = by << 3; if (mode == INTER4V) { sum = MV[x][y][0][0] + MV[x][y][1][0] + MV[x][y][2][0] + MV[x][y][3][0]; if (sum == 0) dx = 0; else dx = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); sum = MV[x][y][0][1] + MV[x][y][1][1] + MV[x][y][2][1] + MV[x][y][3][1]; if (sum == 0) dy = 0; else dy = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; // chroma rounding dx = ((dx & 0x3) == 0 ? dx >> 1 : (dx >> 1) | 1); dy = ((dy & 0x3) == 0 ? dy >> 1 : (dy >> 1) | 1); } recon_comp (frame_for[1], frame_ref[1], coded_picture_width>>1, 8, px, py, dx, dy); recon_comp (frame_for[2], frame_ref[2], coded_picture_width>>1, 8, px, py, dx, dy); } /**/ static void recon_comp (unsigned char *src, unsigned char *dst, int lx, int w, int x, int y, int dx, int dy) Loading Loading @@ -365,3 +299,59 @@ static void recon_comp (unsigned char *src, unsigned char *dst, } } void reconstruct (int bx, int by, int mode) { int dx, dy, comp, sum; int x, y, px, py; x = bx + 1; y = by + 1; // Luma px = bx << 4; py = by << 4; if (mode == INTER4V) { for (comp = 0; comp < 4; comp++) { dx = MV[x][y][comp][0]; dy = MV[x][y][comp][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 8, px + ((comp & 1) << 3), py + ((comp & 2) << 2), dx, dy); } } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 16, px, py, dx, dy); } // Chr px = bx << 3; py = by << 3; if (mode == INTER4V) { sum = MV[x][y][0][0] + MV[x][y][1][0] + MV[x][y][2][0] + MV[x][y][3][0]; if (sum == 0) dx = 0; else dx = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); sum = MV[x][y][0][1] + MV[x][y][1][1] + MV[x][y][2][1] + MV[x][y][3][1]; if (sum == 0) dy = 0; else dy = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; // chroma rounding dx = ((dx & 0x3) == 0 ? dx >> 1 : (dx >> 1) | 1); dy = ((dy & 0x3) == 0 ? dy >> 1 : (dy >> 1) | 1); } recon_comp (frame_for[1], frame_ref[1], coded_picture_width>>1, 8, px, py, dx, dy); recon_comp (frame_for[2], frame_ref[2], coded_picture_width>>1, 8, px, py, dx, dy); } MADDecoder/huffman.h→MADDecoder/Huffman.h +0 −0 File moved. View file MADDecoder/huffman.c +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ # include "global1.h" # include "huffman.h" # include "Huffman.h" /* * These are the Huffman code words for Layer III. Loading Loading
AviDecaps.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -9,14 +9,13 @@ * Authors: * * Marc Dukette **************************************************************************************/ #include "kos.h" #include "AVIDecaps.h" #include "inputmedia.h" #include <kos.h> #include "AviDecaps.h" #include "InputMedia.h" videoinfo thisvid; char data[256]; //#include "inputmedia.h" /* * Some useful functions */ Loading
AviDecaps_index.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ #include "AviDecaps.h" #include "inputmedia.h" #include "InputMedia.h" int CacheSize; videoinfo thisvid; Loading
DivxDecoder/mp4_recon.c +56 −66 Original line number Diff line number Diff line Loading @@ -234,72 +234,6 @@ static void CopyMBlockHorVerRound(unsigned char * Src, unsigned char * Dst, int } } /**/ void recon_comp (unsigned char *src, unsigned char *dst, int lx, int w, int x, int y, int dx, int dy); /**/ void reconstruct (int bx, int by, int mode) { int dx, dy, comp, sum; int x, y, px, py; x = bx + 1; y = by + 1; // Luma px = bx << 4; py = by << 4; if (mode == INTER4V) { for (comp = 0; comp < 4; comp++) { dx = MV[x][y][comp][0]; dy = MV[x][y][comp][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 8, px + ((comp & 1) << 3), py + ((comp & 2) << 2), dx, dy); } } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 16, px, py, dx, dy); } // Chr px = bx << 3; py = by << 3; if (mode == INTER4V) { sum = MV[x][y][0][0] + MV[x][y][1][0] + MV[x][y][2][0] + MV[x][y][3][0]; if (sum == 0) dx = 0; else dx = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); sum = MV[x][y][0][1] + MV[x][y][1][1] + MV[x][y][2][1] + MV[x][y][3][1]; if (sum == 0) dy = 0; else dy = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; // chroma rounding dx = ((dx & 0x3) == 0 ? dx >> 1 : (dx >> 1) | 1); dy = ((dy & 0x3) == 0 ? dy >> 1 : (dy >> 1) | 1); } recon_comp (frame_for[1], frame_ref[1], coded_picture_width>>1, 8, px, py, dx, dy); recon_comp (frame_for[2], frame_ref[2], coded_picture_width>>1, 8, px, py, dx, dy); } /**/ static void recon_comp (unsigned char *src, unsigned char *dst, int lx, int w, int x, int y, int dx, int dy) Loading Loading @@ -365,3 +299,59 @@ static void recon_comp (unsigned char *src, unsigned char *dst, } } void reconstruct (int bx, int by, int mode) { int dx, dy, comp, sum; int x, y, px, py; x = bx + 1; y = by + 1; // Luma px = bx << 4; py = by << 4; if (mode == INTER4V) { for (comp = 0; comp < 4; comp++) { dx = MV[x][y][comp][0]; dy = MV[x][y][comp][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 8, px + ((comp & 1) << 3), py + ((comp & 2) << 2), dx, dy); } } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; recon_comp (frame_for[0], frame_ref[0], coded_picture_width, 16, px, py, dx, dy); } // Chr px = bx << 3; py = by << 3; if (mode == INTER4V) { sum = MV[x][y][0][0] + MV[x][y][1][0] + MV[x][y][2][0] + MV[x][y][3][0]; if (sum == 0) dx = 0; else dx = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); sum = MV[x][y][0][1] + MV[x][y][1][1] + MV[x][y][2][1] + MV[x][y][3][1]; if (sum == 0) dy = 0; else dy = sign (sum) * (roundtab[abs (sum) & 0xF] + ((abs (sum) >> 4) <<1)); } else { dx = MV[x][y][0][0]; dy = MV[x][y][0][1]; // chroma rounding dx = ((dx & 0x3) == 0 ? dx >> 1 : (dx >> 1) | 1); dy = ((dy & 0x3) == 0 ? dy >> 1 : (dy >> 1) | 1); } recon_comp (frame_for[1], frame_ref[1], coded_picture_width>>1, 8, px, py, dx, dy); recon_comp (frame_for[2], frame_ref[2], coded_picture_width>>1, 8, px, py, dx, dy); }
MADDecoder/huffman.c +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ # include "global1.h" # include "huffman.h" # include "Huffman.h" /* * These are the Huffman code words for Layer III. Loading